Tuesday, 23 September 2025

Chapter 7 - Exercise 2

Exercise 7.2

(a) Formulate the double negation law (DN) as an axiom in λC.

(b) Verify that the following expression is a tautology in classical logic, by giving a corresponding flag-style derivation in λC (use DN):

$$(¬A ⇒A) ⇒A$$


(a) The double negation law is, for some proposition $A$,

$$\neg \neg A \implies A$$

Using the fact that $\neg A$ is encoded as $A \implies \bot$, the double negation law can be encoded as the following type being inhabited

$$((A \to \bot) \to \bot) \implies A$$

We can further abstract away the $A$, as follows

$$\Pi \alpha : *. ((\alpha \to \bot) \to \bot) \to \alpha$$


(b) The following is a flag-format derivation showing that $(¬A ⇒A) ⇒A$ is a tautology. It uses $i_{DN}$ instantiated with $A:*$.