プログラミング言語意味論 (2018 年度) テスト解答例(一部)


(1)
(λ a b. b a) (λ f x. x) (λ f x. f (f x))
(λ b. b (λ f x. x)) (λ f x. f (f x))
(λ f x. f (f x)) (λ f x. x)
λ x. (λf x. x) ((λ f x. x) x)
λ x y. y
(2)
(λ x y z. x z (y z)) (λ a b c. a c (b c)) (λ x y. x y)
(λ y z. (λ a b c. a c (b c)) z (y z)) (λ x y. x y)
λ z. (λ a b c. a c (b c)) z ((λ x y. x y) z)
λ z. (λ b c. z c (b c)) ((λ x y. x y) z)
λ z c. z c ((λ x y. x y) z c)
λ z c. z c ((λ y. z y) c)
λ z c. z c (z c)