:
の健全性
:
A Theory of Type
Well-Typing アルゴリズムとその正当性
この節では,prefixed expression の well typing を見つけるという 問いに挑戦する.アルゴリズム
を提案する.
の文法的健全性と,完全性を示す.
健全性のためには
が成功するときは,いつも wt. 完全性のためには,wt が存在するときは,いつも
が,少なくと も一つ見つけることができる.
は,(多分)完全であるが簡単な証明は難しい.本論文では, 健全性に絞る.
をシミュレートする型チェックアルゴリズムは, LCF メタ言語 ML として,2 年間成功している.その有用性が証明されている.
は,Robinson の単一化アルゴリズムを基にしている.
の完全性の証明では,以下の命題の 第二の部分を必要とするが,健全性の証 明では,第一の性質を必要とするのみである.
命題5
(Robinson)
式のペア
と
に対して,以下を満たす置換
を生ずるアル ゴリズム
がある.
もし
が成功したとすると,
は
と
を単一化する(i.e.,
).
もし
が
と
を単一化すると,
が成功し,ある置換
を生成することができる (ある置換
に対して
が成立).
さらに,
は
と
にある変数を含むのみである.
プログラム
の well typing を見つけるためには,型付けされた prefix
を仮定しなければならない.
は,
が wt である
を生ずる と期待する.
は,置換
を返し,必要な変換を示す.正確には, もし,
が成功したとすると,
を返し,
は wt である,とする.
previously に出現しなかった型変数を必要とする.そのような型変数 を
によって表わし,
とする.
を
に関して帰納的に定義する.
後でより効率的なアルゴリズム
を紹介する.
アルゴリズム
以下を満たす.
もし
が
の場合,
の健全性
平成12年8月22日