Ⅰ (1)
foo [] = False
foo (x:xs) = x>=80 || foo xs
(2)
bar xs = [ (x,y) | x<-xs, y<-xs, x<y, gcd x y = 1 ]
Ⅱ (1)
(λxy.yx)(λxy.y)(λzw.z)
→ (λy.y(λxy.y))(λzw.z)
→ (λzw.z)(λxy.y)
→ λwxy.y
(2)
(λnfx.n(λgh.h(gf))(λw.z)(λx.x))(λfx.f(fx))
→ λfx.(λfx.f(fx))(λgh.h(gf))(λw.z)(λx.x)
→ λfx.(λx.(λgh.h(gf))((λgh.h(gf))x))(λw.z)(λx.x)
→ λfx.(λgh.h(gf))((λgh.h(gf))(λw.z))(λx.x)
→ λfx.(λh.h((λgh.h(gf))(λw.z)f))(λx.x)
→ λfx.(λx.x)((λgh.h(gf))(λw.z)f)
→ λfx.(λgh.h(gf))(λw.z)f
→ λfx.(λh.h((λw.z)f))f
→ λfx.f((λw.z)f)
→ λfx.fz
Ⅲ (1) 12 (2) [(1,4),(1,6),(2,6)]