[( F# における ) Modus Ponens と Cut ] Nobuhisa Koizumi
[(F#における)Modus Ponensと Cut ]
Nobuhisa Koizumi
Profile
• ハイパーK泉さん
• 近況:ピーナッツ
[(F#における)Modus Ponensと Cut ]
Nobuhisa Koizumi
Modus Ponens
Modus Ponens
A → A → B → B
A A → B
B
A → (A → B) → B
(A → B) → B
※ A ⋀ A → B → B
Modus Ponens
A → A → B → B
> 1 |> (fun x -> (x, x)) ;;val it : int * int = (1, 1)
Modus Ponens
A → A → B → B
> 1 |> (fun x -> (x, x)) ;;val it : int * int = (1, 1)
> ( |> ) ;;val it : ('a -> ('a -> 'b) -> 'b) = <fun:it@21-2>
[(F#における)Modus Ponensと Cut ]
Nobuhisa Koizumi
Cut
Γ → Δ, 𝐴 𝐴, Π → ∑
Γ, Π → Δ,∑
Cut
(A → B) → B → C → (A → C)
A A → B
B
(B → C) → (A → C)
※ A → B ⋀ B → C → (A → C)
Γ → Δ, 𝐴 𝐴, Π → ∑
Γ, Π → Δ,∑
B → C
C
A → C
(A → B) → (B → C) → (A → C)
Cut
(A → B) → B → C → (A → C)
> (1, 2) |> (fst >> float) ;;val it : float = 1.0
Cut
(A → B) → B → C → (A → C)
> (1, 2) |> (fst >> float) ;;val it : float = 1.0
> ( >> ) ;;val it : (('a -> 'b) -> ('b -> 'c) -> 'a -> 'c) = <fun:it@30-5>
カリー・ハワード同型対応(Curry–Howard isomorphism)
命題論理 ↔ 型付きラムダ計算
“37221” 事件
F# 37221
F# 37221
ダメ!ゼッタイ!
[(F#における)Modus Ponensと Cut ]
Nobuhisa Koizumi
おしまい