%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG088+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n027.cluster.edu % Model : x86_64 x86_64 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz % Memory : 8042.1875MB % OS : Linux 3.10.0-693.el7.x86_64 % CPULimit : 300s % WCLimit : 600s % DateTime : Thu Jul 14 18:29:12 EDT 2022 % Result : Theorem 218.35s 218.57s % Output : Proof 218.44s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.11/0.11 % Problem : ALG088+1 : TPTP v8.1.0. Released v2.7.0. % 0.11/0.12 % Command : run_zenon %s %d % 0.12/0.33 % Computer : n027.cluster.edu % 0.12/0.33 % Model : x86_64 x86_64 % 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.12/0.33 % Memory : 8042.1875MB % 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.12/0.33 % CPULimit : 300 % 0.12/0.33 % WCLimit : 600 % 0.12/0.33 % DateTime : Wed Jun 8 01:38:11 EDT 2022 % 0.12/0.33 % CPUTime : % 218.35/218.57 (* PROOF-FOUND *) % 218.35/218.57 % SZS status Theorem % 218.35/218.57 (* BEGIN-PROOF *) % 218.35/218.57 % SZS output start Proof % 218.35/218.57 Theorem co1 : (((((h (e10)) = (e20))\/(((h (e10)) = (e21))\/(((h (e10)) = (e22))\/(((h (e10)) = (e23))\/((h (e10)) = (e24))))))/\((((h (e11)) = (e20))\/(((h (e11)) = (e21))\/(((h (e11)) = (e22))\/(((h (e11)) = (e23))\/((h (e11)) = (e24))))))/\((((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24))))))/\((((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24))))))/\((((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24))))))/\((((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14))))))/\((((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14))))))/\((((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14))))))/\((((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14))))))/\(((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))))))))))))->(~(((h (op1 (e10) (e10))) = (op2 (h (e10)) (h (e10))))/\(((h (op1 (e10) (e11))) = (op2 (h (e10)) (h (e11))))/\(((h (op1 (e10) (e12))) = (op2 (h (e10)) (h (e12))))/\(((h (op1 (e10) (e13))) = (op2 (h (e10)) (h (e13))))/\(((h (op1 (e10) (e14))) = (op2 (h (e10)) (h (e14))))/\(((h (op1 (e11) (e10))) = (op2 (h (e11)) (h (e10))))/\(((h (op1 (e11) (e11))) = (op2 (h (e11)) (h (e11))))/\(((h (op1 (e11) (e12))) = (op2 (h (e11)) (h (e12))))/\(((h (op1 (e11) (e13))) = (op2 (h (e11)) (h (e13))))/\(((h (op1 (e11) (e14))) = (op2 (h (e11)) (h (e14))))/\(((h (op1 (e12) (e10))) = (op2 (h (e12)) (h (e10))))/\(((h (op1 (e12) (e11))) = (op2 (h (e12)) (h (e11))))/\(((h (op1 (e12) (e12))) = (op2 (h (e12)) (h (e12))))/\(((h (op1 (e12) (e13))) = (op2 (h (e12)) (h (e13))))/\(((h (op1 (e12) (e14))) = (op2 (h (e12)) (h (e14))))/\(((h (op1 (e13) (e10))) = (op2 (h (e13)) (h (e10))))/\(((h (op1 (e13) (e11))) = (op2 (h (e13)) (h (e11))))/\(((h (op1 (e13) (e12))) = (op2 (h (e13)) (h (e12))))/\(((h (op1 (e13) (e13))) = (op2 (h (e13)) (h (e13))))/\(((h (op1 (e13) (e14))) = (op2 (h (e13)) (h (e14))))/\(((h (op1 (e14) (e10))) = (op2 (h (e14)) (h (e10))))/\(((h (op1 (e14) (e11))) = (op2 (h (e14)) (h (e11))))/\(((h (op1 (e14) (e12))) = (op2 (h (e14)) (h (e12))))/\(((h (op1 (e14) (e13))) = (op2 (h (e14)) (h (e13))))/\(((h (op1 (e14) (e14))) = (op2 (h (e14)) (h (e14))))/\(((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20))))/\(((j (op2 (e20) (e21))) = (op1 (j (e20)) (j (e21))))/\(((j (op2 (e20) (e22))) = (op1 (j (e20)) (j (e22))))/\(((j (op2 (e20) (e23))) = (op1 (j (e20)) (j (e23))))/\(((j (op2 (e20) (e24))) = (op1 (j (e20)) (j (e24))))/\(((j (op2 (e21) (e20))) = (op1 (j (e21)) (j (e20))))/\(((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21))))/\(((j (op2 (e21) (e22))) = (op1 (j (e21)) (j (e22))))/\(((j (op2 (e21) (e23))) = (op1 (j (e21)) (j (e23))))/\(((j (op2 (e21) (e24))) = (op1 (j (e21)) (j (e24))))/\(((j (op2 (e22) (e20))) = (op1 (j (e22)) (j (e20))))/\(((j (op2 (e22) (e21))) = (op1 (j (e22)) (j (e21))))/\(((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22))))/\(((j (op2 (e22) (e23))) = (op1 (j (e22)) (j (e23))))/\(((j (op2 (e22) (e24))) = (op1 (j (e22)) (j (e24))))/\(((j (op2 (e23) (e20))) = (op1 (j (e23)) (j (e20))))/\(((j (op2 (e23) (e21))) = (op1 (j (e23)) (j (e21))))/\(((j (op2 (e23) (e22))) = (op1 (j (e23)) (j (e22))))/\(((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23))))/\(((j (op2 (e23) (e24))) = (op1 (j (e23)) (j (e24))))/\(((j (op2 (e24) (e20))) = (op1 (j (e24)) (j (e20))))/\(((j (op2 (e24) (e21))) = (op1 (j (e24)) (j (e21))))/\(((j (op2 (e24) (e22))) = (op1 (j (e24)) (j (e22))))/\(((j (op2 (e24) (e23))) = (op1 (j (e24)) (j (e23))))/\(((j (op2 (e24) (e24))) = (op1 (j (e24)) (j (e24))))/\(((h (j (e20))) = (e20))/\(((h (j (e21))) = (e21))/\(((h (j (e22))) = (e22))/\(((h (j (e23))) = (e23))/\(((h (j (e24))) = (e24))/\(((j (h (e10))) = (e10))/\(((j (h (e11))) = (e11))/\(((j (h (e12))) = (e12))/\(((j (h (e13))) = (e13))/\((j (h (e14))) = (e14))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))). % 218.35/218.57 Proof. % 218.35/218.57 assert (zenon_L1_ : (~((j (h (e12))) = (j (e20)))) -> ((h (e12)) = (e20)) -> False). % 218.35/218.57 do 0 intro. intros zenon_H6 zenon_H7. % 218.35/218.57 cut (((h (e12)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H8]. % 218.35/218.57 congruence. % 218.35/218.57 exact (zenon_H8 zenon_H7). % 218.35/218.57 (* end of lemma zenon_L1_ *) % 218.35/218.57 assert (zenon_L2_ : (~((e10) = (e10))) -> False). % 218.35/218.57 do 0 intro. intros zenon_H9. % 218.35/218.57 apply zenon_H9. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L2_ *) % 218.35/218.57 assert (zenon_L3_ : (~((e12) = (e12))) -> False). % 218.35/218.57 do 0 intro. intros zenon_Ha. % 218.35/218.57 apply zenon_Ha. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L3_ *) % 218.35/218.57 assert (zenon_L4_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e10)) -> False). % 218.35/218.57 do 0 intro. intros zenon_Hb zenon_Hc zenon_H7 zenon_Hd. % 218.35/218.57 cut (((j (h (e12))) = (e12)) = ((e10) = (e12))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_Hb. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_Hc. % 218.35/218.57 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.57 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.57 cut (((e10) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_He. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_Hf. % 218.35/218.57 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.57 cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H10. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.57 congruence. % 218.35/218.57 cut (((j (e20)) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_He. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_Hd. % 218.35/218.57 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.57 cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H13. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 218.35/218.57 congruence. % 218.35/218.57 apply (zenon_L1_); trivial. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H9. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H9. apply refl_equal. % 218.35/218.57 apply zenon_H9. apply refl_equal. % 218.35/218.57 apply zenon_Ha. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L4_ *) % 218.35/218.57 assert (zenon_L5_ : (~((e11) = (e11))) -> False). % 218.35/218.57 do 0 intro. intros zenon_H14. % 218.35/218.57 apply zenon_H14. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L5_ *) % 218.35/218.57 assert (zenon_L6_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e11)) -> False). % 218.35/218.57 do 0 intro. intros zenon_H15 zenon_Hc zenon_H7 zenon_H16. % 218.35/218.57 cut (((j (h (e12))) = (e12)) = ((e11) = (e12))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H15. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_Hc. % 218.35/218.57 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.57 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.57 cut (((e11) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H17. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H18. % 218.35/218.57 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.57 cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H19. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.57 congruence. % 218.35/218.57 cut (((j (e20)) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H17. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H16. % 218.35/218.57 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.57 cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H13. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 218.35/218.57 congruence. % 218.35/218.57 apply (zenon_L1_); trivial. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H14. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H12. apply refl_equal. % 218.35/218.57 apply zenon_H14. apply refl_equal. % 218.35/218.57 apply zenon_H14. apply refl_equal. % 218.35/218.57 apply zenon_Ha. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L6_ *) % 218.35/218.57 assert (zenon_L7_ : (~((j (h (e11))) = (j (e20)))) -> ((h (e11)) = (e20)) -> False). % 218.35/218.57 do 0 intro. intros zenon_H1a zenon_H1b. % 218.35/218.57 cut (((h (e11)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 218.35/218.57 congruence. % 218.35/218.57 exact (zenon_H1c zenon_H1b). % 218.35/218.57 (* end of lemma zenon_L7_ *) % 218.35/218.57 assert (zenon_L8_ : (~((e13) = (e13))) -> False). % 218.35/218.57 do 0 intro. intros zenon_H1d. % 218.35/218.57 apply zenon_H1d. apply refl_equal. % 218.35/218.57 (* end of lemma zenon_L8_ *) % 218.35/218.57 assert (zenon_L9_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e13)) -> (~((e12) = (e13))) -> False). % 218.35/218.57 do 0 intro. intros zenon_Hc zenon_H7 zenon_H1e zenon_H1f. % 218.35/218.57 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.57 cut (((e13) = (e13)) = ((e12) = (e13))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H1f. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H20. % 218.35/218.57 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.57 cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 218.35/218.57 congruence. % 218.35/218.57 cut (((j (h (e12))) = (e12)) = ((e13) = (e12))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H21. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_Hc. % 218.35/218.57 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.57 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.57 cut (((e13) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H22. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H20. % 218.35/218.57 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.57 cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H23. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.57 congruence. % 218.35/218.57 cut (((j (e20)) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H22. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H1e. % 218.35/218.57 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.57 cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 218.35/218.57 congruence. % 218.35/218.57 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))). % 218.35/218.57 intro zenon_D_pnotp. % 218.35/218.57 apply zenon_H13. % 218.35/218.57 rewrite <- zenon_D_pnotp. % 218.35/218.57 exact zenon_H11. % 218.35/218.57 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.57 cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 218.35/218.57 congruence. % 218.35/218.58 apply (zenon_L1_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L9_ *) % 218.35/218.58 assert (zenon_L10_ : (~((e14) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H24. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L10_ *) % 218.35/218.58 assert (zenon_L11_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hc zenon_H7 zenon_H25 zenon_H26. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((e12) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H26. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e14) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H28. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H2a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H25. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H13. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L1_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L11_ *) % 218.35/218.58 assert (zenon_L12_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e20)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H2b zenon_Hb zenon_H15 zenon_H1b zenon_H2c zenon_H1f zenon_Hc zenon_H7 zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.35/218.58 apply (zenon_L4_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.35/218.58 apply (zenon_L6_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e11) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H15. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e11))) = (e11)) = ((e12) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H32. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H2c. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((j (h (e11))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H33. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H34. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H35. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.58 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e12)) = ((j (h (e11))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H33. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H30. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H37. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H35. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.58 cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L7_); trivial. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.35/218.58 apply (zenon_L9_); trivial. % 218.35/218.58 apply (zenon_L11_); trivial. % 218.35/218.58 (* end of lemma zenon_L12_ *) % 218.35/218.58 assert (zenon_L13_ : (~((j (h (e12))) = (j (e21)))) -> ((h (e12)) = (e21)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H38 zenon_H39. % 218.35/218.58 cut (((h (e12)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H3a zenon_H39). % 218.35/218.58 (* end of lemma zenon_L13_ *) % 218.35/218.58 assert (zenon_L14_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hb zenon_Hc zenon_H39 zenon_H3b. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.58 cut (((e10) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_He. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hf. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H10. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_He. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3b. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H3c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L13_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L14_ *) % 218.35/218.58 assert (zenon_L15_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e11)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H15 zenon_Hc zenon_H39 zenon_H3d. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e11) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H15. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H17. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H19. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H17. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3d. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H3c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L13_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L15_ *) % 218.35/218.58 assert (zenon_L16_ : (~((j (e21)) = (j (op2 (e22) (e22))))) -> ((op2 (e22) (e22)) = (e21)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H3e zenon_H3f. % 218.35/218.58 cut (((e21) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 218.35/218.58 congruence. % 218.35/218.58 apply zenon_H40. apply sym_equal. exact zenon_H3f. % 218.35/218.58 (* end of lemma zenon_L16_ *) % 218.35/218.58 assert (zenon_L17_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e10) (e10)))) -> ((j (e22)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H41 zenon_H42. % 218.35/218.58 cut (((j (e22)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H43]. % 218.35/218.58 cut (((j (e22)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H43]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H43 zenon_H42). % 218.35/218.58 exact (zenon_H43 zenon_H42). % 218.35/218.58 (* end of lemma zenon_L17_ *) % 218.35/218.58 assert (zenon_L18_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (e22)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H44 zenon_H45 zenon_H42 zenon_H46. % 218.35/218.58 cut (((op1 (e10) (e10)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H44. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H45. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e10) (e10)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_H49 | zenon_intro zenon_H4a ]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e10) (e10)) = (op1 (j (e22)) (j (e22))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H48. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H49. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H41]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L17_); trivial. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L18_ *) % 218.35/218.58 assert (zenon_L19_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e10)) -> (~((op1 (e14) (e14)) = (j (e21)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H3f zenon_H45 zenon_H46 zenon_H42 zenon_H4c. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((op1 (e14) (e14)) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4b. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((j (op2 (e22) (e22))) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H50. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L16_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply (zenon_L18_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L19_ *) % 218.35/218.58 assert (zenon_L20_ : (~((j (e22)) = (j (op2 (e21) (e21))))) -> ((op2 (e21) (e21)) = (e22)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H51 zenon_H52. % 218.35/218.58 cut (((e22) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H53]. % 218.35/218.58 congruence. % 218.35/218.58 apply zenon_H53. apply sym_equal. exact zenon_H52. % 218.35/218.58 (* end of lemma zenon_L20_ *) % 218.35/218.58 assert (zenon_L21_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))) -> ((j (e21)) = (e12)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H54 zenon_H55. % 218.35/218.58 cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 218.35/218.58 cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H56 zenon_H55). % 218.35/218.58 exact (zenon_H56 zenon_H55). % 218.35/218.58 (* end of lemma zenon_L21_ *) % 218.35/218.58 assert (zenon_L22_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H57 zenon_H58 zenon_H55 zenon_H46. % 218.35/218.58 cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H57. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H58. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H59]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H59. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5a. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L21_); trivial. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L22_ *) % 218.35/218.58 assert (zenon_L23_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e12)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H52 zenon_H58 zenon_H46 zenon_H55 zenon_H5d. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H5d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5c. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H61. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L20_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply (zenon_L22_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L23_ *) % 218.35/218.58 assert (zenon_L24_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H55 zenon_H46 zenon_H58 zenon_H52 zenon_H62 zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H62. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L23_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L24_ *) % 218.35/218.58 assert (zenon_L25_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H55 zenon_H46 zenon_H58 zenon_H52 zenon_H69 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H69. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L23_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L25_ *) % 218.35/218.58 assert (zenon_L26_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e13) (e13)))) -> ((j (e22)) = (e13)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H6d zenon_H6e. % 218.35/218.58 cut (((j (e22)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 218.35/218.58 cut (((j (e22)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H6f zenon_H6e). % 218.35/218.58 exact (zenon_H6f zenon_H6e). % 218.35/218.58 (* end of lemma zenon_L26_ *) % 218.35/218.58 assert (zenon_L27_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H44 zenon_H70 zenon_H6e zenon_H46. % 218.35/218.58 cut (((op1 (e13) (e13)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H44. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H70. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e13) (e13)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H71]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_H49 | zenon_intro zenon_H4a ]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e13) (e13)) = (op1 (j (e22)) (j (e22))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H71. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H49. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L26_); trivial. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L27_ *) % 218.35/218.58 assert (zenon_L28_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e13)) -> (~((op1 (e14) (e14)) = (j (e21)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H3f zenon_H70 zenon_H46 zenon_H6e zenon_H4c. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((op1 (e14) (e14)) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4b. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((j (op2 (e22) (e22))) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H50. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L16_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply (zenon_L27_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L28_ *) % 218.35/218.58 assert (zenon_L29_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H6e zenon_H46 zenon_H70 zenon_H3f zenon_H55 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H55. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L28_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L29_ *) % 218.35/218.58 assert (zenon_L30_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((j (e22)) = (e14)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H44 zenon_H72. % 218.35/218.58 cut (((j (e22)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H73]. % 218.35/218.58 cut (((j (e22)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H73]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H73 zenon_H72). % 218.35/218.58 exact (zenon_H73 zenon_H72). % 218.35/218.58 (* end of lemma zenon_L30_ *) % 218.35/218.58 assert (zenon_L31_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e22)) = (e14)) -> (~((op1 (e14) (e14)) = (j (e21)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H3f zenon_H72 zenon_H4c. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((op1 (e14) (e14)) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4b. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((j (op2 (e22) (e22))) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H50. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L16_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply (zenon_L30_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L31_ *) % 218.35/218.58 assert (zenon_L32_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H46 zenon_H4b zenon_H72 zenon_H3f zenon_H55 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H55. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L31_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L32_ *) % 218.35/218.58 assert (zenon_L33_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e10) = (e11))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H74 zenon_H45 zenon_H63 zenon_H52 zenon_H58 zenon_H5c zenon_H70 zenon_H46 zenon_H4b zenon_H3f zenon_H55 zenon_Hb. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H55. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L19_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L24_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L25_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L29_); trivial. % 218.35/218.58 apply (zenon_L32_); trivial. % 218.35/218.58 (* end of lemma zenon_L33_ *) % 218.35/218.58 assert (zenon_L34_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e12) = (e13))) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hc zenon_H39 zenon_H78 zenon_H1f. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((e12) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H1f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e13) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H21. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H22. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H23. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H22. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H78. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H3c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L13_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L34_ *) % 218.35/218.58 assert (zenon_L35_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hc zenon_H39 zenon_H79 zenon_H26. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((e12) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H26. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e14) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H28. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H2a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H79. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H3c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L13_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L35_ *) % 218.35/218.58 assert (zenon_L36_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e11))) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H7a zenon_H15 zenon_Hb zenon_H3f zenon_H4b zenon_H46 zenon_H70 zenon_H5c zenon_H58 zenon_H52 zenon_H63 zenon_H45 zenon_H74 zenon_H1f zenon_Hc zenon_H39 zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.58 apply (zenon_L14_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.58 apply (zenon_L15_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.58 apply (zenon_L33_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.58 apply (zenon_L34_); trivial. % 218.35/218.58 apply (zenon_L35_); trivial. % 218.35/218.58 (* end of lemma zenon_L36_ *) % 218.35/218.58 assert (zenon_L37_ : (~((j (h (e12))) = (j (e22)))) -> ((h (e12)) = (e22)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H7e zenon_H7f. % 218.35/218.58 cut (((h (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H80 zenon_H7f). % 218.35/218.58 (* end of lemma zenon_L37_ *) % 218.35/218.58 assert (zenon_L38_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hb zenon_Hc zenon_H7f zenon_H42. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.58 cut (((e10) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_He. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hf. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H10. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e10)) = ((j (h (e12))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_He. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H42. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H81. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L37_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L38_ *) % 218.35/218.58 assert (zenon_L39_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e11)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H15 zenon_Hc zenon_H7f zenon_H62. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e11) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H15. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H17. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H19. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e11)) = ((j (h (e12))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H17. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H62. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H81. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L37_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L39_ *) % 218.35/218.58 assert (zenon_L40_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e10) (e10)))) -> ((j (e21)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H82 zenon_H3b. % 218.35/218.58 cut (((j (e21)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H83]. % 218.35/218.58 cut (((j (e21)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H83]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H83 zenon_H3b). % 218.35/218.58 exact (zenon_H83 zenon_H3b). % 218.35/218.58 (* end of lemma zenon_L40_ *) % 218.35/218.58 assert (zenon_L41_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H57 zenon_H45 zenon_H3b zenon_H46. % 218.35/218.58 cut (((op1 (e10) (e10)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H57. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H45. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e10) (e10)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e10) (e10)) = (op1 (j (e21)) (j (e21))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H84. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5a. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H82]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L40_); trivial. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L41_ *) % 218.35/218.58 assert (zenon_L42_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e10)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H52 zenon_H45 zenon_H46 zenon_H3b zenon_H5d. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H5d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5c. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H61. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L20_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply (zenon_L41_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L42_ *) % 218.35/218.58 assert (zenon_L43_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H3b zenon_H46 zenon_H45 zenon_H52 zenon_H69 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H69. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L42_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L43_ *) % 218.35/218.58 assert (zenon_L44_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H3b zenon_H46 zenon_H45 zenon_H52 zenon_H6e zenon_H85. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H85. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H86. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H87. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H88. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H87. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H6e. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L42_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L44_ *) % 218.35/218.58 assert (zenon_L45_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H3b zenon_H46 zenon_H45 zenon_H52 zenon_H72 zenon_H89. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H89. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H8a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H8b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H8c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H8b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H72. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L42_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L45_ *) % 218.35/218.58 assert (zenon_L46_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e12) (e12)))) -> ((j (e22)) = (e12)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H8d zenon_H69. % 218.35/218.58 cut (((j (e22)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 218.35/218.58 cut (((j (e22)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H8e zenon_H69). % 218.35/218.58 exact (zenon_H8e zenon_H69). % 218.35/218.58 (* end of lemma zenon_L46_ *) % 218.35/218.58 assert (zenon_L47_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H44 zenon_H58 zenon_H69 zenon_H46. % 218.35/218.58 cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H44. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H58. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e12) (e12)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_H49 | zenon_intro zenon_H4a ]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e12) (e12)) = (op1 (j (e22)) (j (e22))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H8f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H49. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H8d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L46_); trivial. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H4a. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L47_ *) % 218.35/218.58 assert (zenon_L48_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H69 zenon_H46 zenon_H58 zenon_H3f zenon_H3d zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3d. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((op1 (e14) (e14)) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4b. % 218.35/218.58 cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 218.35/218.58 cut (((j (op2 (e22) (e22))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ]. % 218.35/218.58 cut (((j (e21)) = (j (e21))) = ((j (op2 (e22) (e22))) = (j (e21)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H50. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H4d. % 218.35/218.58 cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 218.35/218.58 cut (((j (e21)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L16_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply (zenon_L47_); trivial. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H4e. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L48_ *) % 218.35/218.58 assert (zenon_L49_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H4b zenon_H6e zenon_H46 zenon_H70 zenon_H3f zenon_H3d zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3d. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L28_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L49_ *) % 218.35/218.58 assert (zenon_L50_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H46 zenon_H4b zenon_H72 zenon_H3f zenon_H3d zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3d. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H4f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L31_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L50_ *) % 218.35/218.58 assert (zenon_L51_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e12))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H74 zenon_Hb zenon_H7f zenon_Hc zenon_H15 zenon_H58 zenon_H70 zenon_H46 zenon_H4b zenon_H3f zenon_H3d zenon_H63. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 apply (zenon_L38_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L39_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L48_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L49_); trivial. % 218.35/218.58 apply (zenon_L50_); trivial. % 218.35/218.58 (* end of lemma zenon_L51_ *) % 218.35/218.58 assert (zenon_L52_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e12) = (e13))) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hc zenon_H7f zenon_H6e zenon_H1f. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((e12) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H1f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e13) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H21. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H22. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H23. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H22. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H6e. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H81. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L37_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L52_ *) % 218.35/218.58 assert (zenon_L53_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_Hc zenon_H7f zenon_H72 zenon_H26. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((e12) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H26. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e12))) = (e12)) = ((e14) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H28. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hc. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H2a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H29. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H72. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H81. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H11. % 218.35/218.58 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.58 cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L37_); trivial. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H12. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L53_ *) % 218.35/218.58 assert (zenon_L54_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e12)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H74 zenon_H15 zenon_Hb zenon_H52 zenon_H58 zenon_H46 zenon_H55 zenon_H5c zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 apply (zenon_L38_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L39_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L25_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L52_); trivial. % 218.35/218.58 apply (zenon_L53_); trivial. % 218.35/218.58 (* end of lemma zenon_L54_ *) % 218.35/218.58 assert (zenon_L55_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))) -> ((j (e21)) = (e13)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H90 zenon_H78. % 218.35/218.58 cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H91]. % 218.35/218.58 cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H91]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H91 zenon_H78). % 218.35/218.58 exact (zenon_H91 zenon_H78). % 218.35/218.58 (* end of lemma zenon_L55_ *) % 218.35/218.58 assert (zenon_L56_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H57 zenon_H70 zenon_H78 zenon_H46. % 218.35/218.58 cut (((op1 (e13) (e13)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H57. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H70. % 218.35/218.58 cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 218.35/218.58 cut (((op1 (e13) (e13)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H92]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e13) (e13)) = (op1 (j (e21)) (j (e21))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H92. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5a. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L55_); trivial. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H5b. apply refl_equal. % 218.35/218.58 apply zenon_H47. apply sym_equal. exact zenon_H46. % 218.35/218.58 (* end of lemma zenon_L56_ *) % 218.35/218.58 assert (zenon_L57_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H52 zenon_H70 zenon_H46 zenon_H78 zenon_H5d. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H5d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5c. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H61. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L20_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply (zenon_L56_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L57_ *) % 218.35/218.58 assert (zenon_L58_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H62 zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H62. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L57_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L58_ *) % 218.35/218.58 assert (zenon_L59_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H69 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H69. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L57_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L59_ *) % 218.35/218.58 assert (zenon_L60_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H74 zenon_H63 zenon_Hb zenon_H52 zenon_H70 zenon_H46 zenon_H78 zenon_H5c zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 apply (zenon_L38_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L58_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L59_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L52_); trivial. % 218.35/218.58 apply (zenon_L53_); trivial. % 218.35/218.58 (* end of lemma zenon_L60_ *) % 218.35/218.58 assert (zenon_L61_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((j (e21)) = (e14)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H57 zenon_H79. % 218.35/218.58 cut (((j (e21)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 218.35/218.58 cut (((j (e21)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H93 zenon_H79). % 218.35/218.58 exact (zenon_H93 zenon_H79). % 218.35/218.58 (* end of lemma zenon_L61_ *) % 218.35/218.58 assert (zenon_L62_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H52 zenon_H79 zenon_H5d. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H5d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5c. % 218.35/218.58 cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 218.35/218.58 cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ]. % 218.35/218.58 cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H61. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H5e. % 218.35/218.58 cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f]. % 218.35/218.58 cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L20_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply (zenon_L61_); trivial. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 apply zenon_H5f. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L62_ *) % 218.35/218.58 assert (zenon_L63_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H62 zenon_H63. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H63. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H64. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H66. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H65. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H62. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L62_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L63_ *) % 218.35/218.58 assert (zenon_L64_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H69 zenon_Hb. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hb. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6a. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H6b. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H69. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L62_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L64_ *) % 218.35/218.58 assert (zenon_L65_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H74 zenon_H63 zenon_Hb zenon_H52 zenon_H79 zenon_H5c zenon_H46 zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 apply (zenon_L38_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L63_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L64_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L52_); trivial. % 218.35/218.58 apply (zenon_L53_); trivial. % 218.35/218.58 (* end of lemma zenon_L65_ *) % 218.35/218.58 assert (zenon_L66_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e12))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H7a zenon_H89 zenon_H45 zenon_H85 zenon_H3f zenon_H4b zenon_H58 zenon_H15 zenon_H70 zenon_H74 zenon_H63 zenon_Hb zenon_H52 zenon_H5c zenon_H46 zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.58 apply (zenon_L38_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.58 apply (zenon_L39_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.58 apply (zenon_L43_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.58 apply (zenon_L44_); trivial. % 218.35/218.58 apply (zenon_L45_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.58 apply (zenon_L51_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.58 apply (zenon_L54_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.58 apply (zenon_L60_); trivial. % 218.35/218.58 apply (zenon_L65_); trivial. % 218.35/218.58 (* end of lemma zenon_L66_ *) % 218.35/218.58 assert (zenon_L67_ : (~((j (h (e13))) = (j (e20)))) -> ((h (e13)) = (e20)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H94 zenon_H95. % 218.35/218.58 cut (((h (e13)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_H96 zenon_H95). % 218.35/218.58 (* end of lemma zenon_L67_ *) % 218.35/218.58 assert (zenon_L68_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H85 zenon_H97 zenon_H95 zenon_Hd. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e10) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H85. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.58 cut (((e10) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H98. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hf. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H99. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H98. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hd. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L67_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L68_ *) % 218.35/218.58 assert (zenon_L69_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e11)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H9d zenon_H97 zenon_H95 zenon_H16. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e11) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9e. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9e. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H16. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L67_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L69_ *) % 218.35/218.58 assert (zenon_L70_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e12)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H1f zenon_H97 zenon_H95 zenon_H30. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e12) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H1f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha0. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha1. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha0. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H30. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L67_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L70_ *) % 218.35/218.58 assert (zenon_L71_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e13) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H97 zenon_H95 zenon_H25 zenon_Ha2. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((e13) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha2. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e14) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha3. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.58 cut (((e14) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha4. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H27. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha5. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha4. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H25. % 218.35/218.58 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.58 cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9c. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L67_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 apply zenon_H24. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L71_ *) % 218.35/218.58 assert (zenon_L72_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e20)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> (~((e13) = (e14))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H2b zenon_H85 zenon_H1f zenon_H9d zenon_H1b zenon_H2c zenon_H97 zenon_H95 zenon_Ha2. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.35/218.58 apply (zenon_L68_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.35/218.58 apply (zenon_L69_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.35/218.58 apply (zenon_L70_); trivial. % 218.35/218.58 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((e11) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (h (e11))) = (e11)) = ((e13) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha6. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H2c. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((j (h (e11))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha7. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha8. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H35. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.58 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e20)) = (e13)) = ((j (h (e11))) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha7. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H1e. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H37. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H35. % 218.35/218.58 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.58 cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L7_); trivial. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H36. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply (zenon_L71_); trivial. % 218.35/218.58 (* end of lemma zenon_L72_ *) % 218.35/218.58 assert (zenon_L73_ : (~((j (h (e13))) = (j (e21)))) -> ((h (e13)) = (e21)) -> False). % 218.35/218.58 do 0 intro. intros zenon_Ha9 zenon_Haa. % 218.35/218.58 cut (((h (e13)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab]. % 218.35/218.58 congruence. % 218.35/218.58 exact (zenon_Hab zenon_Haa). % 218.35/218.58 (* end of lemma zenon_L73_ *) % 218.35/218.58 assert (zenon_L74_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e10)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H85 zenon_H97 zenon_Haa zenon_H3b. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e10) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H85. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.58 cut (((e10) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H98. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_Hf. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H99. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H98. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3b. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hac. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L73_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L74_ *) % 218.35/218.58 assert (zenon_L75_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e11)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H9d zenon_H97 zenon_Haa zenon_H3d. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e11) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9d. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.58 cut (((e11) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9e. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H18. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H9e. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H3d. % 218.35/218.58 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.58 cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hac. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L73_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H14. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L75_ *) % 218.35/218.58 assert (zenon_L76_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e12)) -> False). % 218.35/218.58 do 0 intro. intros zenon_H1f zenon_H97 zenon_Haa zenon_H55. % 218.35/218.58 cut (((j (h (e13))) = (e13)) = ((e12) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H1f. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H97. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.58 cut (((e12) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha0. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H31. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha1. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e21)) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Ha0. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H55. % 218.35/218.58 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.58 cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_Hac. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H9a. % 218.35/218.58 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.58 cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L73_); trivial. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_H9b. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_Ha. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L76_ *) % 218.35/218.58 assert (zenon_L77_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False). % 218.35/218.58 do 0 intro. intros zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H6e zenon_H85. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H85. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H86. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H46. % 218.35/218.58 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.58 cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H87. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H20. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H88. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.58 congruence. % 218.35/218.58 cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H87. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H6e. % 218.35/218.58 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.58 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.58 congruence. % 218.35/218.58 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.58 intro zenon_D_pnotp. % 218.35/218.58 apply zenon_H60. % 218.35/218.58 rewrite <- zenon_D_pnotp. % 218.35/218.58 exact zenon_H67. % 218.35/218.58 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.58 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.58 congruence. % 218.35/218.58 apply (zenon_L57_); trivial. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H68. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H9. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 apply zenon_H1d. apply refl_equal. % 218.35/218.58 (* end of lemma zenon_L77_ *) % 218.35/218.58 assert (zenon_L78_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H72 zenon_H89. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H46. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8c. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H72. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H60. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L57_); trivial. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L78_ *) % 218.35/218.59 assert (zenon_L79_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H3f zenon_H45 zenon_H4b zenon_H63 zenon_Hb zenon_H85 zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H85. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H86. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H46. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H87. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H88. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H87. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H78. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H4f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L19_); trivial. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L58_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L59_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L77_); trivial. % 218.35/218.59 apply (zenon_L78_); trivial. % 218.35/218.59 (* end of lemma zenon_L79_ *) % 218.35/218.59 assert (zenon_L80_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H97 zenon_Haa zenon_H79 zenon_Ha2. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e14) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H79. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hac. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L73_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L80_ *) % 218.35/218.59 assert (zenon_L81_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H7a zenon_H9d zenon_H1f zenon_H89 zenon_H52 zenon_H70 zenon_H46 zenon_H5c zenon_H85 zenon_Hb zenon_H63 zenon_H4b zenon_H45 zenon_H3f zenon_H74 zenon_H97 zenon_Haa zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.59 apply (zenon_L74_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.59 apply (zenon_L75_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.59 apply (zenon_L76_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.59 apply (zenon_L79_); trivial. % 218.35/218.59 apply (zenon_L80_); trivial. % 218.35/218.59 (* end of lemma zenon_L81_ *) % 218.35/218.59 assert (zenon_L82_ : (~((j (h (e13))) = (j (e22)))) -> ((h (e13)) = (e22)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Had zenon_Hae. % 218.35/218.59 cut (((h (e13)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Haf]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Haf zenon_Hae). % 218.35/218.59 (* end of lemma zenon_L82_ *) % 218.35/218.59 assert (zenon_L83_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H85 zenon_H97 zenon_Hae zenon_H42. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e10) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H85. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H99. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H42. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L82_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L83_ *) % 218.35/218.59 assert (zenon_L84_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H9d zenon_H97 zenon_Hae zenon_H62. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e11) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9d. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H62. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L82_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L84_ *) % 218.35/218.59 assert (zenon_L85_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H1f zenon_H97 zenon_Hae zenon_H69. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e12) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H1f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H69. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L82_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L85_ *) % 218.35/218.59 assert (zenon_L86_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H97 zenon_Hae zenon_H72 zenon_Ha2. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e14) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H72. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L82_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L86_ *) % 218.35/218.59 assert (zenon_L87_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e11))) -> ((j (e21)) = (e11)) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H85 zenon_H9d zenon_H1f zenon_H63 zenon_H3d zenon_H3f zenon_H70 zenon_H46 zenon_H4b zenon_H97 zenon_Hae zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L83_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L84_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L85_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L49_); trivial. % 218.35/218.59 apply (zenon_L86_); trivial. % 218.35/218.59 (* end of lemma zenon_L87_ *) % 218.35/218.59 assert (zenon_L88_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e12))) -> ((j (e21)) = (e12)) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H85 zenon_H9d zenon_H1f zenon_Hb zenon_H55 zenon_H3f zenon_H70 zenon_H46 zenon_H4b zenon_H97 zenon_Hae zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L83_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L84_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L85_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L29_); trivial. % 218.35/218.59 apply (zenon_L86_); trivial. % 218.35/218.59 (* end of lemma zenon_L88_ *) % 218.35/218.59 assert (zenon_L89_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H63 zenon_H1f zenon_H85 zenon_H52 zenon_H70 zenon_H46 zenon_H78 zenon_H5c zenon_H97 zenon_Hae zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L83_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L58_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L85_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L77_); trivial. % 218.35/218.59 apply (zenon_L86_); trivial. % 218.35/218.59 (* end of lemma zenon_L89_ *) % 218.35/218.59 assert (zenon_L90_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H6e zenon_H85. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H85. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H86. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H46. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H87. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H88. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H87. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H6e. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H60. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L62_); trivial. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L90_ *) % 218.35/218.59 assert (zenon_L91_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H9d zenon_Hb zenon_H85 zenon_H52 zenon_H79 zenon_H5c zenon_H46 zenon_H97 zenon_Hae zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L83_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L84_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L64_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L90_); trivial. % 218.35/218.59 apply (zenon_L86_); trivial. % 218.35/218.59 (* end of lemma zenon_L91_ *) % 218.35/218.59 assert (zenon_L92_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H7a zenon_H45 zenon_H4b zenon_H3f zenon_H70 zenon_H1f zenon_H63 zenon_H74 zenon_H9d zenon_Hb zenon_H85 zenon_H52 zenon_H5c zenon_H46 zenon_H97 zenon_Hae zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L83_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L84_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L85_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L44_); trivial. % 218.35/218.59 apply (zenon_L86_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.59 apply (zenon_L87_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.59 apply (zenon_L88_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.59 apply (zenon_L89_); trivial. % 218.35/218.59 apply (zenon_L91_); trivial. % 218.35/218.59 (* end of lemma zenon_L92_ *) % 218.35/218.59 assert (zenon_L93_ : (~((j (h (e13))) = (j (e23)))) -> ((h (e13)) = (e23)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hb1 zenon_Hb2. % 218.35/218.59 cut (((h (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hb3 zenon_Hb2). % 218.35/218.59 (* end of lemma zenon_L93_ *) % 218.35/218.59 assert (zenon_L94_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H85 zenon_H97 zenon_Hb2 zenon_Hb4. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e10) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H85. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H99. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb4. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L93_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L94_ *) % 218.35/218.59 assert (zenon_L95_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H9d zenon_H97 zenon_Hb2 zenon_Hb6. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e11) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9d. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb6. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L93_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L95_ *) % 218.35/218.59 assert (zenon_L96_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H1f zenon_H97 zenon_Hb2 zenon_Hb7. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e12) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H1f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb7. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L93_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L96_ *) % 218.35/218.59 assert (zenon_L97_ : (~((j (h (e12))) = (j (e23)))) -> ((h (e12)) = (e23)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hb8 zenon_Hb9. % 218.35/218.59 cut (((h (e12)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hba]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hba zenon_Hb9). % 218.35/218.59 (* end of lemma zenon_L97_ *) % 218.35/218.59 assert (zenon_L98_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e12) = (e13))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hc zenon_Hb9 zenon_Hbb zenon_H1f. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((e12) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H1f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e12))) = (e12)) = ((e13) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H21. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H22. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H23. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H22. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hbb. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hbc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L97_); trivial. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L98_ *) % 218.35/218.59 assert (zenon_L99_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H97 zenon_Hb2 zenon_Hbd zenon_Ha2. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e14) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hbd. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L93_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L99_ *) % 218.35/218.59 assert (zenon_L100_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hbe zenon_H85 zenon_H9d zenon_H1f zenon_Hb9 zenon_Hc zenon_H97 zenon_Hb2 zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.35/218.59 apply (zenon_L94_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.35/218.59 apply (zenon_L95_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.35/218.59 apply (zenon_L96_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.35/218.59 apply (zenon_L98_); trivial. % 218.35/218.59 apply (zenon_L99_); trivial. % 218.35/218.59 (* end of lemma zenon_L100_ *) % 218.35/218.59 assert (zenon_L101_ : (~((j (h (e14))) = (j (e20)))) -> ((h (e14)) = (e20)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hc2 zenon_Hc3. % 218.35/218.59 cut (((h (e14)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hc4 zenon_Hc3). % 218.35/218.59 (* end of lemma zenon_L101_ *) % 218.35/218.59 assert (zenon_L102_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H89 zenon_Hc5 zenon_Hc3 zenon_Hd. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc7. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hd. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hca. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L101_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L102_ *) % 218.35/218.59 assert (zenon_L103_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hcb zenon_Hc5 zenon_Hc3 zenon_H16. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcd. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H16. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hca. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L101_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L103_ *) % 218.35/218.59 assert (zenon_L104_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H26 zenon_Hc5 zenon_Hc3 zenon_H30. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcf. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H30. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hca. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L101_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L104_ *) % 218.35/218.59 assert (zenon_L105_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e13)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Ha2 zenon_Hc5 zenon_Hc3 zenon_H1e. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H1e. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hca. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L101_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L105_ *) % 218.35/218.59 assert (zenon_L106_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> (~((e11) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H2b zenon_H89 zenon_H26 zenon_Hc3 zenon_Hc5 zenon_Ha2 zenon_H2c zenon_H1b zenon_Hcb. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.35/218.59 apply (zenon_L102_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.35/218.59 apply (zenon_L103_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.35/218.59 apply (zenon_L104_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.35/218.59 apply (zenon_L105_); trivial. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e11))) = (e11)) = ((e14) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H2c. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e11))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H35. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.59 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e14)) = ((j (h (e11))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H25. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H37. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H35. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.59 cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L7_); trivial. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L106_ *) % 218.35/218.59 assert (zenon_L107_ : (~((j (h (e14))) = (j (e21)))) -> ((h (e14)) = (e21)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hd5 zenon_Hd6. % 218.35/218.59 cut (((h (e14)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hd7 zenon_Hd6). % 218.35/218.59 (* end of lemma zenon_L107_ *) % 218.35/218.59 assert (zenon_L108_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H89 zenon_Hc5 zenon_Hd6 zenon_H3b. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc7. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H3b. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd8. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L107_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L108_ *) % 218.35/218.59 assert (zenon_L109_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hcb zenon_Hc5 zenon_Hd6 zenon_H3d. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcd. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H3d. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd8. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L107_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L109_ *) % 218.35/218.59 assert (zenon_L110_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H26 zenon_Hc5 zenon_Hd6 zenon_H55. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcf. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H55. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd8. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L107_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L110_ *) % 218.35/218.59 assert (zenon_L111_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e13)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Ha2 zenon_Hc5 zenon_Hd6 zenon_H78. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H78. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd8. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L107_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L111_ *) % 218.35/218.59 assert (zenon_L112_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H72 zenon_H89. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H46. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8c. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H72. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H60. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L62_); trivial. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L112_ *) % 218.35/218.59 assert (zenon_L113_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H3f zenon_H45 zenon_H4b zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H46. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8c. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e14)) = ((op1 (e14) (e14)) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H8b. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H79. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H4f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H67. % 218.35/218.59 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.35/218.59 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L19_); trivial. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H68. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L63_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L64_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L90_); trivial. % 218.35/218.59 apply (zenon_L112_); trivial. % 218.35/218.59 (* end of lemma zenon_L113_ *) % 218.35/218.59 assert (zenon_L114_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H7a zenon_Hcb zenon_H26 zenon_Hd6 zenon_Hc5 zenon_Ha2 zenon_H74 zenon_H3f zenon_H45 zenon_H4b zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.59 apply (zenon_L108_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.59 apply (zenon_L109_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.59 apply (zenon_L110_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.59 apply (zenon_L111_); trivial. % 218.35/218.59 apply (zenon_L113_); trivial. % 218.35/218.59 (* end of lemma zenon_L114_ *) % 218.35/218.59 assert (zenon_L115_ : (~((j (h (e14))) = (j (e22)))) -> ((h (e14)) = (e22)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hd9 zenon_Hda. % 218.35/218.59 cut (((h (e14)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hdb]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hdb zenon_Hda). % 218.35/218.59 (* end of lemma zenon_L115_ *) % 218.35/218.59 assert (zenon_L116_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H89 zenon_Hc5 zenon_Hda zenon_H42. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc7. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H42. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hdc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hd9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L115_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L116_ *) % 218.35/218.59 assert (zenon_L117_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hcb zenon_Hc5 zenon_Hda zenon_H62. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcd. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H62. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hdc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hd9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L115_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L117_ *) % 218.35/218.59 assert (zenon_L118_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H26 zenon_Hc5 zenon_Hda zenon_H69. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcf. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H69. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hdc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hd9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L115_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L118_ *) % 218.35/218.59 assert (zenon_L119_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e13)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Ha2 zenon_Hc5 zenon_Hda zenon_H6e. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e22)) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H6e. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hdc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hd9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L115_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L119_ *) % 218.35/218.59 assert (zenon_L120_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H89 zenon_Hcb zenon_H26 zenon_Hda zenon_Hc5 zenon_Ha2 zenon_H46 zenon_H4b zenon_H3f zenon_H3d zenon_H63. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L116_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L117_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L118_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L119_); trivial. % 218.35/218.59 apply (zenon_L50_); trivial. % 218.35/218.59 (* end of lemma zenon_L120_ *) % 218.35/218.59 assert (zenon_L121_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_H89 zenon_Hcb zenon_Hda zenon_Hc5 zenon_H26 zenon_H70 zenon_H46 zenon_H4b zenon_H3f zenon_H55 zenon_Hb. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L116_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L117_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L118_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L29_); trivial. % 218.35/218.59 apply (zenon_L32_); trivial. % 218.35/218.59 (* end of lemma zenon_L121_ *) % 218.35/218.59 assert (zenon_L122_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L116_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L58_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L59_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L77_); trivial. % 218.35/218.59 apply (zenon_L78_); trivial. % 218.35/218.59 (* end of lemma zenon_L122_ *) % 218.35/218.59 assert (zenon_L123_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L116_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L63_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L64_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L90_); trivial. % 218.35/218.59 apply (zenon_L112_); trivial. % 218.35/218.59 (* end of lemma zenon_L123_ *) % 218.35/218.59 assert (zenon_L124_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e13) = (e14))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H7a zenon_H45 zenon_Ha2 zenon_H3f zenon_H4b zenon_H26 zenon_Hcb zenon_H70 zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.35/218.59 apply (zenon_L116_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.35/218.59 apply (zenon_L117_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.35/218.59 apply (zenon_L118_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.35/218.59 apply (zenon_L44_); trivial. % 218.35/218.59 apply (zenon_L45_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.35/218.59 apply (zenon_L120_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.35/218.59 apply (zenon_L121_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.35/218.59 apply (zenon_L122_); trivial. % 218.35/218.59 apply (zenon_L123_); trivial. % 218.35/218.59 (* end of lemma zenon_L124_ *) % 218.35/218.59 assert (zenon_L125_ : (~((j (h (e14))) = (j (e23)))) -> ((h (e14)) = (e23)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hdd zenon_Hde. % 218.35/218.59 cut (((h (e14)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hdf zenon_Hde). % 218.35/218.59 (* end of lemma zenon_L125_ *) % 218.35/218.59 assert (zenon_L126_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H89 zenon_Hc5 zenon_Hde zenon_Hb4. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc7. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb4. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L125_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L126_ *) % 218.35/218.59 assert (zenon_L127_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hcb zenon_Hc5 zenon_Hde zenon_Hb6. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcd. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb6. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L125_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L127_ *) % 218.35/218.59 assert (zenon_L128_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H26 zenon_Hc5 zenon_Hde zenon_Hb7. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcf. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hb7. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L125_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L128_ *) % 218.35/218.59 assert (zenon_L129_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e13)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Ha2 zenon_Hc5 zenon_Hde zenon_Hbb. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hbb. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L125_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L129_ *) % 218.35/218.59 assert (zenon_L130_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e12) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hc zenon_Hb9 zenon_Hbd zenon_H26. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e12))) = (e12)) = ((e14) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H28. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H29. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H2a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e23)) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H29. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hbd. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hbc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L97_); trivial. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L130_ *) % 218.35/218.59 assert (zenon_L131_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hbe zenon_H89 zenon_Hcb zenon_Hde zenon_Hc5 zenon_Ha2 zenon_Hc zenon_Hb9 zenon_H26. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.35/218.59 apply (zenon_L126_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.35/218.59 apply (zenon_L127_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.35/218.59 apply (zenon_L128_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.35/218.59 apply (zenon_L129_); trivial. % 218.35/218.59 apply (zenon_L130_); trivial. % 218.35/218.59 (* end of lemma zenon_L131_ *) % 218.35/218.59 assert (zenon_L132_ : (~((j (h (e14))) = (j (e24)))) -> ((h (e14)) = (e24)) -> False). % 218.35/218.59 do 0 intro. intros zenon_He1 zenon_He2. % 218.35/218.59 cut (((h (e14)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_He3]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_He3 zenon_He2). % 218.35/218.59 (* end of lemma zenon_L132_ *) % 218.35/218.59 assert (zenon_L133_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H89 zenon_Hc5 zenon_He2 zenon_He4. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e10) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H89. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc7. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e10)) = ((j (h (e14))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hc6. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He4. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L132_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L133_ *) % 218.35/218.59 assert (zenon_L134_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hcb zenon_Hc5 zenon_He2 zenon_He6. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e11) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcd. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e11)) = ((j (h (e14))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcc. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He6. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L132_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L134_ *) % 218.35/218.59 assert (zenon_L135_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H26 zenon_Hc5 zenon_He2 zenon_He7. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hcf. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e12)) = ((j (h (e14))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hce. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He7. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L132_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L135_ *) % 218.35/218.59 assert (zenon_L136_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e13)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Ha2 zenon_Hc5 zenon_He2 zenon_He8. % 218.35/218.59 cut (((j (h (e14))) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc5. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e13)) = ((j (h (e14))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hd0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He8. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_He5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc8. % 218.35/218.59 cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 218.35/218.59 cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L132_); trivial. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_Hc9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L136_ *) % 218.35/218.59 assert (zenon_L137_ : (~((j (h (e13))) = (j (e24)))) -> ((h (e13)) = (e24)) -> False). % 218.35/218.59 do 0 intro. intros zenon_He9 zenon_Hea. % 218.35/218.59 cut (((h (e13)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_Heb]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Heb zenon_Hea). % 218.35/218.59 (* end of lemma zenon_L137_ *) % 218.35/218.59 assert (zenon_L138_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H97 zenon_Hea zenon_Hec zenon_Ha2. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e13) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha2. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e14) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha3. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e14)) = ((j (h (e13))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha4. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hec. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hed. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L137_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L138_ *) % 218.35/218.59 assert (zenon_L139_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hee zenon_H89 zenon_Hcb zenon_H26 zenon_He2 zenon_Hc5 zenon_H97 zenon_Hea zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.35/218.59 apply (zenon_L133_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.35/218.59 apply (zenon_L134_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.35/218.59 apply (zenon_L135_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.35/218.59 apply (zenon_L136_); trivial. % 218.35/218.59 apply (zenon_L138_); trivial. % 218.35/218.59 (* end of lemma zenon_L139_ *) % 218.35/218.59 assert (zenon_L140_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hbe zenon_H89 zenon_Hcb zenon_H26 zenon_Hde zenon_Hc5 zenon_H97 zenon_Hb2 zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.35/218.59 apply (zenon_L126_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.35/218.59 apply (zenon_L127_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.35/218.59 apply (zenon_L128_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.35/218.59 apply (zenon_L129_); trivial. % 218.35/218.59 apply (zenon_L99_); trivial. % 218.35/218.59 (* end of lemma zenon_L140_ *) % 218.35/218.59 assert (zenon_L141_ : (~((j (h (e12))) = (j (e24)))) -> ((h (e12)) = (e24)) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hf2 zenon_Hf3. % 218.35/218.59 cut (((h (e12)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_Hf4 zenon_Hf3). % 218.35/218.59 (* end of lemma zenon_L141_ *) % 218.35/218.59 assert (zenon_L142_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e12) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hc zenon_Hf3 zenon_Hec zenon_H26. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((e12) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H26. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e12))) = (e12)) = ((e14) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H28. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.35/218.59 cut (((e14) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H29. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H27. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H2a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e14)) = ((j (h (e12))) = (e14))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H29. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hec. % 218.35/218.59 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.35/218.59 cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hf5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L141_); trivial. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 apply zenon_H24. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L142_ *) % 218.35/218.59 assert (zenon_L143_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hee zenon_H89 zenon_Hcb zenon_He2 zenon_Hc5 zenon_Ha2 zenon_Hc zenon_Hf3 zenon_H26. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.35/218.59 apply (zenon_L133_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.35/218.59 apply (zenon_L134_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.35/218.59 apply (zenon_L135_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.35/218.59 apply (zenon_L136_); trivial. % 218.35/218.59 apply (zenon_L142_); trivial. % 218.35/218.59 (* end of lemma zenon_L143_ *) % 218.35/218.59 assert (zenon_L144_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H85 zenon_H97 zenon_Hea zenon_He4. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e10) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H85. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H99. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e10)) = ((j (h (e13))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H98. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He4. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hed. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L137_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L144_ *) % 218.35/218.59 assert (zenon_L145_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e11)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H9d zenon_H97 zenon_Hea zenon_He6. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e11) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9d. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.35/218.59 cut (((e11) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H18. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e11)) = ((j (h (e13))) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H9e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He6. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hed. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L137_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L145_ *) % 218.35/218.59 assert (zenon_L146_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e12)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H1f zenon_H97 zenon_Hea zenon_He7. % 218.35/218.59 cut (((j (h (e13))) = (e13)) = ((e12) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H1f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H97. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha1. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e12)) = ((j (h (e13))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Ha0. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He7. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ]. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hed. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H9a. % 218.35/218.59 cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 218.35/218.59 cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L137_); trivial. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_H9b. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L146_ *) % 218.35/218.59 assert (zenon_L147_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e12) = (e13))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hc zenon_Hf3 zenon_He8 zenon_H1f. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((e12) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H1f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e12))) = (e12)) = ((e13) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H21. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hc. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.35/218.59 cut (((e13) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H22. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H20. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H23. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e24)) = (e13)) = ((j (h (e12))) = (e13))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H22. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_He8. % 218.35/218.59 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.35/218.59 cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hf5. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H11. % 218.35/218.59 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.35/218.59 cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L141_); trivial. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H12. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 apply zenon_H1d. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L147_ *) % 218.35/218.59 assert (zenon_L148_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e24)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hee zenon_H85 zenon_H9d zenon_H1f zenon_Hf3 zenon_Hc zenon_H97 zenon_Hea zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.35/218.59 apply (zenon_L144_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.35/218.59 apply (zenon_L145_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.35/218.59 apply (zenon_L146_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.35/218.59 apply (zenon_L147_); trivial. % 218.35/218.59 apply (zenon_L138_); trivial. % 218.35/218.59 (* end of lemma zenon_L148_ *) % 218.35/218.59 assert (zenon_L149_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> (~((e11) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (~((e10) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_Hf6 zenon_H15 zenon_H58 zenon_Hf7 zenon_H26 zenon_Hc5 zenon_Hcb zenon_H89 zenon_Hbe zenon_H7a zenon_H45 zenon_H3f zenon_H4b zenon_H70 zenon_H74 zenon_H63 zenon_Hb zenon_H46 zenon_H5c zenon_H52 zenon_H2b zenon_H2c zenon_H1b zenon_Hf8 zenon_Hee zenon_H85 zenon_H9d zenon_H1f zenon_Hc zenon_H97 zenon_Ha2. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.35/218.59 apply (zenon_L12_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.35/218.59 apply (zenon_L36_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.35/218.59 apply (zenon_L66_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.35/218.59 apply (zenon_L72_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.35/218.59 apply (zenon_L81_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.35/218.59 apply (zenon_L92_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.35/218.59 apply (zenon_L100_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.35/218.59 apply (zenon_L106_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.35/218.59 apply (zenon_L114_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.35/218.59 apply (zenon_L124_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.35/218.59 apply (zenon_L131_); trivial. % 218.35/218.59 apply (zenon_L139_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.35/218.59 apply (zenon_L72_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.35/218.59 apply (zenon_L81_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.35/218.59 apply (zenon_L92_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.35/218.59 apply (zenon_L106_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.35/218.59 apply (zenon_L114_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.35/218.59 apply (zenon_L124_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.35/218.59 apply (zenon_L140_); trivial. % 218.35/218.59 apply (zenon_L143_); trivial. % 218.35/218.59 apply (zenon_L148_); trivial. % 218.35/218.59 (* end of lemma zenon_L149_ *) % 218.35/218.59 assert (zenon_L150_ : (~((j (h (e10))) = (j (e20)))) -> ((h (e10)) = (e20)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H102 zenon_H103. % 218.35/218.59 cut (((h (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H104]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_H104 zenon_H103). % 218.35/218.59 (* end of lemma zenon_L150_ *) % 218.35/218.59 assert (zenon_L151_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e20)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H2b zenon_H15 zenon_Hb zenon_H103 zenon_H105 zenon_H1f zenon_Hc zenon_H7 zenon_H26. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.35/218.59 apply (zenon_L4_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.35/218.59 apply (zenon_L6_); trivial. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_Hb. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e10))) = (e10)) = ((e12) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H6a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H105. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e10))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H106. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.35/218.59 cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H107. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H108. % 218.35/218.59 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.35/218.59 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e20)) = (e12)) = ((j (h (e10))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H106. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H30. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.35/218.59 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H10a. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H108. % 218.35/218.59 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.35/218.59 cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H102]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L150_); trivial. % 218.35/218.59 apply zenon_H109. apply refl_equal. % 218.35/218.59 apply zenon_H109. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H109. apply refl_equal. % 218.35/218.59 apply zenon_H109. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply zenon_Ha. apply refl_equal. % 218.35/218.59 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.35/218.59 apply (zenon_L9_); trivial. % 218.35/218.59 apply (zenon_L11_); trivial. % 218.35/218.59 (* end of lemma zenon_L151_ *) % 218.35/218.59 assert (zenon_L152_ : (~((j (h (e11))) = (j (e21)))) -> ((h (e11)) = (e21)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H10b zenon_H10c. % 218.35/218.59 cut (((h (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H10d]. % 218.35/218.59 congruence. % 218.35/218.59 exact (zenon_H10d zenon_H10c). % 218.35/218.59 (* end of lemma zenon_L152_ *) % 218.35/218.59 assert (zenon_L153_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e10)) -> False). % 218.35/218.59 do 0 intro. intros zenon_H63 zenon_H2c zenon_H10c zenon_H3b. % 218.35/218.59 cut (((j (h (e11))) = (e11)) = ((e10) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H63. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H2c. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.35/218.59 cut (((e10) = (e10)) = ((j (h (e11))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H10e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_Hf. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H10f. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H35. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.59 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (e21)) = (e10)) = ((j (h (e11))) = (e10))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H10e. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H3b. % 218.35/218.59 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.35/218.59 cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H110. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H35. % 218.35/218.59 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.59 cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 218.35/218.59 congruence. % 218.35/218.59 apply (zenon_L152_); trivial. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H36. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H9. apply refl_equal. % 218.35/218.59 apply zenon_H14. apply refl_equal. % 218.35/218.59 (* end of lemma zenon_L153_ *) % 218.35/218.59 assert (zenon_L154_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e11) = (e12))) -> False). % 218.35/218.59 do 0 intro. intros zenon_H2c zenon_H10c zenon_H55 zenon_H15. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((e11) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H15. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 218.35/218.59 congruence. % 218.35/218.59 cut (((j (h (e11))) = (e11)) = ((e12) = (e11))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H32. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H2c. % 218.35/218.59 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.35/218.59 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.35/218.59 cut (((e12) = (e12)) = ((j (h (e11))) = (e12))). % 218.35/218.59 intro zenon_D_pnotp. % 218.35/218.59 apply zenon_H33. % 218.35/218.59 rewrite <- zenon_D_pnotp. % 218.35/218.59 exact zenon_H31. % 218.35/218.59 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.59 cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 218.35/218.59 congruence. % 218.35/218.59 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))). % 218.35/218.60 intro zenon_D_pnotp. % 218.35/218.60 apply zenon_H34. % 218.35/218.60 rewrite <- zenon_D_pnotp. % 218.35/218.60 exact zenon_H35. % 218.35/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.35/218.60 congruence. % 218.35/218.60 cut (((j (e21)) = (e12)) = ((j (h (e11))) = (e12))). % 218.35/218.60 intro zenon_D_pnotp. % 218.35/218.60 apply zenon_H33. % 218.35/218.60 rewrite <- zenon_D_pnotp. % 218.35/218.60 exact zenon_H55. % 218.35/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.35/218.60 cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 218.35/218.60 congruence. % 218.35/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.35/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))). % 218.35/218.60 intro zenon_D_pnotp. % 218.35/218.60 apply zenon_H110. % 218.35/218.60 rewrite <- zenon_D_pnotp. % 218.35/218.60 exact zenon_H35. % 218.35/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.35/218.60 cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L152_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L154_ *) % 218.44/218.60 assert (zenon_L155_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e11) = (e12))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H63 zenon_H15 zenon_H10c zenon_H2c zenon_H1f zenon_Hc zenon_H39 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L15_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L154_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L34_); trivial. % 218.44/218.60 apply (zenon_L35_); trivial. % 218.44/218.60 (* end of lemma zenon_L155_ *) % 218.44/218.60 assert (zenon_L156_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e11) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H10c zenon_H78 zenon_H9d. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e11) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H9d. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e13) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha6. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha8. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e21)) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H78. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H110. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L152_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L156_ *) % 218.44/218.60 assert (zenon_L157_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H10c zenon_H79 zenon_Hcb. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e11) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hcb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e14) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd2. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd4. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e21)) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H79. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H110]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H110. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L152_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L157_ *) % 218.44/218.60 assert (zenon_L158_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e14))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H63 zenon_H3f zenon_H4b zenon_H70 zenon_H26 zenon_H7f zenon_Hc zenon_H1f zenon_H5c zenon_H46 zenon_H58 zenon_H52 zenon_Hb zenon_H15 zenon_H74 zenon_H9d zenon_H2c zenon_H10c zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L51_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L54_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L156_); trivial. % 218.44/218.60 apply (zenon_L157_); trivial. % 218.44/218.60 (* end of lemma zenon_L158_ *) % 218.44/218.60 assert (zenon_L159_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H103 zenon_H25 zenon_H89. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H89. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e14) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H8a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H112. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e20)) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H25. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H102]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L150_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L159_ *) % 218.44/218.60 assert (zenon_L160_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e13))) -> ((h (e13)) = (e20)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2b zenon_H9d zenon_H95 zenon_H97 zenon_H1f zenon_H85 zenon_H105 zenon_H103 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.44/218.60 apply (zenon_L68_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.44/218.60 apply (zenon_L69_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.44/218.60 apply (zenon_L70_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H85. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e13) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H86. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H114]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H114. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e20)) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H1e. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H102]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L150_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply (zenon_L159_); trivial. % 218.44/218.60 (* end of lemma zenon_L160_ *) % 218.44/218.60 assert (zenon_L161_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2b zenon_Hcb zenon_H26 zenon_Hc3 zenon_Hc5 zenon_Ha2 zenon_H105 zenon_H103 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.44/218.60 apply (zenon_L102_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.44/218.60 apply (zenon_L103_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.44/218.60 apply (zenon_L104_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.44/218.60 apply (zenon_L105_); trivial. % 218.44/218.60 apply (zenon_L159_); trivial. % 218.44/218.60 (* end of lemma zenon_L161_ *) % 218.44/218.60 assert (zenon_L162_ : (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> ((h (e10)) = (e20)) -> ((j (h (e10))) = (e10)) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hf7 zenon_H1f zenon_H9d zenon_Hf8 zenon_H103 zenon_H105 zenon_H2b zenon_H52 zenon_H5c zenon_H46 zenon_H85 zenon_Hb zenon_H63 zenon_H74 zenon_H70 zenon_H4b zenon_H3f zenon_H45 zenon_H7a zenon_Hb9 zenon_Hc zenon_Hbe zenon_Hee zenon_H89 zenon_Hcb zenon_H26 zenon_Hc5 zenon_H97 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L160_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L92_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_L100_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L161_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L124_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L131_); trivial. % 218.44/218.60 apply (zenon_L139_); trivial. % 218.44/218.60 (* end of lemma zenon_L162_ *) % 218.44/218.60 assert (zenon_L163_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H63 zenon_H1f zenon_H9d zenon_H10c zenon_H2c zenon_H97 zenon_Haa zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L75_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L76_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L156_); trivial. % 218.44/218.60 apply (zenon_L80_); trivial. % 218.44/218.60 (* end of lemma zenon_L163_ *) % 218.44/218.60 assert (zenon_L164_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H10c zenon_H2c zenon_H4b zenon_H3f zenon_H70 zenon_H1f zenon_H63 zenon_H74 zenon_H9d zenon_Hb zenon_H85 zenon_H52 zenon_H5c zenon_H46 zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L87_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L88_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L89_); trivial. % 218.44/218.60 apply (zenon_L91_); trivial. % 218.44/218.60 (* end of lemma zenon_L164_ *) % 218.44/218.60 assert (zenon_L165_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e11))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H63 zenon_Hd6 zenon_Hc5 zenon_H26 zenon_H9d zenon_H2c zenon_H10c zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L156_); trivial. % 218.44/218.60 apply (zenon_L157_); trivial. % 218.44/218.60 (* end of lemma zenon_L165_ *) % 218.44/218.60 assert (zenon_L166_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> (~((e13) = (e14))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H10c zenon_H2c zenon_Ha2 zenon_H3f zenon_H4b zenon_H26 zenon_Hcb zenon_H70 zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L120_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L121_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L122_); trivial. % 218.44/218.60 apply (zenon_L123_); trivial. % 218.44/218.60 (* end of lemma zenon_L166_ *) % 218.44/218.60 assert (zenon_L167_ : (~((j (h (e11))) = (j (e22)))) -> ((h (e11)) = (e22)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H115 zenon_H116. % 218.44/218.60 cut (((h (e11)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H117]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H117 zenon_H116). % 218.44/218.60 (* end of lemma zenon_L167_ *) % 218.44/218.60 assert (zenon_L168_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e10)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H63 zenon_H2c zenon_H116 zenon_H42. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e10) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H63. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.44/218.60 cut (((e10) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10e. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hf. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10f. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10e. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H42. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H118. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L167_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L168_ *) % 218.44/218.60 assert (zenon_L169_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e11) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H116 zenon_H69 zenon_H15. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e11) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H15. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e12) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H32. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H34. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H69. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H118. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L167_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L169_ *) % 218.44/218.60 assert (zenon_L170_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e11) = (e12))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H63 zenon_H52 zenon_H58 zenon_H5c zenon_H15 zenon_H116 zenon_H2c zenon_H70 zenon_H46 zenon_H4b zenon_H3f zenon_H55 zenon_Hb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L168_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L24_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L169_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L29_); trivial. % 218.44/218.60 apply (zenon_L32_); trivial. % 218.44/218.60 (* end of lemma zenon_L170_ *) % 218.44/218.60 assert (zenon_L171_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (~((e11) = (e12))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_Hb zenon_H3f zenon_H4b zenon_H46 zenon_H70 zenon_H2c zenon_H116 zenon_H15 zenon_H5c zenon_H58 zenon_H52 zenon_H63 zenon_H74 zenon_H1f zenon_Hc zenon_H39 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L14_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L15_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L170_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L34_); trivial. % 218.44/218.60 apply (zenon_L35_); trivial. % 218.44/218.60 (* end of lemma zenon_L171_ *) % 218.44/218.60 assert (zenon_L172_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e11) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H116 zenon_H6e zenon_H9d. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e11) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H9d. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e13) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha6. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha8. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H6e. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H118. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L167_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L172_ *) % 218.44/218.60 assert (zenon_L173_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H116 zenon_H72 zenon_Hcb. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e11) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hcb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e14) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd2. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd4. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H72. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H118. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L167_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L173_ *) % 218.44/218.60 assert (zenon_L174_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H63 zenon_H7f zenon_Hc zenon_H15 zenon_H9d zenon_H2c zenon_H116 zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L168_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L39_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L169_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L172_); trivial. % 218.44/218.60 apply (zenon_L173_); trivial. % 218.44/218.60 (* end of lemma zenon_L174_ *) % 218.44/218.60 assert (zenon_L175_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H116 zenon_H2c zenon_H63 zenon_Hb zenon_H85 zenon_H5c zenon_H78 zenon_H46 zenon_H70 zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L168_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L58_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L59_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L77_); trivial. % 218.44/218.60 apply (zenon_L78_); trivial. % 218.44/218.60 (* end of lemma zenon_L175_ *) % 218.44/218.60 assert (zenon_L176_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H9d zenon_H1f zenon_H89 zenon_H52 zenon_H70 zenon_H46 zenon_H5c zenon_H85 zenon_Hb zenon_H63 zenon_H2c zenon_H116 zenon_H74 zenon_H97 zenon_Haa zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L74_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L75_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L76_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L175_); trivial. % 218.44/218.60 apply (zenon_L80_); trivial. % 218.44/218.60 (* end of lemma zenon_L176_ *) % 218.44/218.60 assert (zenon_L177_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H85 zenon_H1f zenon_H9d zenon_H116 zenon_H2c zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L83_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L84_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L85_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L172_); trivial. % 218.44/218.60 apply (zenon_L86_); trivial. % 218.44/218.60 (* end of lemma zenon_L177_ *) % 218.44/218.60 assert (zenon_L178_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H116 zenon_H2c zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H79 zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L168_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L63_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L64_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L90_); trivial. % 218.44/218.60 apply (zenon_L112_); trivial. % 218.44/218.60 (* end of lemma zenon_L178_ *) % 218.44/218.60 assert (zenon_L179_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_Hcb zenon_H26 zenon_Hd6 zenon_Hc5 zenon_Ha2 zenon_H74 zenon_H116 zenon_H2c zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L108_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L111_); trivial. % 218.44/218.60 apply (zenon_L178_); trivial. % 218.44/218.60 (* end of lemma zenon_L179_ *) % 218.44/218.60 assert (zenon_L180_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H89 zenon_H26 zenon_Hda zenon_Hc5 zenon_Ha2 zenon_H2c zenon_H116 zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L116_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L117_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L118_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L119_); trivial. % 218.44/218.60 apply (zenon_L173_); trivial. % 218.44/218.60 (* end of lemma zenon_L180_ *) % 218.44/218.60 assert (zenon_L181_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e20)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2b zenon_H85 zenon_H9d zenon_H1f zenon_H7 zenon_Hc zenon_H97 zenon_H95 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.44/218.60 apply (zenon_L68_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.44/218.60 apply (zenon_L69_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.44/218.60 apply (zenon_L70_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.44/218.60 apply (zenon_L9_); trivial. % 218.44/218.60 apply (zenon_L71_); trivial. % 218.44/218.60 (* end of lemma zenon_L181_ *) % 218.44/218.60 assert (zenon_L182_ : (~((j (h (e11))) = (j (e23)))) -> ((h (e11)) = (e23)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H119 zenon_H11a. % 218.44/218.60 cut (((h (e11)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H11b zenon_H11a). % 218.44/218.60 (* end of lemma zenon_L182_ *) % 218.44/218.60 assert (zenon_L183_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e11) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11a zenon_Hbb zenon_H9d. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e11) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H9d. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e13) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha6. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha8. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hbb. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H11c. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L182_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L183_ *) % 218.44/218.60 assert (zenon_L184_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_H85 zenon_H1f zenon_H9d zenon_H11a zenon_H2c zenon_H97 zenon_Hb2 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L94_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L95_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 apply (zenon_L96_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 apply (zenon_L183_); trivial. % 218.44/218.60 apply (zenon_L99_); trivial. % 218.44/218.60 (* end of lemma zenon_L184_ *) % 218.44/218.60 assert (zenon_L185_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2b zenon_H89 zenon_Hcb zenon_Hc3 zenon_Hc5 zenon_Ha2 zenon_Hc zenon_H7 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.44/218.60 apply (zenon_L102_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.44/218.60 apply (zenon_L103_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.44/218.60 apply (zenon_L104_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.44/218.60 apply (zenon_L105_); trivial. % 218.44/218.60 apply (zenon_L11_); trivial. % 218.44/218.60 (* end of lemma zenon_L185_ *) % 218.44/218.60 assert (zenon_L186_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11a zenon_Hbd zenon_Hcb. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e11) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hcb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e14) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd2. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd4. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hbd. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H11c. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L182_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L186_ *) % 218.44/218.60 assert (zenon_L187_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_H89 zenon_H26 zenon_Hde zenon_Hc5 zenon_Ha2 zenon_H2c zenon_H11a zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L126_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L127_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 apply (zenon_L128_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 apply (zenon_L129_); trivial. % 218.44/218.60 apply (zenon_L186_); trivial. % 218.44/218.60 (* end of lemma zenon_L187_ *) % 218.44/218.60 assert (zenon_L188_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e10)) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hb zenon_Hc zenon_Hb9 zenon_Hb4. % 218.44/218.60 cut (((j (h (e12))) = (e12)) = ((e10) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hc. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.44/218.60 cut (((e10) = (e10)) = ((j (h (e12))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_He. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hf. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e10)) = ((j (h (e12))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_He. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hb4. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hbc. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L97_); trivial. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L188_ *) % 218.44/218.60 assert (zenon_L189_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e11)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H15 zenon_Hc zenon_Hb9 zenon_Hb6. % 218.44/218.60 cut (((j (h (e12))) = (e12)) = ((e11) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H15. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hc. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((j (h (e12))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H17. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H19. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e11)) = ((j (h (e12))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H17. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hb6. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hbc]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hbc. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L97_); trivial. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L189_ *) % 218.44/218.60 assert (zenon_L190_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e11) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11a zenon_Hb7 zenon_H15. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e11) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H15. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e12) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H32. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H34. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hb7. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H11c. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L182_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L190_ *) % 218.44/218.60 assert (zenon_L191_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_Hb zenon_H15 zenon_H11a zenon_H2c zenon_H1f zenon_Hc zenon_Hb9 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L188_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L189_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 apply (zenon_L190_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 apply (zenon_L98_); trivial. % 218.44/218.60 apply (zenon_L130_); trivial. % 218.44/218.60 (* end of lemma zenon_L191_ *) % 218.44/218.60 assert (zenon_L192_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2b zenon_H89 zenon_Hcb zenon_H26 zenon_Hc3 zenon_Hc5 zenon_H97 zenon_H95 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ]. % 218.44/218.60 apply (zenon_L102_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ]. % 218.44/218.60 apply (zenon_L103_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ]. % 218.44/218.60 apply (zenon_L104_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ]. % 218.44/218.60 apply (zenon_L105_); trivial. % 218.44/218.60 apply (zenon_L71_); trivial. % 218.44/218.60 (* end of lemma zenon_L192_ *) % 218.44/218.60 assert (zenon_L193_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e12))) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> (~((e10) = (e14))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e12))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hf6 zenon_H58 zenon_H15 zenon_Hf7 zenon_H26 zenon_Hc5 zenon_Hcb zenon_H2b zenon_Hf8 zenon_H89 zenon_H46 zenon_H5c zenon_H52 zenon_Hb zenon_H74 zenon_H63 zenon_H70 zenon_H3f zenon_H4b zenon_H45 zenon_H7a zenon_H2c zenon_H11a zenon_Hbe zenon_Hee zenon_H85 zenon_H9d zenon_H1f zenon_Hc zenon_H97 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L181_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L92_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_L184_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L185_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L124_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L187_); trivial. % 218.44/218.60 apply (zenon_L139_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.60 apply (zenon_L36_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.60 apply (zenon_L66_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.60 apply (zenon_L191_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L192_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L124_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L187_); trivial. % 218.44/218.60 apply (zenon_L143_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L92_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_L184_); trivial. % 218.44/218.60 apply (zenon_L148_); trivial. % 218.44/218.60 (* end of lemma zenon_L193_ *) % 218.44/218.60 assert (zenon_L194_ : (~((j (h (e11))) = (j (e24)))) -> ((h (e11)) = (e24)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H11d zenon_H11e. % 218.44/218.60 cut (((h (e11)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_H11f]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H11f zenon_H11e). % 218.44/218.60 (* end of lemma zenon_L194_ *) % 218.44/218.60 assert (zenon_L195_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11e zenon_Hec zenon_Hcb. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e11) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hcb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e14) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd2. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd4. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e14)) = ((j (h (e11))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hd3. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hec. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H120]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H120. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L194_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L195_ *) % 218.44/218.60 assert (zenon_L196_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> (~((e11) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_H89 zenon_H26 zenon_He2 zenon_Hc5 zenon_Ha2 zenon_H2c zenon_H11e zenon_Hcb. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L133_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L134_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L135_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L136_); trivial. % 218.44/218.60 apply (zenon_L195_); trivial. % 218.44/218.60 (* end of lemma zenon_L196_ *) % 218.44/218.60 assert (zenon_L197_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e11) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11e zenon_He8 zenon_H9d. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e11) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H9d. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e13) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha6. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha8. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e13)) = ((j (h (e11))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Ha7. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He8. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H120]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H120. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L194_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L197_ *) % 218.44/218.60 assert (zenon_L198_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_H85 zenon_H1f zenon_H9d zenon_H11e zenon_H2c zenon_H97 zenon_Hea zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L144_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L145_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L146_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L197_); trivial. % 218.44/218.60 apply (zenon_L138_); trivial. % 218.44/218.60 (* end of lemma zenon_L198_ *) % 218.44/218.60 assert (zenon_L199_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e10)) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hb zenon_Hc zenon_Hf3 zenon_He4. % 218.44/218.60 cut (((j (h (e12))) = (e12)) = ((e10) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hc. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.44/218.60 cut (((e10) = (e10)) = ((j (h (e12))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_He. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hf. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H10. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e10)) = ((j (h (e12))) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_He. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He4. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hf5. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L141_); trivial. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L199_ *) % 218.44/218.60 assert (zenon_L200_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e11)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H15 zenon_Hc zenon_Hf3 zenon_He6. % 218.44/218.60 cut (((j (h (e12))) = (e12)) = ((e11) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H15. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hc. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((j (h (e12))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H17. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H19. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e11)) = ((j (h (e12))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H17. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He6. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ]. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hf5. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H11. % 218.44/218.60 cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 218.44/218.60 cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hf2]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L141_); trivial. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H12. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L200_ *) % 218.44/218.60 assert (zenon_L201_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e12)) -> (~((e11) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H2c zenon_H11e zenon_He7 zenon_H15. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e11) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H15. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e11))) = (e11)) = ((e12) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H32. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H2c. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H34. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e12)) = ((j (h (e11))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H33. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He7. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H120]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H120. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H35. % 218.44/218.60 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.60 cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L194_); trivial. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_H36. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L201_ *) % 218.44/218.60 assert (zenon_L202_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_Hb zenon_H15 zenon_H11e zenon_H2c zenon_H1f zenon_Hc zenon_Hf3 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L199_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L200_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L201_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L147_); trivial. % 218.44/218.60 apply (zenon_L142_); trivial. % 218.44/218.60 (* end of lemma zenon_L202_ *) % 218.44/218.60 assert (zenon_L203_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e13) = (e14))) -> ((j (h (e13))) = (e13)) -> (~((e11) = (e13))) -> (~((e10) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e14))) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hf6 zenon_H58 zenon_Ha2 zenon_H97 zenon_H9d zenon_H85 zenon_Hbe zenon_H7a zenon_H45 zenon_H4b zenon_H3f zenon_H70 zenon_H63 zenon_H74 zenon_H52 zenon_H5c zenon_H46 zenon_H89 zenon_Hf8 zenon_H2b zenon_Hc5 zenon_Hcb zenon_Hf7 zenon_Hee zenon_Hb zenon_H15 zenon_H11e zenon_H2c zenon_H1f zenon_Hc zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L181_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L92_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L185_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L124_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L140_); trivial. % 218.44/218.60 apply (zenon_L196_); trivial. % 218.44/218.60 apply (zenon_L198_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.60 apply (zenon_L36_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.60 apply (zenon_L66_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L192_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L124_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L131_); trivial. % 218.44/218.60 apply (zenon_L196_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L92_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_L100_); trivial. % 218.44/218.60 apply (zenon_L198_); trivial. % 218.44/218.60 apply (zenon_L202_); trivial. % 218.44/218.60 (* end of lemma zenon_L203_ *) % 218.44/218.60 assert (zenon_L204_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H121 zenon_H3d zenon_H63. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H63. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e11) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H64. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H123. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e21)) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H3d. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e21)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H124]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e21)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H124. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H125]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((h (e10)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H126]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H126 zenon_H121). % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L204_ *) % 218.44/218.60 assert (zenon_L205_ : (~((j (h (e10))) = (j (e22)))) -> ((h (e10)) = (e22)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H127 zenon_H128. % 218.44/218.60 cut (((h (e10)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H129]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H129 zenon_H128). % 218.44/218.60 (* end of lemma zenon_L205_ *) % 218.44/218.60 assert (zenon_L206_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H128 zenon_H69 zenon_Hb. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e12) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H6a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H107. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H69. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e22)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e22)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L205_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L206_ *) % 218.44/218.60 assert (zenon_L207_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e22)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H15 zenon_Hb zenon_H128 zenon_H105 zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L38_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L39_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L206_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L52_); trivial. % 218.44/218.60 apply (zenon_L53_); trivial. % 218.44/218.60 (* end of lemma zenon_L207_ *) % 218.44/218.60 assert (zenon_L208_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H128 zenon_H6e zenon_H85. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H85. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e13) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H86. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H114]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H114. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H6e. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e22)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e22)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L205_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L208_ *) % 218.44/218.60 assert (zenon_L209_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((h (e10)) = (e22)) -> ((j (h (e10))) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H9d zenon_H1f zenon_H85 zenon_H128 zenon_H105 zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L83_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L84_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L85_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L208_); trivial. % 218.44/218.60 apply (zenon_L86_); trivial. % 218.44/218.60 (* end of lemma zenon_L209_ *) % 218.44/218.60 assert (zenon_L210_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H128 zenon_H72 zenon_H89. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H89. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e14) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H8a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H112. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H72. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e22)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e22)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L205_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L210_ *) % 218.44/218.60 assert (zenon_L211_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_Hcb zenon_H26 zenon_Hda zenon_Hc5 zenon_Ha2 zenon_H105 zenon_H128 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L116_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L117_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L118_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L119_); trivial. % 218.44/218.60 apply (zenon_L210_); trivial. % 218.44/218.60 (* end of lemma zenon_L211_ *) % 218.44/218.60 assert (zenon_L212_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H128 zenon_H62 zenon_H63. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H63. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e11) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H64. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H123. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H62. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e22)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e22)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H127]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L205_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L212_ *) % 218.44/218.60 assert (zenon_L213_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H85 zenon_H9d zenon_H1f zenon_H39 zenon_Hc zenon_H97 zenon_Haa zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L74_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L75_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L76_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L34_); trivial. % 218.44/218.60 apply (zenon_L80_); trivial. % 218.44/218.60 (* end of lemma zenon_L213_ *) % 218.44/218.60 assert (zenon_L214_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H39 zenon_Hc zenon_H4b zenon_H3f zenon_H70 zenon_H1f zenon_H63 zenon_H74 zenon_H9d zenon_Hb zenon_H85 zenon_H52 zenon_H5c zenon_H46 zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L14_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L87_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L88_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L89_); trivial. % 218.44/218.60 apply (zenon_L91_); trivial. % 218.44/218.60 (* end of lemma zenon_L214_ *) % 218.44/218.60 assert (zenon_L215_ : (~((j (h (e10))) = (j (e23)))) -> ((h (e10)) = (e23)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H12b zenon_H12c. % 218.44/218.60 cut (((h (e10)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H12d]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H12d zenon_H12c). % 218.44/218.60 (* end of lemma zenon_L215_ *) % 218.44/218.60 assert (zenon_L216_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((h (e10)) = (e23)) -> ((j (h (e10))) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_H9d zenon_H1f zenon_H85 zenon_H12c zenon_H105 zenon_H97 zenon_Hb2 zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L94_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L95_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 apply (zenon_L96_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H85. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e13) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H86. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H114]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H114. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hbb. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12e. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L215_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply (zenon_L99_); trivial. % 218.44/218.60 (* end of lemma zenon_L216_ *) % 218.44/218.60 assert (zenon_L217_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_Hb zenon_Hcb zenon_Hd6 zenon_Hc5 zenon_Ha2 zenon_Hc zenon_H39 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L14_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L111_); trivial. % 218.44/218.60 apply (zenon_L35_); trivial. % 218.44/218.60 (* end of lemma zenon_L217_ *) % 218.44/218.60 assert (zenon_L218_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> (~((e13) = (e14))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H39 zenon_Hc zenon_Ha2 zenon_H3f zenon_H4b zenon_H26 zenon_Hcb zenon_H70 zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L14_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L120_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L121_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L122_); trivial. % 218.44/218.60 apply (zenon_L123_); trivial. % 218.44/218.60 (* end of lemma zenon_L218_ *) % 218.44/218.60 assert (zenon_L219_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_Hcb zenon_H26 zenon_Hde zenon_Hc5 zenon_Ha2 zenon_H105 zenon_H12c zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L126_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L127_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 apply (zenon_L128_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 apply (zenon_L129_); trivial. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H89. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e14) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H8a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H112. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hbd. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12e. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L215_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L219_ *) % 218.44/218.60 assert (zenon_L220_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e14))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H85 zenon_H9d zenon_H26 zenon_H7f zenon_Hc zenon_H1f zenon_H5c zenon_H46 zenon_H70 zenon_H52 zenon_Hb zenon_H63 zenon_H74 zenon_H97 zenon_Haa zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L74_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L75_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L76_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L60_); trivial. % 218.44/218.60 apply (zenon_L80_); trivial. % 218.44/218.60 (* end of lemma zenon_L220_ *) % 218.44/218.60 assert (zenon_L221_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H85 zenon_H9d zenon_H1f zenon_H7f zenon_Hc zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L83_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L84_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L85_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L52_); trivial. % 218.44/218.60 apply (zenon_L86_); trivial. % 218.44/218.60 (* end of lemma zenon_L221_ *) % 218.44/218.60 assert (zenon_L222_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H89 zenon_Hcb zenon_Hd6 zenon_Hc5 zenon_Ha2 zenon_H74 zenon_H63 zenon_Hb zenon_H52 zenon_H5c zenon_H46 zenon_H1f zenon_Hc zenon_H7f zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L108_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L111_); trivial. % 218.44/218.60 apply (zenon_L65_); trivial. % 218.44/218.60 (* end of lemma zenon_L222_ *) % 218.44/218.60 assert (zenon_L223_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H89 zenon_Hcb zenon_Hda zenon_Hc5 zenon_Ha2 zenon_Hc zenon_H7f zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L116_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L117_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L118_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L119_); trivial. % 218.44/218.60 apply (zenon_L53_); trivial. % 218.44/218.60 (* end of lemma zenon_L223_ *) % 218.44/218.60 assert (zenon_L224_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e23)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hbe zenon_H15 zenon_Hb zenon_H12c zenon_H105 zenon_H1f zenon_Hc zenon_Hb9 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.60 apply (zenon_L188_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.60 apply (zenon_L189_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e12) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H6a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H107. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e23)) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hb7. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H12e. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L215_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.60 apply (zenon_L98_); trivial. % 218.44/218.60 apply (zenon_L130_); trivial. % 218.44/218.60 (* end of lemma zenon_L224_ *) % 218.44/218.60 assert (zenon_L225_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H89 zenon_Hcb zenon_H26 zenon_Hd6 zenon_Hc5 zenon_H97 zenon_Haa zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L108_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L111_); trivial. % 218.44/218.60 apply (zenon_L80_); trivial. % 218.44/218.60 (* end of lemma zenon_L225_ *) % 218.44/218.60 assert (zenon_L226_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e13)) = (e21)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> ((op2 (e22) (e22)) = (e21)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_Haa zenon_H97 zenon_Ha2 zenon_H3f zenon_H4b zenon_H26 zenon_Hcb zenon_H70 zenon_H74 zenon_Hda zenon_Hc5 zenon_H63 zenon_Hb zenon_H85 zenon_H46 zenon_H5c zenon_H52 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L74_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L120_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L121_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L122_); trivial. % 218.44/218.60 apply (zenon_L123_); trivial. % 218.44/218.60 (* end of lemma zenon_L226_ *) % 218.44/218.60 assert (zenon_L227_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H7a zenon_H89 zenon_Hcb zenon_H26 zenon_Hd6 zenon_Hc5 zenon_H74 zenon_H9d zenon_Hb zenon_H85 zenon_H52 zenon_H5c zenon_H46 zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L108_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L109_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L110_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L111_); trivial. % 218.44/218.60 apply (zenon_L91_); trivial. % 218.44/218.60 (* end of lemma zenon_L227_ *) % 218.44/218.60 assert (zenon_L228_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H74 zenon_H89 zenon_Hcb zenon_H26 zenon_Hda zenon_Hc5 zenon_H97 zenon_Hae zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L116_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 apply (zenon_L117_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L118_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L119_); trivial. % 218.44/218.60 apply (zenon_L86_); trivial. % 218.44/218.60 (* end of lemma zenon_L228_ *) % 218.44/218.60 assert (zenon_L229_ : (~((j (h (e10))) = (j (e24)))) -> ((h (e10)) = (e24)) -> False). % 218.44/218.60 do 0 intro. intros zenon_H12f zenon_H130. % 218.44/218.60 cut (((h (e10)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_H131]. % 218.44/218.60 congruence. % 218.44/218.60 exact (zenon_H131 zenon_H130). % 218.44/218.60 (* end of lemma zenon_L229_ *) % 218.44/218.60 assert (zenon_L230_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H130 zenon_Hec zenon_H89. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((e10) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H89. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e14) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H8a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ]. % 218.44/218.60 cut (((e14) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H27. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H112. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e14)) = ((j (h (e10))) = (e14))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H111. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_Hec. % 218.44/218.60 cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 218.44/218.60 cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H132]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H132. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L229_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 apply zenon_H24. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L230_ *) % 218.44/218.60 assert (zenon_L231_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> (~((e10) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_Hcb zenon_H26 zenon_He2 zenon_Hc5 zenon_Ha2 zenon_H105 zenon_H130 zenon_H89. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L133_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L134_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L135_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L136_); trivial. % 218.44/218.60 apply (zenon_L230_); trivial. % 218.44/218.60 (* end of lemma zenon_L231_ *) % 218.44/218.60 assert (zenon_L232_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e10) = (e13))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H130 zenon_He8 zenon_H85. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((e10) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H85. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e13) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H86. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ]. % 218.44/218.60 cut (((e13) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H20. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H114]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H114. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e13)) = ((j (h (e10))) = (e13))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H113. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He8. % 218.44/218.60 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 218.44/218.60 cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H132]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H132. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L229_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 apply zenon_H1d. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L232_ *) % 218.44/218.60 assert (zenon_L233_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((h (e10)) = (e24)) -> ((j (h (e10))) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_H9d zenon_H1f zenon_H85 zenon_H130 zenon_H105 zenon_H97 zenon_Hea zenon_Ha2. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L144_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L145_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L146_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L232_); trivial. % 218.44/218.60 apply (zenon_L138_); trivial. % 218.44/218.60 (* end of lemma zenon_L233_ *) % 218.44/218.60 assert (zenon_L234_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e12)) -> (~((e10) = (e12))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H130 zenon_He7 zenon_Hb. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((e10) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_Hb. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e12) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H6a. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ]. % 218.44/218.60 cut (((e12) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H31. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H107. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e12)) = ((j (h (e10))) = (e12))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H106. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He7. % 218.44/218.60 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 218.44/218.60 cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H132]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H132. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L229_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 apply zenon_Ha. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L234_ *) % 218.44/218.60 assert (zenon_L235_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e24)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False). % 218.44/218.60 do 0 intro. intros zenon_Hee zenon_H15 zenon_Hb zenon_H130 zenon_H105 zenon_H1f zenon_Hc zenon_Hf3 zenon_H26. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.60 apply (zenon_L199_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.60 apply (zenon_L200_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.60 apply (zenon_L234_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.60 apply (zenon_L147_); trivial. % 218.44/218.60 apply (zenon_L142_); trivial. % 218.44/218.60 (* end of lemma zenon_L235_ *) % 218.44/218.60 assert (zenon_L236_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e11)) -> (~((e10) = (e11))) -> False). % 218.44/218.60 do 0 intro. intros zenon_H105 zenon_H130 zenon_He6 zenon_H63. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H63. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (h (e10))) = (e10)) = ((e11) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H64. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H105. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H123. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e24)) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H122. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_He6. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H132]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H132. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H108. % 218.44/218.60 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.60 cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L229_); trivial. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H109. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 (* end of lemma zenon_L236_ *) % 218.44/218.60 apply NNPP. intro zenon_G. % 218.44/218.60 apply (zenon_and_s _ _ ax1). zenon_intro zenon_H63. zenon_intro zenon_H133. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H133). zenon_intro zenon_Hb. zenon_intro zenon_H134. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H134). zenon_intro zenon_H85. zenon_intro zenon_H135. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H135). zenon_intro zenon_H89. zenon_intro zenon_H136. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H136). zenon_intro zenon_H15. zenon_intro zenon_H137. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H137). zenon_intro zenon_H9d. zenon_intro zenon_H138. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H138). zenon_intro zenon_Hcb. zenon_intro zenon_H139. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H139). zenon_intro zenon_H1f. zenon_intro zenon_H13a. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H13a). zenon_intro zenon_H26. zenon_intro zenon_Ha2. % 218.44/218.60 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H45. zenon_intro zenon_H13b. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H13b). zenon_intro zenon_H13d. zenon_intro zenon_H13c. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H13c). zenon_intro zenon_H13f. zenon_intro zenon_H13e. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H13e). zenon_intro zenon_H141. zenon_intro zenon_H140. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H140). zenon_intro zenon_H143. zenon_intro zenon_H142. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H142). zenon_intro zenon_H145. zenon_intro zenon_H144. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H144). zenon_intro zenon_H147. zenon_intro zenon_H146. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H146). zenon_intro zenon_H149. zenon_intro zenon_H148. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H148). zenon_intro zenon_H14b. zenon_intro zenon_H14a. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H14a). zenon_intro zenon_H14d. zenon_intro zenon_H14c. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H14c). zenon_intro zenon_H14f. zenon_intro zenon_H14e. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H14e). zenon_intro zenon_H151. zenon_intro zenon_H150. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H150). zenon_intro zenon_H58. zenon_intro zenon_H152. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H152). zenon_intro zenon_H154. zenon_intro zenon_H153. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H153). zenon_intro zenon_H156. zenon_intro zenon_H155. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H155). zenon_intro zenon_H158. zenon_intro zenon_H157. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H157). zenon_intro zenon_H15a. zenon_intro zenon_H159. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H159). zenon_intro zenon_H15c. zenon_intro zenon_H15b. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H15b). zenon_intro zenon_H70. zenon_intro zenon_H15d. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H15d). zenon_intro zenon_H15f. zenon_intro zenon_H15e. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H15e). zenon_intro zenon_H161. zenon_intro zenon_H160. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H160). zenon_intro zenon_H163. zenon_intro zenon_H162. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H162). zenon_intro zenon_H165. zenon_intro zenon_H164. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H164). zenon_intro zenon_H166. zenon_intro zenon_H46. % 218.44/218.60 apply (zenon_and_s _ _ ax5). zenon_intro zenon_H168. zenon_intro zenon_H167. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H167). zenon_intro zenon_H16a. zenon_intro zenon_H169. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H169). zenon_intro zenon_H16c. zenon_intro zenon_H16b. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H16b). zenon_intro zenon_H16e. zenon_intro zenon_H16d. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H16d). zenon_intro zenon_H170. zenon_intro zenon_H16f. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H16f). zenon_intro zenon_H172. zenon_intro zenon_H171. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H171). zenon_intro zenon_H52. zenon_intro zenon_H173. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H173). zenon_intro zenon_H175. zenon_intro zenon_H174. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H174). zenon_intro zenon_H177. zenon_intro zenon_H176. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H176). zenon_intro zenon_H179. zenon_intro zenon_H178. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H178). zenon_intro zenon_H17b. zenon_intro zenon_H17a. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H17a). zenon_intro zenon_H17d. zenon_intro zenon_H17c. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H17c). zenon_intro zenon_H3f. zenon_intro zenon_H17e. % 218.44/218.60 apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_H180. zenon_intro zenon_H17f. % 218.44/218.60 apply zenon_H17f. zenon_intro zenon_H181. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H181). zenon_intro zenon_H183. zenon_intro zenon_H182. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_H185. zenon_intro zenon_H184. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H184). zenon_intro zenon_H187. zenon_intro zenon_H186. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H186). zenon_intro zenon_H189. zenon_intro zenon_H188. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H188). zenon_intro zenon_H18b. zenon_intro zenon_H18a. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H18a). zenon_intro zenon_H18d. zenon_intro zenon_H18c. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H18c). zenon_intro zenon_H18f. zenon_intro zenon_H18e. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H18e). zenon_intro zenon_H191. zenon_intro zenon_H190. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_H193. zenon_intro zenon_H192. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H192). zenon_intro zenon_H195. zenon_intro zenon_H194. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_H197. zenon_intro zenon_H196. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H196). zenon_intro zenon_H199. zenon_intro zenon_H198. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H198). zenon_intro zenon_H19b. zenon_intro zenon_H19a. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H19a). zenon_intro zenon_H19d. zenon_intro zenon_H19c. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H19c). zenon_intro zenon_H19f. zenon_intro zenon_H19e. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H19e). zenon_intro zenon_H1a1. zenon_intro zenon_H1a0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1a0). zenon_intro zenon_H1a3. zenon_intro zenon_H1a2. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1a2). zenon_intro zenon_H1a5. zenon_intro zenon_H1a4. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1a4). zenon_intro zenon_H1a7. zenon_intro zenon_H1a6. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1a6). zenon_intro zenon_H1a9. zenon_intro zenon_H1a8. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1a8). zenon_intro zenon_H1ab. zenon_intro zenon_H1aa. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1aa). zenon_intro zenon_H1ad. zenon_intro zenon_H1ac. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ac). zenon_intro zenon_H1af. zenon_intro zenon_H1ae. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ae). zenon_intro zenon_H1b1. zenon_intro zenon_H1b0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1b0). zenon_intro zenon_H1b3. zenon_intro zenon_H1b2. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1b2). zenon_intro zenon_H1b5. zenon_intro zenon_H1b4. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1b4). zenon_intro zenon_H1b7. zenon_intro zenon_H1b6. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1b6). zenon_intro zenon_H1b9. zenon_intro zenon_H1b8. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1b8). zenon_intro zenon_H1bb. zenon_intro zenon_H1ba. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ba). zenon_intro zenon_H1bd. zenon_intro zenon_H1bc. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1bc). zenon_intro zenon_H1bf. zenon_intro zenon_H1be. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1be). zenon_intro zenon_H5c. zenon_intro zenon_H1c0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c0). zenon_intro zenon_H1c2. zenon_intro zenon_H1c1. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c1). zenon_intro zenon_H1c4. zenon_intro zenon_H1c3. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c3). zenon_intro zenon_H1c6. zenon_intro zenon_H1c5. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c5). zenon_intro zenon_H1c8. zenon_intro zenon_H1c7. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c7). zenon_intro zenon_H1ca. zenon_intro zenon_H1c9. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1c9). zenon_intro zenon_H4b. zenon_intro zenon_H1cb. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1cb). zenon_intro zenon_H1cd. zenon_intro zenon_H1cc. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1cc). zenon_intro zenon_H1cf. zenon_intro zenon_H1ce. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ce). zenon_intro zenon_H1d1. zenon_intro zenon_H1d0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1d0). zenon_intro zenon_H1d3. zenon_intro zenon_H1d2. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1d2). zenon_intro zenon_H1d5. zenon_intro zenon_H1d4. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1d4). zenon_intro zenon_H1d7. zenon_intro zenon_H1d6. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1d6). zenon_intro zenon_H1d9. zenon_intro zenon_H1d8. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1d8). zenon_intro zenon_H1db. zenon_intro zenon_H1da. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1da). zenon_intro zenon_H1dd. zenon_intro zenon_H1dc. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1dc). zenon_intro zenon_H1df. zenon_intro zenon_H1de. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1de). zenon_intro zenon_H1e1. zenon_intro zenon_H1e0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1e0). zenon_intro zenon_H1e3. zenon_intro zenon_H1e2. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1e2). zenon_intro zenon_H1e5. zenon_intro zenon_H1e4. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1e4). zenon_intro zenon_H1e7. zenon_intro zenon_H1e6. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1e6). zenon_intro zenon_H1e9. zenon_intro zenon_H1e8. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1e8). zenon_intro zenon_H1eb. zenon_intro zenon_H1ea. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ea). zenon_intro zenon_H1ed. zenon_intro zenon_H1ec. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ec). zenon_intro zenon_H105. zenon_intro zenon_H1ee. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ee). zenon_intro zenon_H2c. zenon_intro zenon_H1ef. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1ef). zenon_intro zenon_Hc. zenon_intro zenon_H1f0. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H97. zenon_intro zenon_Hc5. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H180). zenon_intro zenon_H1f2. zenon_intro zenon_H1f1. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f1). zenon_intro zenon_H1f4. zenon_intro zenon_H1f3. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f3). zenon_intro zenon_Hf6. zenon_intro zenon_H1f5. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_Hf7. zenon_intro zenon_H1f6. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f6). zenon_intro zenon_Hf8. zenon_intro zenon_H1f7. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f7). zenon_intro zenon_H2b. zenon_intro zenon_H1f8. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f8). zenon_intro zenon_H7a. zenon_intro zenon_H1f9. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1f9). zenon_intro zenon_H74. zenon_intro zenon_H1fa. % 218.44/218.60 apply (zenon_and_s _ _ zenon_H1fa). zenon_intro zenon_Hbe. zenon_intro zenon_Hee. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H103 | zenon_intro zenon_H1fb ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1b | zenon_intro zenon_H1fc ]. % 218.44/218.60 apply (zenon_L149_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H10c | zenon_intro zenon_H1fd ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.60 apply (zenon_L151_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.60 apply (zenon_L155_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.60 apply (zenon_L158_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.60 apply (zenon_L162_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L160_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L163_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L164_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L161_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L165_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L166_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L140_); trivial. % 218.44/218.60 apply (zenon_L143_); trivial. % 218.44/218.60 apply (zenon_L148_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_H116 | zenon_intro zenon_H1fe ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.60 apply (zenon_L151_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.60 apply (zenon_L171_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.60 apply (zenon_L174_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.60 apply (zenon_L162_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L160_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L176_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L177_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L161_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L179_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L180_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L140_); trivial. % 218.44/218.60 apply (zenon_L143_); trivial. % 218.44/218.60 apply (zenon_L148_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H11a | zenon_intro zenon_H11e ]. % 218.44/218.60 apply (zenon_L193_); trivial. % 218.44/218.60 apply (zenon_L203_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fb); [ zenon_intro zenon_H121 | zenon_intro zenon_H1ff ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1b | zenon_intro zenon_H1fc ]. % 218.44/218.60 apply (zenon_L149_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H10c | zenon_intro zenon_H1fd ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_L153_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L204_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L154_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L156_); trivial. % 218.44/218.60 apply (zenon_L157_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_H116 | zenon_intro zenon_H1fe ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.60 apply (zenon_L168_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H63. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H64. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H46. % 218.44/218.60 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.60 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.60 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H65. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H18. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.44/218.60 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H66. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H67. % 218.44/218.60 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.44/218.60 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.44/218.60 congruence. % 218.44/218.60 cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H65. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H62. % 218.44/218.60 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.60 cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 218.44/218.60 congruence. % 218.44/218.60 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.44/218.60 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))). % 218.44/218.60 intro zenon_D_pnotp. % 218.44/218.60 apply zenon_H60. % 218.44/218.60 rewrite <- zenon_D_pnotp. % 218.44/218.60 exact zenon_H67. % 218.44/218.60 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.44/218.60 cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 218.44/218.60 congruence. % 218.44/218.60 apply (zenon_L42_); trivial. % 218.44/218.60 apply zenon_H68. apply refl_equal. % 218.44/218.60 apply zenon_H68. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H68. apply refl_equal. % 218.44/218.60 apply zenon_H68. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H9. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply zenon_H14. apply refl_equal. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.60 apply (zenon_L43_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.60 apply (zenon_L44_); trivial. % 218.44/218.60 apply (zenon_L45_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.60 apply (zenon_L204_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.60 apply (zenon_L170_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.60 apply (zenon_L175_); trivial. % 218.44/218.60 apply (zenon_L178_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H11a | zenon_intro zenon_H11e ]. % 218.44/218.60 apply (zenon_L193_); trivial. % 218.44/218.60 apply (zenon_L203_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1ff); [ zenon_intro zenon_H128 | zenon_intro zenon_H200 ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1b | zenon_intro zenon_H1fc ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.60 apply (zenon_L12_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.60 apply (zenon_L36_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.60 apply (zenon_L207_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L72_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L209_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_L100_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L106_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.60 apply (zenon_L211_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.60 apply (zenon_L131_); trivial. % 218.44/218.60 apply (zenon_L139_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.60 apply (zenon_L72_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.60 apply (zenon_L81_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.60 apply (zenon_L209_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.60 apply (zenon_L106_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.60 apply (zenon_L114_); trivial. % 218.44/218.60 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L211_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_L148_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H10c | zenon_intro zenon_H1fd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H3b | zenon_intro zenon_H7b ]. % 218.44/218.61 apply (zenon_L153_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H3d | zenon_intro zenon_H7c ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.61 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.61 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H63. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H18. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H64. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H46. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.61 cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H65. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H18. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.44/218.61 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H66. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H67. % 218.44/218.61 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.44/218.61 cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((j (e21)) = (e11)) = ((op1 (e14) (e14)) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H65. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H3d. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H4f]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 218.44/218.61 cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H4f. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H67. % 218.44/218.61 cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 218.44/218.61 cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 218.44/218.61 congruence. % 218.44/218.61 apply (zenon_L19_); trivial. % 218.44/218.61 apply zenon_H68. apply refl_equal. % 218.44/218.61 apply zenon_H68. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H68. apply refl_equal. % 218.44/218.61 apply zenon_H68. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.61 apply (zenon_L212_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.61 apply (zenon_L206_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.61 apply (zenon_L208_); trivial. % 218.44/218.61 apply (zenon_L210_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H7c); [ zenon_intro zenon_H55 | zenon_intro zenon_H7d ]. % 218.44/218.61 apply (zenon_L154_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ]. % 218.44/218.61 apply (zenon_L156_); trivial. % 218.44/218.61 apply (zenon_L157_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_H116 | zenon_intro zenon_H1fe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H74); [ zenon_intro zenon_H42 | zenon_intro zenon_H75 ]. % 218.44/218.61 apply (zenon_L168_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H75); [ zenon_intro zenon_H62 | zenon_intro zenon_H76 ]. % 218.44/218.61 apply (zenon_L212_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H76); [ zenon_intro zenon_H69 | zenon_intro zenon_H77 ]. % 218.44/218.61 apply (zenon_L169_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H6e | zenon_intro zenon_H72 ]. % 218.44/218.61 apply (zenon_L172_); trivial. % 218.44/218.61 apply (zenon_L173_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H11a | zenon_intro zenon_H11e ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L81_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L209_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L184_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L114_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L211_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L139_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L36_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L207_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L191_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L114_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L211_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L81_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L209_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L184_); trivial. % 218.44/218.61 apply (zenon_L148_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L81_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L209_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L114_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L211_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_L198_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L36_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L207_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L114_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L211_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L131_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L81_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L209_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L100_); trivial. % 218.44/218.61 apply (zenon_L198_); trivial. % 218.44/218.61 apply (zenon_L202_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H12c | zenon_intro zenon_H130 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1b | zenon_intro zenon_H1fc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_L12_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L213_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L214_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L217_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L218_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L139_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L220_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L221_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L222_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L223_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L139_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L224_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L225_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L226_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L227_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L228_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L148_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H10c | zenon_intro zenon_H1fd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L163_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L164_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L165_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L166_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L139_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L155_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L158_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L224_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L165_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L166_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L163_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L164_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L148_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_H116 | zenon_intro zenon_H1fe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L176_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L177_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L179_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L180_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L139_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L171_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L174_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L224_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L179_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L180_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L143_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L176_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L177_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L148_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H11a | zenon_intro zenon_H11e ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hbf ]. % 218.44/218.61 cut (((j (h (e11))) = (e11)) = ((e10) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H63. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H2c. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.44/218.61 cut (((e10) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10e. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_Hf. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10f. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H35. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.61 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((j (e23)) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10e. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_Hb4. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H11c]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H11c. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H35. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.61 cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 218.44/218.61 congruence. % 218.44/218.61 apply (zenon_L182_); trivial. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc0 ]. % 218.44/218.61 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.61 cut (((e11) = (e11)) = ((e10) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H63. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H18. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((j (h (e10))) = (e10)) = ((e11) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H64. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H105. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ]. % 218.44/218.61 cut (((e11) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H122. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H18. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H123]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.61 cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H123. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H108. % 218.44/218.61 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.61 cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H122]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((j (e23)) = (e11)) = ((j (h (e10))) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H122. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_Hb6. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ]. % 218.44/218.61 cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H12e. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H108. % 218.44/218.61 cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 218.44/218.61 cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 218.44/218.61 congruence. % 218.44/218.61 apply (zenon_L215_); trivial. % 218.44/218.61 apply zenon_H109. apply refl_equal. % 218.44/218.61 apply zenon_H109. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H109. apply refl_equal. % 218.44/218.61 apply zenon_H109. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc1 ]. % 218.44/218.61 apply (zenon_L190_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbd ]. % 218.44/218.61 apply (zenon_L183_); trivial. % 218.44/218.61 apply (zenon_L186_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L225_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L226_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L227_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L228_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L198_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L217_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L218_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L213_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L214_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L198_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L222_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L223_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L219_); trivial. % 218.44/218.61 apply (zenon_L196_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L220_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L221_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L216_); trivial. % 218.44/218.61 apply (zenon_L198_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L224_); trivial. % 218.44/218.61 apply (zenon_L202_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1b | zenon_intro zenon_H1fc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_L12_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L213_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L214_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L217_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L218_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L220_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L221_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L222_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L223_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L72_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L225_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L226_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L131_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L106_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L227_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L228_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L131_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L100_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_L235_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H10c | zenon_intro zenon_H1fd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L163_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L164_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L165_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L166_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L155_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L158_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L165_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L166_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L131_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L163_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L164_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L100_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_L235_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_H116 | zenon_intro zenon_H1fe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L176_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L177_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L179_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L180_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L140_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_L171_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_L174_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L179_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L180_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L131_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L176_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L177_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L100_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_L235_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H11a | zenon_intro zenon_H11e ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf9 ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_L181_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L225_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L226_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L185_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L227_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L228_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L184_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H39 | zenon_intro zenon_Hfa ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L217_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L218_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L213_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L214_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L184_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H7f | zenon_intro zenon_Hfb ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_H95 | zenon_intro zenon_Hfc ]. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hff ]. % 218.44/218.61 apply (zenon_L192_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_Hd6 | zenon_intro zenon_H100 ]. % 218.44/218.61 apply (zenon_L222_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hda | zenon_intro zenon_H101 ]. % 218.44/218.61 apply (zenon_L223_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hde | zenon_intro zenon_He2 ]. % 218.44/218.61 apply (zenon_L187_); trivial. % 218.44/218.61 apply (zenon_L231_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Haa | zenon_intro zenon_Hfd ]. % 218.44/218.61 apply (zenon_L220_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hfe ]. % 218.44/218.61 apply (zenon_L221_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hea ]. % 218.44/218.61 apply (zenon_L184_); trivial. % 218.44/218.61 apply (zenon_L233_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hb9 | zenon_intro zenon_Hf3 ]. % 218.44/218.61 apply (zenon_L191_); trivial. % 218.44/218.61 apply (zenon_L235_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_He4 | zenon_intro zenon_Hef ]. % 218.44/218.61 cut (((j (h (e11))) = (e11)) = ((e10) = (e11))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H63. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H2c. % 218.44/218.61 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14]. % 218.44/218.61 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ]. % 218.44/218.61 cut (((e10) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10e. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_Hf. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10f. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H35. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.61 cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 218.44/218.61 congruence. % 218.44/218.61 cut (((j (e24)) = (e10)) = ((j (h (e11))) = (e10))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H10e. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_He4. % 218.44/218.61 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9]. % 218.44/218.61 cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H120]. % 218.44/218.61 congruence. % 218.44/218.61 elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ]. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))). % 218.44/218.61 intro zenon_D_pnotp. % 218.44/218.61 apply zenon_H120. % 218.44/218.61 rewrite <- zenon_D_pnotp. % 218.44/218.61 exact zenon_H35. % 218.44/218.61 cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 218.44/218.61 cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H11d]. % 218.44/218.61 congruence. % 218.44/218.61 apply (zenon_L194_); trivial. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H36. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H9. apply refl_equal. % 218.44/218.61 apply zenon_H14. apply refl_equal. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_He6 | zenon_intro zenon_Hf0 ]. % 218.44/218.61 apply (zenon_L236_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf1 ]. % 218.44/218.61 apply (zenon_L201_); trivial. % 218.44/218.61 apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ]. % 218.44/218.61 apply (zenon_L197_); trivial. % 218.44/218.61 apply (zenon_L195_); trivial. % 218.44/218.61 Qed. % 218.44/218.61 % SZS output end Proof % 218.44/218.61 (* END-PROOF *) % 218.44/218.61 nodes searched: 3621499 % 218.44/218.61 max branch formulas: 5814 % 218.44/218.61 proof nodes created: 3091 % 218.44/218.61 formulas created: 7455064 % 218.44/218.61 %------------------------------------------------------------------------------