試しに動かしてみた
※ルビ多
画像×1
gif×3
■前回で作った言語
・「さトぅーさんの机」「ヤシの実」「風属性」はformula
・「さトぅーさんの机」「ヤシの実」「風属性」はそれぞれ異なるformula
・「さトぅーさんの机」「ヤシの実」「風属性」以外はformulaではない
○健全な研究室
エーリル
「かなりいい感じになってる気がする」
天々城
「この図の良いところは全体が見渡せるところだナ。ただ弱点もある」
・文字列で表現するのに向いてない
エーリル
「矢印見やすいのになあ。図は文字にするのは難しそうだし、仕方ないか」
天々城
「だから『文字列で考えを表現する』ことが次のミッション」
エーリル
「ふむふむ」
天々城
「ゲームでいうと、どのボタンを押したか全部書くような感じになる。
試しにやってみると」
■例
行数をN1、N2、……と書くことにする
N1 さトぅーさんの机
N2 ヤシの実
N3 ヤシの実
N4 う゛ぁあああああ
天々城
「こんな感じ」
エーリル
「なんの捻りもなくストレート」
天々城
「N4がformulaじゃないのは設定済みだから、N4は弾かれる。それよりヤバイのは」
・formula同士が繋がり(inference rule)が書けてない
エーリル
「矢印の表現は欲しいなあ。考えの表現するなら大事なところだと思うの」
天々城
「ということで、繋がりも文字で表現できるように改良する」
■改良例1
[(矢印の名前) (矢印の根元に使った行数)]を書くことにする
N1 さトぅーさんの机 []
N2 ヤシの実 [中身 N1]
N3 風属性 [中身 N2]
天々城
「書いてみたものの……」
エーリル
「N1のinference ruleはどうしたの?」
天々城
「どうしようもなかった。
N1より前に矢印を遡れない」
エーリル
「んー。矢印でできた道にはスタート地点が要るの?」
天々城
「それだ、それがいる。
axiomと呼ばれてる論理式の集まりを決めないといけない」
エーリル
「あぁ、だからN3が変なことになってるのね」
天々城
「inference ruleの矢印の『根元』と『先』に矢印を書くことにしてたから、N3は両方ともルール違反。
そういうのを修正すると」
■改良例2:axiom{さトぅーさんの机}
N1 さトぅーさんの机 [axiom]
N2 ヤシの実 [中身 N1]
N3 ヤシの実 [中身 N1]
N4 さトぅーさんの机 [割る N2]
天々城
「いい感じに仕上がった」
エーリル
「これをさっきの図に読ませれば、考えてる感じになりそう」
天々城
「formulaの列で、改良例2みたいなのをproofという。
proofの最後の行のformulaはtheoremという。
今はちゃんとproofやtheoremを伝えられないから、雰囲気だけ味わって欲しい」
エーリル
「やっぱり矢印大事だった」
天々城
「これから数学で使う言語を紹介するが、やる事は大体同じ」
■やさしい言語の作り方
・使う文字を決める
・文法を決める:formula,proof,theorem
・文の繋がりを決める:inference rule
・話のスタートを決める:axiom
エーリル
「そう言えばさトぅーさんは?」
天々城
「これは柑橘系の香り」
さトぅー
「暇だからミカン食べてた」
エーリル
「なにそれおいしそう」