theory a1 imports Main begin section "Q1: \-Calculus" (* TODO: provide your answers here or in an separate PDF file *) section "Q2: Types" (* TODO: provide your answers here or in an separate PDF file *) section "Q3: Propositional Logic" (* You must use only these proof methods: - rule, erule, assumption, cases, frule, drule, rule_tac, erule_tac, frule_tac, drule_tac, rename_tac, case_tac You must use only these proof rules: - impI, impE, conjI, conjE, disjI1, disjI2, disjE, notI, notE iffI, iffE, iffD1, iffD2, ccontr, classical, FalseE, TrueI, conjunct1, conjunct2, mp *) lemma prop_a: "A \ \\A" (* TODO *) oops lemma prop_b: "\\\ A \ \A" (* TODO *) oops lemma prop_c: "\\ A \ A" (* TODO *) oops lemma prop_d: "\(A \ B) \ \ A \ \ B" (* TODO *) oops lemma prop_e: "(A \ B) \ (\ A \ B)" (* TODO *) oops lemma prop_f: "\A\\B \ \(A\B)" (* TODO *) oops lemma prop_g: "(A \ B) \ (((B \ C) \ A) \ B)" (* TODO *) oops section "Q4: Higer-Order Logic" (* You must use only these proof methods: - rule, erule, assumption, frule, drule, rule_tac, erule_tac, frule_tac, drule_tac, rename_tac, case_tac You must use only these proof rules: - impI, impE, conjI, conjE, disjI1, disjI2, disjE, notI, notE iffI, iffE, iffD1, iffD2, ccontr, classical, FalseE, TrueI, conjunct1, conjunct2, mp; - allI, allE, exI, and exE *) lemma hol_a: "(\x. P x \ Q) \ (\x. P x) \ Q" (* TODO *) oops lemma hol_b: "((\x. P x) \ Q) \ (\x. P x \ Q)" (* TODO *) oops lemma hol_c: "(\x. P x) \ \ (\x. \ P x)" (* TODO *) oops lemma hol_d: "(\x. P x \ Q x) \ (\x. P x) \ (\x. Q x)" (* TODO *) oops lemma hol_e: "(\x. P x \ Q x) \ (\x. P x) \ (\x. Q x)" (* TODO *) oops lemma hol_f: "(\x y. A y \ B x) \ (\x. B x) \ (\y. A y)" (* TODO *) oops end