(s, s) ∈ R 対称 ∀s, t ∈ S (s, t) ∈ R ⇒ (t, s) ∈ R 反対称 ∀s, t ∈ S (s, t) ∈ R ∧ (t, s) ∈ R ⇒ s = t 推移 ∀s, t, u ∈ S (s, t) ∈ R ∧ (t, u) ∈ R ⇒ (s, u) ∈ R これらの組み合わせとして、 前順序 反射的・推移的 • 巡回のある有向グラフ 半順序 反射的・推移的・反対称的(全てのペアに順序が定まらなくても良い) • 有向非巡回グラフ • NaN のある浮動小数点数 全順序 半順序が ∀s, t ∈ S (s, t) ∈ R ∨ (t, s) ∈ R を満たすとき 同値関係 反射的・推移的・対称的 6
then t else t 0 succ t pred t iszero t • この章においては、 「項」は「式」と同義 • いかなる項も最終的には値—true、false、または数(succ∗0)—に評価される • 型がないので、if 0 then 0 else 0 のような(本来)正しくない項が許される 14
⊆ T 1.2 t1 ∈ T ⇒ {succ t1, pred t1, iszero t1} ⊆ T 1.3 t1, t2, t3 ∈ T ⇒ if t1 then t2 else t3 ∈ T 2. 以下の推論規則によって定義する。 true ∈ T false ∈ T 0 ∈ T t1 ∈ T succ t1 ∈ T t1 ∈ T pred t1 ∈ T t1 ∈ T iszero t1 ∈ T t1 ∈ T t2 ∈ T t3 ∈ T if t1 then t2 else t3 ∈ T 明らかに、この 2 つの定義は等価。 15
if false then t2 else t3 → t3 t1 → t′ 1 if t1 then t2 else t3 → if t′ 1 then t2 else t3 この 3 つの評価戦略を満たす最小の二項関係 → を 1 ステップ評価関係と呼び、 この関係の元である項は導出可能であるという。 1 ステップ評価戦略では、任意の項は必ず一通りの方法で値に評価される。 19