rem Two
lemma1 = let step1 = UseTheorem (inst2 (Not x) (Not (false Y)) axiom1)
             step2 = Assume (Not x)
             step3 = MP step1 step2
             step4 = matchMP axiom3 step3
         in verify step4

-- | ⊢ (¬P → ¬Q) -> (¬P → Q) → P
-- | M
lemma1 :: Theorem Two
lemma1 = let step1 = UseTheorem (inst2 (Not x) (Not (false Y)) axiom1)
             step2 = Assume (Not x)
             step3 = MP step1 step2
             step4 = matchMP axiom3 step3
         in verify step4
lemma1 = let step1 = UseTheorem (inst2 (Not x) (Not (false Y)) axiom1)
             step2 = Assume (Not x)
             step3 = MP step1 step2
             step4 = matchMP axiom3 step3
         in verify step4