Next Types Are Theorems; Programs Are Proofs 13

Another proof

1Assume a
2Assume b
3From (2) and (1), conclude b → a (→I)(discharges 2)
4From (1) and (3), conclude a → (b → a) (→I)(discharges 1)

1Assume a
2Assume b
3From (2) and (1), conclude b → a (→I)(discharges 2)
4From (2) and (3), conclude b → (b → a) (→I)(discharges 2)

1Assume a
2Assume b
3From (2) and (1), conclude b → a (→I)(discharges 2)
4From (2) and (3), conclude b → (b → a) (→I)(discharges 2)
5From (1) and (4), conclude a → (b → (b → a)) (→I)(discharges 1)

         foo a = \b -> (\b -> a)          :: a -> (b -> (b -> a))

Next Next