このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ゴール関係

implementation文書4章、ここに色々書いてあった。だけど、けっこう無茶苦茶。

  1. initial claim = final goal だぁーー。backward reasoningだから。
  2. {final,main,primary,initial}{goal,claim,statement,thesis,proposition}はどう組み合わせても、ほぼ同義
  3. 証明状態の終状態はsolved formと呼ぶ。
  4. tactic は refinement operation だ。ということは、refinmentという行為で証明(つうかリーズニング)を行う。
  5. refineに似た言葉で、derive, solve, resolve, duduce, reduct, normalize, rewrite, simplify
  6. tacticalはmethod combinator
  7. methodの意味はまだハッキリしない。
  8. goalはmain goalとsubgoalsからなる、と、まーた、再帰的つうか帰納的つうかワケワカなこと言っている。伝統か。
  9. goalのconclusionはいいが、goalのgoalはワケワカだ、いくらなんでも酷い。
  10. goalのgoalをmain goalとかmain conclusionとか言っている。
  11. subgoalsの全体をgoalのcontextとも言う。
  12. main goalの意味がやっぱり曖昧。
    1. 提示された定理(の命題)に対してリーズニング(証明行為)の初期状態のゴール
    2. ゴールの結論(conclusion)
    3. ある証明状態におけるoutermostなPureの含意式
  13. goalはtheoremだ、とか言っている。そう言われても、今度はtheoremの意味がワカラン。
  14. goalのconclusionはpropositionだ、と言っている。んで、propositionてナンだよ?
  15. protected propositionて全然聞いたこともない言葉が、、、
  16. structured claim ??
  17. Pure ruleとは、Mの実装であるPureが備える推論規則で、MLで書かれたもののこと、だと思う。
  18. あんれーーー? 定理って、MLのデータ構造であるthmのこと。だとしたら、実装ベッタリの用語法やん、どこが宣言的で文書指向なんだよ!?
  19. 「goal stateはtheoremで表される」。goal steteってまた新語。たぶん、proof steteと同義で、stateがgoalだ、と言いたいのだろう。それがtheoremだってのは、データ構造がMLのthmだということだろう。
  20. successor state このsteteは証明状態=ゴールのことか? successorとは言ってもbackwardだから、後続じゃなくて事前の状態かもしれない。リーズニングの時間的進行方向と、証明図の空間的流れ方向が逆だから混乱する。どっちの事かも判断できない。
  21. implyとentailとdeduceとconcludeをどう使い分ける?たぶん、使い分けてない。
  22. resultまたはresult sequenceとは、tactic(の実装関数)の戻り値のこと。
  23. refine a subgoalとsolve a subgoalは違う?
  24. goalはツリー構造だと思えばいいか。
  25. outermostなgoalと、subgoalとしてのgoalは構造が違うらしい。知らなかったよ。
  26. outermostなgoalはホーン節、内側のゴールはHereditary Harrop Formulaだと。ほんと知らねーよ。
  27. goalの場合は、context=subgoalsの要素=subgoalだけど、これをgoal hypothesisと呼ぶ。なんでだよー、なんでまた用語を増やすんだよ。
  28. それでさらに、context=goal hypotheses(複数形)をfactsと言う。factsって、やっぱりcontextだったのか。
  29. goalはツリー構造、つまり入れ子なのでブロック構造だと思って、内側のほうのgoalのcontext=factsの要素であるproposition(=formula=termだと思う)を、localなassumptionとも言う。そろそろ呆れてきた。
  30. なんでこんなにも同義語、類義語が多いのか、、、、

分かってきたのは、ウェンツェルは、定理=thm、コンテキスト=Proof.context というイメージで話していること。だから、「ゴールとは定理である」とか言えるわけだ。「定理」という名のデータ構造だから。「ルールも定理」とか「定理もルール」とかも、同じデータ構造thmを使って表現しているから言っているのね。

酷い話だ。説明する側が実装に基づいて話していて、聞いている側は実装について知らない。しかも、実装は知らなくていい、むしろ積極的に知らせない方針なのに。