Next Types Are Theorems; Programs Are Proofs 26

Example

((a ∨ (a → b)) → b) → b

1Assume (a ∨ (a → b)) → b)
2Assume a
3From (2), conclude a ∨ (a → b)
(∨I)

4From (3) and (1), conclude b
(→E)

5From (2) and (4), conclude a → b (→I)(discharge 2)
6From (5) conclude a ∨ (a → b) (∨I)
7From (6) and (1), conclude b
(→E)

8From (1) and (7), conclude (a ∨ (a → b)) → b) → b
(→I) (discharge 1)


Next Next