theory a1 imports Main begin section "Question 1: Lambda-Calculus" text {* submit as part of a .txt or .pdf file *} section "Question 2: Higher Order Unification" text {* submit as part of a .txt or .pdf file *} section "Question 3: Propositional Logic" lemma prop_a: "B \ (B \ A)" oops lemma prop_b: "(A = True) = A" oops lemma prop_c: "(A = False) = (\ A)" oops lemma prop_d: "P \ \\P" oops lemma prop_e: "\\P \ P" oops text {* Which of the above statements are provable only in a classical logic? *} section "Question 4: Higher Order Logic" lemma hol_a: "(\x. P x) \ (\x. Q x) \ (\x. P x \ Q x)" oops lemma hol_b: "(\P. P) = False" oops lemma hol_c: "(\x. Q x = P x) \ ((\x. P x) \ C) \ (\x. Q x) \ C" oops lemma hol_d: "(\x. \ (R x) \ R (M x)) \ (\x. \ R (M x) \ R x)" oops lemma hol_e: "\(\x. \ (R x) \ R (M x)); (\x. R x)\ \ (\x. R x \ R (M (M x)))" oops text {* Formalise and prove the following statement using only the proof methods and rules as earlier in this question. If every poor person has a rich mother, then there is a rich person with a rich grandmother. *} lemma "formalise_the_statement_here" oops end