%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG118+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n028.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:30 EDT 2022 % Result : Theorem 40.73s 40.96s % Output : Proof 40.85s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.10/0.12 % Problem : ALG118+1 : TPTP v8.1.0. Released v2.7.0. % 0.10/0.12 % Command : run_zenon %s %d % 0.12/0.33 % Computer : n028.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 08:15:16 EDT 2022 % 0.12/0.33 % CPUTime : % 40.73/40.96 (* PROOF-FOUND *) % 40.73/40.96 % SZS status Theorem % 40.73/40.96 (* BEGIN-PROOF *) % 40.73/40.96 % SZS output start Proof % 40.73/40.96 Theorem co1 : ((((h1 (op1 (e10) (e10))) = (op2 (h1 (e10)) (h1 (e10))))/\(((h1 (op1 (e10) (e11))) = (op2 (h1 (e10)) (h1 (e11))))/\(((h1 (op1 (e10) (e12))) = (op2 (h1 (e10)) (h1 (e12))))/\(((h1 (op1 (e10) (e13))) = (op2 (h1 (e10)) (h1 (e13))))/\(((h1 (op1 (e11) (e10))) = (op2 (h1 (e11)) (h1 (e10))))/\(((h1 (op1 (e11) (e11))) = (op2 (h1 (e11)) (h1 (e11))))/\(((h1 (op1 (e11) (e12))) = (op2 (h1 (e11)) (h1 (e12))))/\(((h1 (op1 (e11) (e13))) = (op2 (h1 (e11)) (h1 (e13))))/\(((h1 (op1 (e12) (e10))) = (op2 (h1 (e12)) (h1 (e10))))/\(((h1 (op1 (e12) (e11))) = (op2 (h1 (e12)) (h1 (e11))))/\(((h1 (op1 (e12) (e12))) = (op2 (h1 (e12)) (h1 (e12))))/\(((h1 (op1 (e12) (e13))) = (op2 (h1 (e12)) (h1 (e13))))/\(((h1 (op1 (e13) (e10))) = (op2 (h1 (e13)) (h1 (e10))))/\(((h1 (op1 (e13) (e11))) = (op2 (h1 (e13)) (h1 (e11))))/\(((h1 (op1 (e13) (e12))) = (op2 (h1 (e13)) (h1 (e12))))/\(((h1 (op1 (e13) (e13))) = (op2 (h1 (e13)) (h1 (e13))))/\((((h1 (e10)) = (e20))\/(((h1 (e11)) = (e20))\/(((h1 (e12)) = (e20))\/((h1 (e13)) = (e20)))))/\((((h1 (e10)) = (e21))\/(((h1 (e11)) = (e21))\/(((h1 (e12)) = (e21))\/((h1 (e13)) = (e21)))))/\((((h1 (e10)) = (e22))\/(((h1 (e11)) = (e22))\/(((h1 (e12)) = (e22))\/((h1 (e13)) = (e22)))))/\(((h1 (e10)) = (e23))\/(((h1 (e11)) = (e23))\/(((h1 (e12)) = (e23))\/((h1 (e13)) = (e23))))))))))))))))))))))))\/((((h2 (op1 (e10) (e10))) = (op2 (h2 (e10)) (h2 (e10))))/\(((h2 (op1 (e10) (e11))) = (op2 (h2 (e10)) (h2 (e11))))/\(((h2 (op1 (e10) (e12))) = (op2 (h2 (e10)) (h2 (e12))))/\(((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))/\(((h2 (op1 (e11) (e10))) = (op2 (h2 (e11)) (h2 (e10))))/\(((h2 (op1 (e11) (e11))) = (op2 (h2 (e11)) (h2 (e11))))/\(((h2 (op1 (e11) (e12))) = (op2 (h2 (e11)) (h2 (e12))))/\(((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))/\(((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))/\(((h2 (op1 (e12) (e11))) = (op2 (h2 (e12)) (h2 (e11))))/\(((h2 (op1 (e12) (e12))) = (op2 (h2 (e12)) (h2 (e12))))/\(((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))/\(((h2 (op1 (e13) (e10))) = (op2 (h2 (e13)) (h2 (e10))))/\(((h2 (op1 (e13) (e11))) = (op2 (h2 (e13)) (h2 (e11))))/\(((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))/\(((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))/\((((h2 (e10)) = (e20))\/(((h2 (e11)) = (e20))\/(((h2 (e12)) = (e20))\/((h2 (e13)) = (e20)))))/\((((h2 (e10)) = (e21))\/(((h2 (e11)) = (e21))\/(((h2 (e12)) = (e21))\/((h2 (e13)) = (e21)))))/\((((h2 (e10)) = (e22))\/(((h2 (e11)) = (e22))\/(((h2 (e12)) = (e22))\/((h2 (e13)) = (e22)))))/\(((h2 (e10)) = (e23))\/(((h2 (e11)) = (e23))\/(((h2 (e12)) = (e23))\/((h2 (e13)) = (e23))))))))))))))))))))))))\/((((h3 (op1 (e10) (e10))) = (op2 (h3 (e10)) (h3 (e10))))/\(((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))/\(((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))/\(((h3 (op1 (e10) (e13))) = (op2 (h3 (e10)) (h3 (e13))))/\(((h3 (op1 (e11) (e10))) = (op2 (h3 (e11)) (h3 (e10))))/\(((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))/\(((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))/\(((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))/\(((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))/\(((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))/\(((h3 (op1 (e12) (e12))) = (op2 (h3 (e12)) (h3 (e12))))/\(((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))/\(((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))/\(((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))/\(((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))/\(((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))/\((((h3 (e10)) = (e20))\/(((h3 (e11)) = (e20))\/(((h3 (e12)) = (e20))\/((h3 (e13)) = (e20)))))/\((((h3 (e10)) = (e21))\/(((h3 (e11)) = (e21))\/(((h3 (e12)) = (e21))\/((h3 (e13)) = (e21)))))/\((((h3 (e10)) = (e22))\/(((h3 (e11)) = (e22))\/(((h3 (e12)) = (e22))\/((h3 (e13)) = (e22)))))/\(((h3 (e10)) = (e23))\/(((h3 (e11)) = (e23))\/(((h3 (e12)) = (e23))\/((h3 (e13)) = (e23))))))))))))))))))))))))\/(((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))/\(((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))/\(((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))/\(((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))/\(((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))/\(((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))/\(((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))/\(((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))/\(((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))/\(((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))/\(((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))/\(((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))/\(((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))/\(((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))/\(((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))/\(((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))/\((((h4 (e10)) = (e20))\/(((h4 (e11)) = (e20))\/(((h4 (e12)) = (e20))\/((h4 (e13)) = (e20)))))/\((((h4 (e10)) = (e21))\/(((h4 (e11)) = (e21))\/(((h4 (e12)) = (e21))\/((h4 (e13)) = (e21)))))/\((((h4 (e10)) = (e22))\/(((h4 (e11)) = (e22))\/(((h4 (e12)) = (e22))\/((h4 (e13)) = (e22)))))/\(((h4 (e10)) = (e23))\/(((h4 (e11)) = (e23))\/(((h4 (e12)) = (e23))\/((h4 (e13)) = (e23))))))))))))))))))))))))))). % 40.73/40.96 Proof. % 40.73/40.96 assert (zenon_L1_ : (~((h2 (e10)) = (e20))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> False). % 40.73/40.96 do 0 intro. intros zenon_H12 zenon_H13 zenon_H14. % 40.73/40.96 cut (((h2 (e10)) = (op2 (e21) (e21))) = ((h2 (e10)) = (e20))). % 40.73/40.96 intro zenon_D_pnotp. % 40.73/40.96 apply zenon_H12. % 40.73/40.96 rewrite <- zenon_D_pnotp. % 40.73/40.96 exact zenon_H13. % 40.73/40.96 cut (((op2 (e21) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 40.73/40.96 cut (((h2 (e10)) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H16]. % 40.73/40.96 congruence. % 40.73/40.96 apply zenon_H16. apply refl_equal. % 40.73/40.96 apply zenon_H15. apply sym_equal. exact zenon_H14. % 40.73/40.96 (* end of lemma zenon_L1_ *) % 40.73/40.96 assert (zenon_L2_ : (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e10) (e11)) = (e10)) -> False). % 40.73/40.96 do 0 intro. intros zenon_H17 zenon_H18 zenon_H19. % 40.73/40.96 cut (((e10) = (op1 (e11) (e11))) = ((op1 (e10) (e11)) = (op1 (e11) (e11)))). % 40.73/40.96 intro zenon_D_pnotp. % 40.73/40.96 apply zenon_H17. % 40.73/40.96 rewrite <- zenon_D_pnotp. % 40.73/40.96 exact zenon_H18. % 40.73/40.96 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.73/40.96 cut (((e10) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1b]. % 40.73/40.96 congruence. % 40.73/40.96 elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_H1c | zenon_intro zenon_H1d ]. % 40.73/40.96 cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e10) = (op1 (e10) (e11)))). % 40.73/40.96 intro zenon_D_pnotp. % 40.73/40.96 apply zenon_H1b. % 40.73/40.96 rewrite <- zenon_D_pnotp. % 40.73/40.96 exact zenon_H1c. % 40.73/40.96 cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 40.73/40.96 cut (((op1 (e10) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 40.73/40.96 congruence. % 40.73/40.96 exact (zenon_H1e zenon_H19). % 40.73/40.96 apply zenon_H1d. apply refl_equal. % 40.73/40.96 apply zenon_H1d. apply refl_equal. % 40.73/40.96 apply zenon_H1a. apply refl_equal. % 40.73/40.96 (* end of lemma zenon_L2_ *) % 40.73/40.96 assert (zenon_L3_ : (~((e11) = (e11))) -> False). % 40.73/40.96 do 0 intro. intros zenon_H1f. % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L3_ *) % 40.73/40.97 assert (zenon_L4_ : (~((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H20 zenon_H18. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H21. apply sym_equal. exact zenon_H18. % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L4_ *) % 40.73/40.97 assert (zenon_L5_ : (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e10) (e10)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H22 zenon_H23 zenon_H24 zenon_H18. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e10) (e10)) = (op1 (e10) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H22. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.97 cut (((e13) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (e10)) = (op1 (e10) (e10)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ]. % 40.73/40.97 cut (((op1 (e10) (e10)) = (op1 (e10) (e10))) = ((e13) = (op1 (e10) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H25. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H26. % 40.73/40.97 cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H27]. % 40.73/40.97 cut (((op1 (e10) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H28 zenon_H24). % 40.73/40.97 apply zenon_H27. apply refl_equal. % 40.73/40.97 apply zenon_H27. apply refl_equal. % 40.73/40.97 apply (zenon_L4_); trivial. % 40.73/40.97 (* end of lemma zenon_L5_ *) % 40.73/40.97 assert (zenon_L6_ : (~((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H29 zenon_H2a. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2b]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H2b zenon_H2a). % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L6_ *) % 40.73/40.97 assert (zenon_L7_ : (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e11) (e11)) = (e11)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H17 zenon_H23 zenon_H2c zenon_H2a. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e10) (e11)) = (op1 (e11) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H17. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 40.73/40.97 cut (((e13) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2d]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_H1c | zenon_intro zenon_H1d ]. % 40.73/40.97 cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e13) = (op1 (e10) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H2d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H1c. % 40.73/40.97 cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 40.73/40.97 cut (((op1 (e10) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H2e zenon_H2c). % 40.73/40.97 apply zenon_H1d. apply refl_equal. % 40.73/40.97 apply zenon_H1d. apply refl_equal. % 40.73/40.97 apply (zenon_L6_); trivial. % 40.73/40.97 (* end of lemma zenon_L7_ *) % 40.73/40.97 assert (zenon_L8_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e10) (e12)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H23 zenon_H2f zenon_H18 zenon_H30. % 40.73/40.97 elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((op1 (e10) (e11)) = (op1 (e10) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H30. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H31. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e10) (e12)) = (op1 (e10) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H33. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.97 cut (((e13) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((e13) = (op1 (e10) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H34. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H31. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H35]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H35 zenon_H2f). % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 apply (zenon_L4_); trivial. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L8_ *) % 40.73/40.97 assert (zenon_L9_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e10) (e13)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H23 zenon_H36 zenon_H18 zenon_H37. % 40.73/40.97 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((op1 (e10) (e11)) = (op1 (e10) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H37. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H38. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e10) (e13)) = (op1 (e10) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H3a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.97 cut (((e13) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3b]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e13) = (op1 (e10) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H3b. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H38. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H3c zenon_H36). % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 apply (zenon_L4_); trivial. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L9_ *) % 40.73/40.97 assert (zenon_L10_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H3d zenon_H22 zenon_H2a zenon_H17 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.73/40.97 apply (zenon_L5_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.73/40.97 apply (zenon_L7_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.73/40.97 apply (zenon_L8_); trivial. % 40.73/40.97 apply (zenon_L9_); trivial. % 40.73/40.97 (* end of lemma zenon_L10_ *) % 40.73/40.97 assert (zenon_L11_ : ((op1 (e10) (e12)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H40 zenon_H41 zenon_H42. % 40.73/40.97 elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((op1 (e10) (e10)) = (op1 (e10) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H42. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H31. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H43]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e10) (e12)) = (e10)) = ((op1 (e10) (e12)) = (op1 (e10) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H43. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H40. % 40.73/40.97 cut (((e10) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 40.73/40.97 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 apply zenon_H44. apply sym_equal. exact zenon_H41. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 apply zenon_H32. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L11_ *) % 40.73/40.97 assert (zenon_L12_ : ((op1 (e11) (e10)) = (e11)) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H45 zenon_H46 zenon_H47. % 40.73/40.97 elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H48 | zenon_intro zenon_H49 ]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((op1 (e10) (e10)) = (op1 (e11) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H47. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H48. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e11) (e10)) = (e11)) = ((op1 (e11) (e10)) = (op1 (e10) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H4a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H45. % 40.73/40.97 cut (((e11) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4b]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply zenon_H4b. apply sym_equal. exact zenon_H46. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L12_ *) % 40.73/40.97 assert (zenon_L13_ : (~((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H4c zenon_H18 zenon_H23. % 40.73/40.97 cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H4d. apply sym_equal. exact zenon_H23. % 40.73/40.97 apply zenon_H21. apply sym_equal. exact zenon_H18. % 40.73/40.97 (* end of lemma zenon_L13_ *) % 40.73/40.97 assert (zenon_L14_ : (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H4e zenon_H4f zenon_H50 zenon_H18 zenon_H23. % 40.73/40.97 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e10) (e10)) = (op1 (e13) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H4e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H4f. % 40.73/40.97 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.97 cut (((e12) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (e10)) = (op1 (e10) (e10)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ]. % 40.73/40.97 cut (((op1 (e10) (e10)) = (op1 (e10) (e10))) = ((e12) = (op1 (e10) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H51. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H26. % 40.73/40.97 cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H27]. % 40.73/40.97 cut (((op1 (e10) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H52]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H52 zenon_H50). % 40.73/40.97 apply zenon_H27. apply refl_equal. % 40.73/40.97 apply zenon_H27. apply refl_equal. % 40.73/40.97 apply (zenon_L13_); trivial. % 40.73/40.97 (* end of lemma zenon_L14_ *) % 40.73/40.97 assert (zenon_L15_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> ((op1 (e10) (e12)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H53 zenon_H42 zenon_H40 zenon_H47 zenon_H45 zenon_H4f zenon_H4e zenon_H22 zenon_H23 zenon_H18. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H53); [ zenon_intro zenon_H41 | zenon_intro zenon_H54 ]. % 40.73/40.97 apply (zenon_L11_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H54); [ zenon_intro zenon_H46 | zenon_intro zenon_H55 ]. % 40.73/40.97 apply (zenon_L12_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H55); [ zenon_intro zenon_H50 | zenon_intro zenon_H24 ]. % 40.73/40.97 apply (zenon_L14_); trivial. % 40.73/40.97 apply (zenon_L5_); trivial. % 40.73/40.97 (* end of lemma zenon_L15_ *) % 40.73/40.97 assert (zenon_L16_ : (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e11) (e12)) = (e11)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H56 zenon_H45 zenon_H57. % 40.73/40.97 cut (((op1 (e11) (e10)) = (e11)) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H56. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H45. % 40.73/40.97 cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply zenon_H58. apply sym_equal. exact zenon_H57. % 40.73/40.97 (* end of lemma zenon_L16_ *) % 40.73/40.97 assert (zenon_L17_ : (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e12) (e12)) = (e12)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H59 zenon_H5a zenon_H5b. % 40.73/40.97 cut (((op1 (e12) (e11)) = (e12)) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H59. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H5a. % 40.73/40.97 cut (((e12) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 40.73/40.97 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H5d. apply refl_equal. % 40.73/40.97 apply zenon_H5c. apply sym_equal. exact zenon_H5b. % 40.73/40.97 (* end of lemma zenon_L17_ *) % 40.73/40.97 assert (zenon_L18_ : ((op1 (e10) (e13)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H5e zenon_H41 zenon_H5f. % 40.73/40.97 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((op1 (e10) (e10)) = (op1 (e10) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H5f. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H38. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e10) (e13)) = (e10)) = ((op1 (e10) (e13)) = (op1 (e10) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H60. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H5e. % 40.73/40.97 cut (((e10) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 40.73/40.97 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 apply zenon_H44. apply sym_equal. exact zenon_H41. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 apply zenon_H39. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L18_ *) % 40.73/40.97 assert (zenon_L19_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H53 zenon_H5f zenon_H5e zenon_H47 zenon_H45 zenon_H4f zenon_H4e zenon_H22 zenon_H23 zenon_H18. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H53); [ zenon_intro zenon_H41 | zenon_intro zenon_H54 ]. % 40.73/40.97 apply (zenon_L18_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H54); [ zenon_intro zenon_H46 | zenon_intro zenon_H55 ]. % 40.73/40.97 apply (zenon_L12_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H55); [ zenon_intro zenon_H50 | zenon_intro zenon_H24 ]. % 40.73/40.97 apply (zenon_L14_); trivial. % 40.73/40.97 apply (zenon_L5_); trivial. % 40.73/40.97 (* end of lemma zenon_L19_ *) % 40.73/40.97 assert (zenon_L20_ : (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e11) (e13)) = (e11)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H61 zenon_H45 zenon_H62. % 40.73/40.97 cut (((op1 (e11) (e10)) = (e11)) = ((op1 (e11) (e10)) = (op1 (e11) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H61. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H45. % 40.73/40.97 cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H63]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply zenon_H63. apply sym_equal. exact zenon_H62. % 40.73/40.97 (* end of lemma zenon_L20_ *) % 40.73/40.97 assert (zenon_L21_ : (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e12) (e13)) = (e12)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H64 zenon_H5a zenon_H65. % 40.73/40.97 cut (((op1 (e12) (e11)) = (e12)) = ((op1 (e12) (e11)) = (op1 (e12) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H64. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H5a. % 40.73/40.97 cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 40.73/40.97 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H5d. apply refl_equal. % 40.73/40.97 apply zenon_H66. apply sym_equal. exact zenon_H65. % 40.73/40.97 (* end of lemma zenon_L21_ *) % 40.73/40.97 assert (zenon_L22_ : (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e13)) -> ((op1 (e13) (e13)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H67 zenon_H68 zenon_H69. % 40.73/40.97 cut (((op1 (e13) (e12)) = (e13)) = ((op1 (e13) (e12)) = (op1 (e13) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H67. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H68. % 40.73/40.97 cut (((e13) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H6b. apply refl_equal. % 40.73/40.97 apply zenon_H6a. apply sym_equal. exact zenon_H69. % 40.73/40.97 (* end of lemma zenon_L22_ *) % 40.73/40.97 assert (zenon_L23_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H6c zenon_H18 zenon_H23 zenon_H22 zenon_H4e zenon_H4f zenon_H47 zenon_H5f zenon_H53 zenon_H45 zenon_H61 zenon_H5a zenon_H64 zenon_H67 zenon_H68. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.73/40.97 apply (zenon_L19_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.73/40.97 apply (zenon_L20_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.73/40.97 apply (zenon_L21_); trivial. % 40.73/40.97 apply (zenon_L22_); trivial. % 40.73/40.97 (* end of lemma zenon_L23_ *) % 40.73/40.97 assert (zenon_L24_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H18 zenon_H23 zenon_H22 zenon_H4e zenon_H4f zenon_H47 zenon_H5f zenon_H53 zenon_H45 zenon_H61 zenon_H5a zenon_H64 zenon_H67. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.73/40.97 apply (zenon_L15_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.73/40.97 apply (zenon_L16_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.73/40.97 apply (zenon_L17_); trivial. % 40.73/40.97 apply (zenon_L23_); trivial. % 40.73/40.97 (* end of lemma zenon_L24_ *) % 40.73/40.97 assert (zenon_L25_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e13) (e11)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H23 zenon_H72 zenon_H18 zenon_H73. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e10) (e11)) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H73. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H76]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e13) (e11)) = (op1 (e10) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H76. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.97 cut (((e13) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H77]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e13) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H77. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H78 zenon_H72). % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply (zenon_L4_); trivial. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L25_ *) % 40.73/40.97 assert (zenon_L26_ : (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e10)) = (e11)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H79 zenon_H37 zenon_H30 zenon_H17 zenon_H3d zenon_H67 zenon_H64 zenon_H61 zenon_H45 zenon_H53 zenon_H5f zenon_H47 zenon_H4f zenon_H4e zenon_H22 zenon_H6c zenon_H59 zenon_H56 zenon_H42 zenon_H6f zenon_H23 zenon_H18 zenon_H73. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.73/40.97 apply (zenon_L2_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.73/40.97 apply (zenon_L10_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.73/40.97 apply (zenon_L24_); trivial. % 40.73/40.97 apply (zenon_L25_); trivial. % 40.73/40.97 (* end of lemma zenon_L26_ *) % 40.73/40.97 assert (zenon_L27_ : (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e12) (e10)) = (e12)) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H7c zenon_H4f zenon_H7d zenon_H18 zenon_H23. % 40.73/40.97 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e12) (e10)) = (op1 (e13) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H7c. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H4f. % 40.73/40.97 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.97 cut (((e12) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ]. % 40.73/40.97 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e12) = (op1 (e12) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H7e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H7f. % 40.73/40.97 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 40.73/40.97 cut (((op1 (e12) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H81 zenon_H7d). % 40.73/40.97 apply zenon_H80. apply refl_equal. % 40.73/40.97 apply zenon_H80. apply refl_equal. % 40.73/40.97 apply (zenon_L13_); trivial. % 40.73/40.97 (* end of lemma zenon_L27_ *) % 40.73/40.97 assert (zenon_L28_ : (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e11) (e10)) = (e12)) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H82 zenon_H4f zenon_H83 zenon_H18 zenon_H23. % 40.73/40.97 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e11) (e10)) = (op1 (e13) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H82. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H4f. % 40.73/40.97 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.97 cut (((e12) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H48 | zenon_intro zenon_H49 ]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e12) = (op1 (e11) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H84. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H48. % 40.73/40.97 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 40.73/40.97 cut (((op1 (e11) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H85 zenon_H83). % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply zenon_H49. apply refl_equal. % 40.73/40.97 apply (zenon_L13_); trivial. % 40.73/40.97 (* end of lemma zenon_L28_ *) % 40.73/40.97 assert (zenon_L29_ : (~((e13) = (e13))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H86. % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L29_ *) % 40.73/40.97 assert (zenon_L30_ : (~((e12) = (e13))) -> ((op1 (e13) (e10)) = (e13)) -> ((op1 (e13) (e10)) = (e12)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H87 zenon_H88 zenon_H89. % 40.73/40.97 cut (((op1 (e13) (e10)) = (e13)) = ((e12) = (e13))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H87. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H88. % 40.73/40.97 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.97 cut (((op1 (e13) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H8a zenon_H89). % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L30_ *) % 40.73/40.97 assert (zenon_L31_ : (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> ((op1 (e13) (e10)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87 zenon_H88. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H50 | zenon_intro zenon_H8c ]. % 40.73/40.97 apply (zenon_L14_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H83 | zenon_intro zenon_H8d ]. % 40.73/40.97 apply (zenon_L28_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H7d | zenon_intro zenon_H89 ]. % 40.73/40.97 apply (zenon_L27_); trivial. % 40.73/40.97 apply (zenon_L30_); trivial. % 40.73/40.97 (* end of lemma zenon_L31_ *) % 40.73/40.97 assert (zenon_L32_ : (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((op2 (e20) (e21)) = (e20)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H8e zenon_H14 zenon_H8f. % 40.73/40.97 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e20) (e21)) = (op2 (e21) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H8e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H14. % 40.73/40.97 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.73/40.97 cut (((e20) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ]. % 40.73/40.97 cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e20) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H91. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H92. % 40.73/40.97 cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 40.73/40.97 cut (((op2 (e20) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H94 zenon_H8f). % 40.73/40.97 apply zenon_H93. apply refl_equal. % 40.73/40.97 apply zenon_H93. apply refl_equal. % 40.73/40.97 apply zenon_H90. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L32_ *) % 40.73/40.97 assert (zenon_L33_ : (~((e21) = (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H95. % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L33_ *) % 40.73/40.97 assert (zenon_L34_ : (~((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H96 zenon_H14. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H15. apply sym_equal. exact zenon_H14. % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L34_ *) % 40.73/40.97 assert (zenon_L35_ : (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e20) (e20)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H97 zenon_H98 zenon_H99 zenon_H14. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e20) (e20)) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H97. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.97 cut (((e23) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9a]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 40.73/40.97 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((e23) = (op2 (e20) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H9a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H9b. % 40.73/40.97 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 40.73/40.97 cut (((op2 (e20) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H9d]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H9d zenon_H99). % 40.73/40.97 apply zenon_H9c. apply refl_equal. % 40.73/40.97 apply zenon_H9c. apply refl_equal. % 40.73/40.97 apply (zenon_L34_); trivial. % 40.73/40.97 (* end of lemma zenon_L35_ *) % 40.73/40.97 assert (zenon_L36_ : (~((op2 (op2 (e21) (e21)) (e21)) = (op2 (e21) (e21)))) -> ((op2 (e21) (e21)) = (e21)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H9e zenon_H9f. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Ha0 zenon_H9f). % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L36_ *) % 40.73/40.97 assert (zenon_L37_ : (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e20) (e21)) = (e23)) -> ((op2 (e21) (e21)) = (e21)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H8e zenon_H98 zenon_Ha1 zenon_H9f. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e20) (e21)) = (op2 (e21) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H8e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H9e]. % 40.73/40.97 cut (((e23) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ]. % 40.73/40.97 cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e23) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Ha2. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H92. % 40.73/40.97 cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 40.73/40.97 cut (((op2 (e20) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Ha3 zenon_Ha1). % 40.73/40.97 apply zenon_H93. apply refl_equal. % 40.73/40.97 apply zenon_H93. apply refl_equal. % 40.73/40.97 apply (zenon_L36_); trivial. % 40.73/40.97 (* end of lemma zenon_L37_ *) % 40.73/40.97 assert (zenon_L38_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e20) (e22)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H98 zenon_Ha4 zenon_H14 zenon_Ha5. % 40.73/40.97 elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((op2 (e20) (e21)) = (op2 (e20) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Ha5. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Ha6. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e20) (e22)) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Ha8. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.97 cut (((e23) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((e23) = (op2 (e20) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Ha9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Ha6. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Haa]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Haa zenon_Ha4). % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 apply (zenon_L34_); trivial. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L38_ *) % 40.73/40.97 assert (zenon_L39_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e20) (e23)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H98 zenon_Hab zenon_H14 zenon_Hac. % 40.73/40.97 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Had | zenon_intro zenon_Hae ]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((op2 (e20) (e21)) = (op2 (e20) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hac. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Had. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Haf]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e20) (e23)) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Haf. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.97 cut (((e23) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb0]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Had | zenon_intro zenon_Hae ]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e23) = (op2 (e20) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hb0. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Had. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hb1 zenon_Hab). % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 apply (zenon_L34_); trivial. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L39_ *) % 40.73/40.97 assert (zenon_L40_ : (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e21) (e21)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hb2 zenon_H97 zenon_H9f zenon_H8e zenon_Ha5 zenon_H98 zenon_H14 zenon_Hac. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.73/40.97 apply (zenon_L35_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.73/40.97 apply (zenon_L37_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.73/40.97 apply (zenon_L38_); trivial. % 40.73/40.97 apply (zenon_L39_); trivial. % 40.73/40.97 (* end of lemma zenon_L40_ *) % 40.73/40.97 assert (zenon_L41_ : ((op2 (e20) (e22)) = (e20)) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hb5 zenon_Hb6 zenon_Hb7. % 40.73/40.97 elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((op2 (e20) (e20)) = (op2 (e20) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hb7. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Ha6. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e20) (e22)) = (e20)) = ((op2 (e20) (e22)) = (op2 (e20) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hb8. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hb5. % 40.73/40.97 cut (((e20) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb9]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 apply zenon_Hb9. apply sym_equal. exact zenon_Hb6. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 apply zenon_Ha7. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L41_ *) % 40.73/40.97 assert (zenon_L42_ : ((op2 (e21) (e20)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hba zenon_Hbb zenon_Hbc. % 40.73/40.97 elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_Hbd | zenon_intro zenon_Hbe ]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((op2 (e20) (e20)) = (op2 (e21) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hbc. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hbd. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbf]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e21) (e20)) = (e21)) = ((op2 (e21) (e20)) = (op2 (e20) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hbf. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hba. % 40.73/40.97 cut (((e21) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply zenon_Hc0. apply sym_equal. exact zenon_Hbb. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L42_ *) % 40.73/40.97 assert (zenon_L43_ : (~((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc1 zenon_H14 zenon_H98. % 40.73/40.97 cut (((op2 (e21) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hc2. apply sym_equal. exact zenon_H98. % 40.73/40.97 apply zenon_H15. apply sym_equal. exact zenon_H14. % 40.73/40.97 (* end of lemma zenon_L43_ *) % 40.73/40.97 assert (zenon_L44_ : (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc3 zenon_Hc4 zenon_Hc5 zenon_H14 zenon_H98. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e20) (e20)) = (op2 (e23) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hc3. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hc4. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.73/40.97 cut (((e22) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 40.73/40.97 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((e22) = (op2 (e20) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hc6. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H9b. % 40.73/40.97 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 40.73/40.97 cut (((op2 (e20) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hc7 zenon_Hc5). % 40.73/40.97 apply zenon_H9c. apply refl_equal. % 40.73/40.97 apply zenon_H9c. apply refl_equal. % 40.73/40.97 apply (zenon_L43_); trivial. % 40.73/40.97 (* end of lemma zenon_L44_ *) % 40.73/40.97 assert (zenon_L45_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e20)) = (e22))\/((op2 (e20) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> ((op2 (e20) (e22)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc8 zenon_Hb7 zenon_Hb5 zenon_Hbc zenon_Hba zenon_Hc4 zenon_Hc3 zenon_H97 zenon_H98 zenon_H14. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hc8); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc9 ]. % 40.73/40.97 apply (zenon_L41_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hc9); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hca ]. % 40.73/40.97 apply (zenon_L42_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hca); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H99 ]. % 40.73/40.97 apply (zenon_L44_); trivial. % 40.73/40.97 apply (zenon_L35_); trivial. % 40.73/40.97 (* end of lemma zenon_L45_ *) % 40.73/40.97 assert (zenon_L46_ : (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hcb zenon_Hba zenon_Hcc. % 40.73/40.97 cut (((op2 (e21) (e20)) = (e21)) = ((op2 (e21) (e20)) = (op2 (e21) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hcb. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hba. % 40.73/40.97 cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply zenon_Hcd. apply sym_equal. exact zenon_Hcc. % 40.73/40.97 (* end of lemma zenon_L46_ *) % 40.73/40.97 assert (zenon_L47_ : (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e21)) = (e22)) -> ((op2 (e22) (e22)) = (e22)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hce zenon_Hcf zenon_Hd0. % 40.73/40.97 cut (((op2 (e22) (e21)) = (e22)) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hce. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hcf. % 40.73/40.97 cut (((e22) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 40.73/40.97 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hd2. apply refl_equal. % 40.73/40.97 apply zenon_Hd1. apply sym_equal. exact zenon_Hd0. % 40.73/40.97 (* end of lemma zenon_L47_ *) % 40.73/40.97 assert (zenon_L48_ : ((op2 (e20) (e23)) = (e20)) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hd3 zenon_Hb6 zenon_Hd4. % 40.73/40.97 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Had | zenon_intro zenon_Hae ]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((op2 (e20) (e20)) = (op2 (e20) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hd4. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Had. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e20) (e23)) = (e20)) = ((op2 (e20) (e23)) = (op2 (e20) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hd5. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hd3. % 40.73/40.97 cut (((e20) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb9]. % 40.73/40.97 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 apply zenon_Hb9. apply sym_equal. exact zenon_Hb6. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 apply zenon_Hae. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L48_ *) % 40.73/40.97 assert (zenon_L49_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e20)) = (e22))\/((op2 (e20) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_Hbc zenon_Hba zenon_Hc4 zenon_Hc3 zenon_H97 zenon_H98 zenon_H14. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hc8); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hc9 ]. % 40.73/40.97 apply (zenon_L48_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hc9); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hca ]. % 40.73/40.97 apply (zenon_L42_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hca); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H99 ]. % 40.73/40.97 apply (zenon_L44_); trivial. % 40.73/40.97 apply (zenon_L35_); trivial. % 40.73/40.97 (* end of lemma zenon_L49_ *) % 40.73/40.97 assert (zenon_L50_ : (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e21) (e23)) = (e21)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hd6 zenon_Hba zenon_Hd7. % 40.73/40.97 cut (((op2 (e21) (e20)) = (e21)) = ((op2 (e21) (e20)) = (op2 (e21) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hd6. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hba. % 40.73/40.97 cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply zenon_Hd8. apply sym_equal. exact zenon_Hd7. % 40.73/40.97 (* end of lemma zenon_L50_ *) % 40.73/40.97 assert (zenon_L51_ : (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> ((op2 (e22) (e23)) = (e22)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hd9 zenon_Hcf zenon_Hda. % 40.73/40.97 cut (((op2 (e22) (e21)) = (e22)) = ((op2 (e22) (e21)) = (op2 (e22) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hd9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hcf. % 40.73/40.97 cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdb]. % 40.73/40.97 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hd2. apply refl_equal. % 40.73/40.97 apply zenon_Hdb. apply sym_equal. exact zenon_Hda. % 40.73/40.97 (* end of lemma zenon_L51_ *) % 40.73/40.97 assert (zenon_L52_ : (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e23)) -> ((op2 (e23) (e23)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hdc zenon_Hdd zenon_Hde. % 40.73/40.97 cut (((op2 (e23) (e22)) = (e23)) = ((op2 (e23) (e22)) = (op2 (e23) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hdc. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hdd. % 40.73/40.97 cut (((e23) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_He0. apply refl_equal. % 40.73/40.97 apply zenon_Hdf. apply sym_equal. exact zenon_Hde. % 40.73/40.97 (* end of lemma zenon_L52_ *) % 40.73/40.97 assert (zenon_L53_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e23))))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e20)) = (e22))\/((op2 (e20) (e20)) = (e23))))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_He1 zenon_H14 zenon_H98 zenon_H97 zenon_Hc3 zenon_Hc4 zenon_Hbc zenon_Hd4 zenon_Hc8 zenon_Hba zenon_Hd6 zenon_Hcf zenon_Hd9 zenon_Hdc zenon_Hdd. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.73/40.97 apply (zenon_L49_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.73/40.97 apply (zenon_L50_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.73/40.97 apply (zenon_L51_); trivial. % 40.73/40.97 apply (zenon_L52_); trivial. % 40.73/40.97 (* end of lemma zenon_L53_ *) % 40.73/40.97 assert (zenon_L54_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e23))))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e20)) = (e22))\/((op2 (e20) (e20)) = (e23))))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_He4 zenon_Hb7 zenon_Hcb zenon_Hce zenon_He1 zenon_H14 zenon_H98 zenon_H97 zenon_Hc3 zenon_Hc4 zenon_Hbc zenon_Hd4 zenon_Hc8 zenon_Hba zenon_Hd6 zenon_Hcf zenon_Hd9 zenon_Hdc. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.73/40.97 apply (zenon_L45_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.73/40.97 apply (zenon_L46_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.73/40.97 apply (zenon_L47_); trivial. % 40.73/40.97 apply (zenon_L53_); trivial. % 40.73/40.97 (* end of lemma zenon_L54_ *) % 40.73/40.97 assert (zenon_L55_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e23) (e21)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H98 zenon_He7 zenon_H14 zenon_He8. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e20) (e21)) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_He8. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Heb]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e23) (e21)) = (op2 (e20) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Heb. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.97 cut (((e23) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hec]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e23) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hec. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hed zenon_He7). % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply (zenon_L34_); trivial. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L55_ *) % 40.73/40.97 assert (zenon_L56_ : (((op2 (e20) (e21)) = (e20))\/(((op2 (e21) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e20)) = (e21)) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e20)) = (e22))\/((op2 (e20) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hee zenon_Hac zenon_Ha5 zenon_H8e zenon_Hb2 zenon_Hdc zenon_Hd9 zenon_Hd6 zenon_Hba zenon_Hc8 zenon_Hd4 zenon_Hbc zenon_Hc4 zenon_Hc3 zenon_H97 zenon_He1 zenon_Hce zenon_Hcb zenon_Hb7 zenon_He4 zenon_H98 zenon_H14 zenon_He8. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.73/40.97 apply (zenon_L32_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.73/40.97 apply (zenon_L40_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.73/40.97 apply (zenon_L54_); trivial. % 40.73/40.97 apply (zenon_L55_); trivial. % 40.73/40.97 (* end of lemma zenon_L56_ *) % 40.73/40.97 assert (zenon_L57_ : (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e22) (e20)) = (e22)) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hf1 zenon_Hc4 zenon_Hf2 zenon_H14 zenon_H98. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e22) (e20)) = (op2 (e23) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hf1. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hc4. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.73/40.97 cut (((e22) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ]. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e22) = (op2 (e22) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hf3. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hf4. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 40.73/40.97 cut (((op2 (e22) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hf6 zenon_Hf2). % 40.73/40.97 apply zenon_Hf5. apply refl_equal. % 40.73/40.97 apply zenon_Hf5. apply refl_equal. % 40.73/40.97 apply (zenon_L43_); trivial. % 40.73/40.97 (* end of lemma zenon_L57_ *) % 40.73/40.97 assert (zenon_L58_ : (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e21) (e20)) = (e22)) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hf7 zenon_Hc4 zenon_Hf8 zenon_H14 zenon_H98. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e21) (e20)) = (op2 (e23) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hf7. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hc4. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.73/40.97 cut (((e22) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf9]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_Hbd | zenon_intro zenon_Hbe ]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e22) = (op2 (e21) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hf9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hbd. % 40.73/40.97 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 40.73/40.97 cut (((op2 (e21) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hfa]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hfa zenon_Hf8). % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply zenon_Hbe. apply refl_equal. % 40.73/40.97 apply (zenon_L43_); trivial. % 40.73/40.97 (* end of lemma zenon_L58_ *) % 40.73/40.97 assert (zenon_L59_ : (~((e23) = (e23))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hfb. % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L59_ *) % 40.73/40.97 assert (zenon_L60_ : (~((e22) = (e23))) -> ((op2 (e23) (e20)) = (e23)) -> ((op2 (e23) (e20)) = (e22)) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hfc zenon_Hfd zenon_Hfe. % 40.73/40.97 cut (((op2 (e23) (e20)) = (e23)) = ((e22) = (e23))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hfc. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hfd. % 40.73/40.97 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.73/40.97 cut (((op2 (e23) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hff]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_Hff zenon_Hfe). % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L60_ *) % 40.73/40.97 assert (zenon_L61_ : (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e20)) = (e22))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e23) (e20)) = (e22))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> (~((e22) = (e23))) -> ((op2 (e23) (e20)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H100 zenon_Hc3 zenon_Hf7 zenon_H98 zenon_H14 zenon_Hc4 zenon_Hf1 zenon_Hfc zenon_Hfd. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H101 ]. % 40.73/40.97 apply (zenon_L44_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H102 ]. % 40.73/40.97 apply (zenon_L58_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H102); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfe ]. % 40.73/40.97 apply (zenon_L57_); trivial. % 40.73/40.97 apply (zenon_L60_); trivial. % 40.73/40.97 (* end of lemma zenon_L61_ *) % 40.73/40.97 assert (zenon_L62_ : (~((h2 (e12)) = (e22))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H103 zenon_H104 zenon_Hc4. % 40.73/40.97 cut (((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((h2 (e12)) = (e22))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H103. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H104. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H105]. % 40.73/40.97 cut (((h2 (e12)) = (h2 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H106. apply refl_equal. % 40.73/40.97 apply zenon_H105. apply sym_equal. exact zenon_Hc4. % 40.73/40.97 (* end of lemma zenon_L62_ *) % 40.73/40.97 assert (zenon_L63_ : (~((h2 (op1 (e10) (e12))) = (op2 (h2 (e10)) (h2 (e12))))) -> ((op1 (e10) (e12)) = (e12)) -> ((op2 (e20) (e22)) = (e22)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H107 zenon_H108 zenon_H109 zenon_H13 zenon_H14 zenon_H104 zenon_Hc4. % 40.73/40.97 cut (((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((h2 (op1 (e10) (e12))) = (op2 (h2 (e10)) (h2 (e12))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H107. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H104. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e10)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10a]. % 40.73/40.97 cut (((h2 (e12)) = (h2 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10b]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((h2 (op1 (e10) (e12))) = (h2 (op1 (e10) (e12))))); [ zenon_intro zenon_H10c | zenon_intro zenon_H10d ]. % 40.73/40.97 cut (((h2 (op1 (e10) (e12))) = (h2 (op1 (e10) (e12)))) = ((h2 (e12)) = (h2 (op1 (e10) (e12))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H10b. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H10c. % 40.73/40.97 cut (((h2 (op1 (e10) (e12))) = (h2 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10d]. % 40.73/40.97 cut (((h2 (op1 (e10) (e12))) = (h2 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H10e]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e10) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H10f]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H10f zenon_H108). % 40.73/40.97 apply zenon_H10d. apply refl_equal. % 40.73/40.97 apply zenon_H10d. apply refl_equal. % 40.73/40.97 elim (classic ((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12))))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ]. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12)))) = ((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e10)) (h2 (e12))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H10a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H110. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e20) (e22)) = (e22)) = ((op2 (h2 (e10)) (h2 (e12))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H112. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H109. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 40.73/40.97 cut (((op2 (e20) (e22)) = (op2 (h2 (e10)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H114]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12))))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ]. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12)))) = ((op2 (e20) (e22)) = (op2 (h2 (e10)) (h2 (e12))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H114. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H110. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (h2 (e10)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 40.73/40.97 cut (((op2 (h2 (e10)) (h2 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.73/40.97 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.73/40.97 congruence. % 40.73/40.97 apply (zenon_L1_); trivial. % 40.73/40.97 apply (zenon_L62_); trivial. % 40.73/40.97 apply zenon_H111. apply refl_equal. % 40.73/40.97 apply zenon_H111. apply refl_equal. % 40.73/40.97 exact (zenon_H113 zenon_Hc4). % 40.73/40.97 apply zenon_H111. apply refl_equal. % 40.73/40.97 apply zenon_H111. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L63_ *) % 40.73/40.97 assert (zenon_L64_ : ((op1 (e11) (e12)) = (e11)) -> ((op1 (e11) (e12)) = (e12)) -> (~((e11) = (e12))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H57 zenon_H116 zenon_H117. % 40.73/40.97 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H118 | zenon_intro zenon_H119 ]. % 40.73/40.97 cut (((e12) = (e12)) = ((e11) = (e12))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H117. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H118. % 40.73/40.97 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 40.73/40.97 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H11a]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e11) (e12)) = (e11)) = ((e12) = (e11))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H11a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H57. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H11b zenon_H116). % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L64_ *) % 40.73/40.97 assert (zenon_L65_ : ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e13) (e12)) = (e12)) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H4f zenon_H11c zenon_H18 zenon_H23 zenon_H11d. % 40.73/40.97 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H11e | zenon_intro zenon_H6b ]. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e13) (e10)) = (op1 (e13) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H11d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H11e. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H11f]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e13) (e12)) = (op1 (e13) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H11f. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H4f. % 40.73/40.97 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.97 cut (((e12) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H120]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H11e | zenon_intro zenon_H6b ]. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e12) = (op1 (e13) (e12)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H120. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H11e. % 40.73/40.97 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 40.73/40.97 cut (((op1 (e13) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H121 zenon_H11c). % 40.73/40.97 apply zenon_H6b. apply refl_equal. % 40.73/40.97 apply zenon_H6b. apply refl_equal. % 40.73/40.97 apply (zenon_L13_); trivial. % 40.73/40.97 apply zenon_H6b. apply refl_equal. % 40.73/40.97 apply zenon_H6b. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L65_ *) % 40.73/40.97 assert (zenon_L66_ : (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((op2 (e20) (e22)) = (e22)) -> (~((h2 (op1 (e10) (e12))) = (op2 (h2 (e10)) (h2 (e12))))) -> (~((e11) = (e12))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H122 zenon_Hc4 zenon_H104 zenon_H14 zenon_H13 zenon_H109 zenon_H107 zenon_H117 zenon_H57 zenon_H5a zenon_H59 zenon_H4f zenon_H18 zenon_H23 zenon_H11d. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H108 | zenon_intro zenon_H123 ]. % 40.73/40.97 apply (zenon_L63_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H123); [ zenon_intro zenon_H116 | zenon_intro zenon_H124 ]. % 40.73/40.97 apply (zenon_L64_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H5b | zenon_intro zenon_H11c ]. % 40.73/40.97 apply (zenon_L17_); trivial. % 40.73/40.97 apply (zenon_L65_); trivial. % 40.73/40.97 (* end of lemma zenon_L66_ *) % 40.73/40.97 assert (zenon_L67_ : ((op2 (e21) (e22)) = (e21)) -> ((op2 (e21) (e22)) = (e22)) -> (~((e21) = (e22))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hcc zenon_H125 zenon_H126. % 40.73/40.97 elim (classic ((e22) = (e22))); [ zenon_intro zenon_H127 | zenon_intro zenon_H128 ]. % 40.73/40.97 cut (((e22) = (e22)) = ((e21) = (e22))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H126. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H127. % 40.73/40.97 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 40.73/40.97 cut (((e22) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H129]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e21) (e22)) = (e21)) = ((e22) = (e21))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H129. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hcc. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H12a zenon_H125). % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L67_ *) % 40.73/40.97 assert (zenon_L68_ : ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e23) (e22)) = (e22)) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc4 zenon_H12b zenon_H14 zenon_H98 zenon_H12c. % 40.73/40.97 elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H12d | zenon_intro zenon_He0 ]. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((op2 (e23) (e20)) = (op2 (e23) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H12c. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H12d. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H12e]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e23) (e22)) = (op2 (e23) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H12e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hc4. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.73/40.97 cut (((e22) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H12f]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H12d | zenon_intro zenon_He0 ]. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e22) = (op2 (e23) (e22)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H12f. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H12d. % 40.73/40.97 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He0]. % 40.73/40.97 cut (((op2 (e23) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H130 zenon_H12b). % 40.73/40.97 apply zenon_He0. apply refl_equal. % 40.73/40.97 apply zenon_He0. apply refl_equal. % 40.73/40.97 apply (zenon_L43_); trivial. % 40.73/40.97 apply zenon_He0. apply refl_equal. % 40.73/40.97 apply zenon_He0. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L68_ *) % 40.73/40.97 assert (zenon_L69_ : (~((e10) = (e10))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H131. % 40.73/40.97 apply zenon_H131. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L69_ *) % 40.73/40.97 assert (zenon_L70_ : ((op1 (e11) (e13)) = (e11)) -> ((op1 (e11) (e13)) = (e13)) -> (~((e11) = (e13))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H62 zenon_H132 zenon_H133. % 40.73/40.97 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H134 | zenon_intro zenon_H86 ]. % 40.73/40.97 cut (((e13) = (e13)) = ((e11) = (e13))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H133. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H134. % 40.73/40.97 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.97 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e11) (e13)) = (e11)) = ((e13) = (e11))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H135. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H62. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H136]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H136 zenon_H132). % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L70_ *) % 40.73/40.97 assert (zenon_L71_ : (~((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e12)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H137 zenon_H138. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H139 zenon_H138). % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L71_ *) % 40.73/40.97 assert (zenon_L72_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e12) (e13)) = (e13)) -> ((op1 (e11) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H23 zenon_H13a zenon_H138 zenon_H64. % 40.73/40.97 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H13b | zenon_intro zenon_H13c ]. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e12) (e11)) = (op1 (e12) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H64. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H13b. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H13d]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e12) (e13)) = (op1 (e12) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H13d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H23. % 40.73/40.97 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H137]. % 40.73/40.97 cut (((e13) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H13b | zenon_intro zenon_H13c ]. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e13) = (op1 (e12) (e13)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H13e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H13b. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 40.73/40.97 cut (((op1 (e12) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H13f zenon_H13a). % 40.73/40.97 apply zenon_H13c. apply refl_equal. % 40.73/40.97 apply zenon_H13c. apply refl_equal. % 40.73/40.97 apply (zenon_L71_); trivial. % 40.73/40.97 apply zenon_H13c. apply refl_equal. % 40.73/40.97 apply zenon_H13c. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L72_ *) % 40.73/40.97 assert (zenon_L73_ : (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> (~((e11) = (e13))) -> ((op1 (e11) (e13)) = (e11)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((op1 (e11) (e11)) = (e12)) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H140 zenon_H37 zenon_H18 zenon_H133 zenon_H62 zenon_H64 zenon_H138 zenon_H23 zenon_H67 zenon_H68. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H140); [ zenon_intro zenon_H36 | zenon_intro zenon_H141 ]. % 40.73/40.97 apply (zenon_L9_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H141); [ zenon_intro zenon_H132 | zenon_intro zenon_H142 ]. % 40.73/40.97 apply (zenon_L70_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H142); [ zenon_intro zenon_H13a | zenon_intro zenon_H69 ]. % 40.73/40.97 apply (zenon_L72_); trivial. % 40.73/40.97 apply (zenon_L22_); trivial. % 40.73/40.97 (* end of lemma zenon_L73_ *) % 40.73/40.97 assert (zenon_L74_ : (~((e12) = (e12))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H119. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L74_ *) % 40.73/40.97 assert (zenon_L75_ : (~((op1 (e11) (op1 (e11) (e12))) = (e12))) -> ((op1 (e11) (e12)) = (e12)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H143 zenon_H116. % 40.73/40.97 cut (((op1 (e11) (e12)) = (e12)) = ((op1 (e11) (op1 (e11) (e12))) = (e12))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H143. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H116. % 40.73/40.97 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 40.73/40.97 cut (((op1 (e11) (e12)) = (op1 (e11) (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H144]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e11) (op1 (e11) (e12))) = (op1 (e11) (op1 (e11) (e12))))); [ zenon_intro zenon_H145 | zenon_intro zenon_H146 ]. % 40.73/40.97 cut (((op1 (e11) (op1 (e11) (e12))) = (op1 (e11) (op1 (e11) (e12)))) = ((op1 (e11) (e12)) = (op1 (e11) (op1 (e11) (e12))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H144. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H145. % 40.73/40.97 cut (((op1 (e11) (op1 (e11) (e12))) = (op1 (e11) (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H146]. % 40.73/40.97 cut (((op1 (e11) (op1 (e11) (e12))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H147]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H11b]. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 exact (zenon_H11b zenon_H116). % 40.73/40.97 apply zenon_H146. apply refl_equal. % 40.73/40.97 apply zenon_H146. apply refl_equal. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L75_ *) % 40.73/40.97 assert (zenon_L76_ : ((op1 (e11) (e13)) = (e11)) -> ((op1 (e11) (e13)) = (e12)) -> (~((e11) = (e12))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H62 zenon_H148 zenon_H117. % 40.73/40.97 elim (classic ((e12) = (e12))); [ zenon_intro zenon_H118 | zenon_intro zenon_H119 ]. % 40.73/40.97 cut (((e12) = (e12)) = ((e11) = (e12))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H117. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H118. % 40.73/40.97 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 40.73/40.97 cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H11a]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e11) (e13)) = (e11)) = ((e12) = (e11))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H11a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H62. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H149]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H149 zenon_H148). % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L76_ *) % 40.73/40.97 assert (zenon_L77_ : (~((op1 (e12) (op1 (e12) (e13))) = (e13))) -> ((op1 (e12) (e13)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H14a zenon_H13a. % 40.73/40.97 cut (((op1 (e12) (e13)) = (e13)) = ((op1 (e12) (op1 (e12) (e13))) = (e13))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H14a. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H13a. % 40.73/40.97 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.97 cut (((op1 (e12) (e13)) = (op1 (e12) (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e12) (op1 (e12) (e13))) = (op1 (e12) (op1 (e12) (e13))))); [ zenon_intro zenon_H14c | zenon_intro zenon_H14d ]. % 40.73/40.97 cut (((op1 (e12) (op1 (e12) (e13))) = (op1 (e12) (op1 (e12) (e13)))) = ((op1 (e12) (e13)) = (op1 (e12) (op1 (e12) (e13))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H14b. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H14c. % 40.73/40.97 cut (((op1 (e12) (op1 (e12) (e13))) = (op1 (e12) (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H14d]. % 40.73/40.97 cut (((op1 (e12) (op1 (e12) (e13))) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H14e]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e12) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 40.73/40.97 cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H119]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H119. apply refl_equal. % 40.73/40.97 exact (zenon_H13f zenon_H13a). % 40.73/40.97 apply zenon_H14d. apply refl_equal. % 40.73/40.97 apply zenon_H14d. apply refl_equal. % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L77_ *) % 40.73/40.97 assert (zenon_L78_ : ((e10) = (op1 (e11) (e11))) -> ((op1 (e13) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H18 zenon_H14f zenon_H150. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e11) (e11)) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H150. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e10) = (op1 (e11) (e11))) = ((op1 (e13) (e11)) = (op1 (e11) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H151. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H18. % 40.73/40.97 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.73/40.97 cut (((e10) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H152]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e10) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H152. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H153]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H153 zenon_H14f). % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H1a. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L78_ *) % 40.73/40.97 assert (zenon_L79_ : (~((op1 (e13) (op1 (e13) (e11))) = (e11))) -> ((op1 (e13) (e11)) = (e11)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H154 zenon_H155. % 40.73/40.97 cut (((op1 (e13) (e11)) = (e11)) = ((op1 (e13) (op1 (e13) (e11))) = (e11))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H154. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H155. % 40.73/40.97 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H156]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e13) (op1 (e13) (e11))) = (op1 (e13) (op1 (e13) (e11))))); [ zenon_intro zenon_H157 | zenon_intro zenon_H158 ]. % 40.73/40.97 cut (((op1 (e13) (op1 (e13) (e11))) = (op1 (e13) (op1 (e13) (e11)))) = ((op1 (e13) (e11)) = (op1 (e13) (op1 (e13) (e11))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H156. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H157. % 40.73/40.97 cut (((op1 (e13) (op1 (e13) (e11))) = (op1 (e13) (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H158]. % 40.73/40.97 cut (((op1 (e13) (op1 (e13) (e11))) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H159]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H15a]. % 40.73/40.97 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H86. apply refl_equal. % 40.73/40.97 exact (zenon_H15a zenon_H155). % 40.73/40.97 apply zenon_H158. apply refl_equal. % 40.73/40.97 apply zenon_H158. apply refl_equal. % 40.73/40.97 apply zenon_H1f. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L79_ *) % 40.73/40.97 assert (zenon_L80_ : ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e13) (e11)) = (e12)) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H4f zenon_H15b zenon_H18 zenon_H23 zenon_H15c. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e13) (e10)) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H15c. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e13) (e11)) = (op1 (e13) (e10)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H15d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H4f. % 40.73/40.97 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.97 cut (((e12) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e12) = (op1 (e13) (e11)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H15e. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H74. % 40.73/40.97 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 40.73/40.97 cut (((op1 (e13) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H15f]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H15f zenon_H15b). % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply (zenon_L13_); trivial. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 apply zenon_H75. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L80_ *) % 40.73/40.97 assert (zenon_L81_ : ((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13)))))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H160 zenon_H161 zenon_H150 zenon_H15c zenon_H4f zenon_H23 zenon_H18 zenon_H73. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H160). zenon_intro zenon_H163. zenon_intro zenon_H162. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H162). zenon_intro zenon_H154. zenon_intro zenon_H164. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H14f | zenon_intro zenon_H165 ]. % 40.73/40.97 apply (zenon_L78_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H165); [ zenon_intro zenon_H155 | zenon_intro zenon_H166 ]. % 40.73/40.97 apply (zenon_L79_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H166); [ zenon_intro zenon_H15b | zenon_intro zenon_H72 ]. % 40.73/40.97 apply (zenon_L80_); trivial. % 40.73/40.97 apply (zenon_L25_); trivial. % 40.73/40.97 (* end of lemma zenon_L81_ *) % 40.73/40.97 assert (zenon_L82_ : (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e11) = (e12))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> ((op1 (e13) (e12)) = (e13)) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e11) (e13)) = (e11)) -> (~((e11) = (e13))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H167 zenon_H41 zenon_H117 zenon_H64 zenon_H82 zenon_H168 zenon_H68 zenon_H67 zenon_H62 zenon_H133 zenon_H37 zenon_H140 zenon_H161 zenon_H150 zenon_H15c zenon_H4f zenon_H23 zenon_H18 zenon_H73. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H167); [ zenon_intro zenon_H16a | zenon_intro zenon_H169 ]. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H16a). zenon_intro zenon_H16c. zenon_intro zenon_H16b. % 40.73/40.97 cut (((op1 (e10) (e10)) = (e10)) = ((op1 (e10) (op1 (e10) (e10))) = (e10))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H16c. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H41. % 40.73/40.97 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H131]. % 40.73/40.97 cut (((op1 (e10) (e10)) = (op1 (e10) (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H16d]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op1 (e10) (op1 (e10) (e10))) = (op1 (e10) (op1 (e10) (e10))))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ]. % 40.73/40.97 cut (((op1 (e10) (op1 (e10) (e10))) = (op1 (e10) (op1 (e10) (e10)))) = ((op1 (e10) (e10)) = (op1 (e10) (op1 (e10) (e10))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H16d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H16e. % 40.73/40.97 cut (((op1 (e10) (op1 (e10) (e10))) = (op1 (e10) (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 40.73/40.97 cut (((op1 (e10) (op1 (e10) (e10))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H170]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 40.73/40.97 cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H131]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H131. apply refl_equal. % 40.73/40.97 exact (zenon_H171 zenon_H41). % 40.73/40.97 apply zenon_H16f. apply refl_equal. % 40.73/40.97 apply zenon_H16f. apply refl_equal. % 40.73/40.97 apply zenon_H131. apply refl_equal. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H169); [ zenon_intro zenon_H173 | zenon_intro zenon_H172 ]. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H173). zenon_intro zenon_H175. zenon_intro zenon_H174. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H174). zenon_intro zenon_H177. zenon_intro zenon_H176. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H176). zenon_intro zenon_H143. zenon_intro zenon_H178. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H168); [ zenon_intro zenon_H83 | zenon_intro zenon_H179 ]. % 40.73/40.97 apply (zenon_L28_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H179); [ zenon_intro zenon_H138 | zenon_intro zenon_H17a ]. % 40.73/40.97 apply (zenon_L73_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H17a); [ zenon_intro zenon_H116 | zenon_intro zenon_H148 ]. % 40.73/40.97 apply (zenon_L75_); trivial. % 40.73/40.97 apply (zenon_L76_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H172); [ zenon_intro zenon_H17b | zenon_intro zenon_H160 ]. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H17b). zenon_intro zenon_H17d. zenon_intro zenon_H17c. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H17c). zenon_intro zenon_H17f. zenon_intro zenon_H17e. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_H180. zenon_intro zenon_H14a. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H140); [ zenon_intro zenon_H36 | zenon_intro zenon_H141 ]. % 40.73/40.97 apply (zenon_L9_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H141); [ zenon_intro zenon_H132 | zenon_intro zenon_H142 ]. % 40.73/40.97 apply (zenon_L70_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H142); [ zenon_intro zenon_H13a | zenon_intro zenon_H69 ]. % 40.73/40.97 apply (zenon_L77_); trivial. % 40.73/40.97 apply (zenon_L22_); trivial. % 40.73/40.97 apply (zenon_L81_); trivial. % 40.73/40.97 (* end of lemma zenon_L82_ *) % 40.73/40.97 assert (zenon_L83_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e13)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H6c zenon_H5f zenon_H73 zenon_H18 zenon_H23 zenon_H4f zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H37 zenon_H133 zenon_H168 zenon_H82 zenon_H117 zenon_H41 zenon_H167 zenon_H5a zenon_H64 zenon_H67 zenon_H68. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.73/40.97 apply (zenon_L18_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.73/40.97 apply (zenon_L82_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.73/40.97 apply (zenon_L21_); trivial. % 40.73/40.97 apply (zenon_L22_); trivial. % 40.73/40.97 (* end of lemma zenon_L83_ *) % 40.73/40.97 assert (zenon_L84_ : (~((e20) = (e20))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H181. % 40.73/40.97 apply zenon_H181. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L84_ *) % 40.73/40.97 assert (zenon_L85_ : ((~((op2 (e20) (op2 (e20) (e20))) = (e20)))/\((~((op2 (e20) (op2 (e20) (e21))) = (e21)))/\((~((op2 (e20) (op2 (e20) (e22))) = (e22)))/\(~((op2 (e20) (op2 (e20) (e23))) = (e23)))))) -> ((op2 (e20) (e20)) = (e20)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H182 zenon_Hb6. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_H184. zenon_intro zenon_H183. % 40.73/40.97 cut (((op2 (e20) (e20)) = (e20)) = ((op2 (e20) (op2 (e20) (e20))) = (e20))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H184. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hb6. % 40.73/40.97 cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 40.73/40.97 cut (((op2 (e20) (e20)) = (op2 (e20) (op2 (e20) (e20))))); [idtac | apply NNPP; zenon_intro zenon_H185]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e20) (op2 (e20) (e20))) = (op2 (e20) (op2 (e20) (e20))))); [ zenon_intro zenon_H186 | zenon_intro zenon_H187 ]. % 40.73/40.97 cut (((op2 (e20) (op2 (e20) (e20))) = (op2 (e20) (op2 (e20) (e20)))) = ((op2 (e20) (e20)) = (op2 (e20) (op2 (e20) (e20))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H185. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H186. % 40.73/40.97 cut (((op2 (e20) (op2 (e20) (e20))) = (op2 (e20) (op2 (e20) (e20))))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 40.73/40.97 cut (((op2 (e20) (op2 (e20) (e20))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H188]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e20) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H189]. % 40.73/40.97 cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H181]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H181. apply refl_equal. % 40.73/40.97 exact (zenon_H189 zenon_Hb6). % 40.73/40.97 apply zenon_H187. apply refl_equal. % 40.73/40.97 apply zenon_H187. apply refl_equal. % 40.73/40.97 apply zenon_H181. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L85_ *) % 40.73/40.97 assert (zenon_L86_ : ((op2 (e21) (e23)) = (e21)) -> ((op2 (e21) (e23)) = (e23)) -> (~((e21) = (e23))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hd7 zenon_H18a zenon_H18b. % 40.73/40.97 elim (classic ((e23) = (e23))); [ zenon_intro zenon_H18c | zenon_intro zenon_Hfb ]. % 40.73/40.97 cut (((e23) = (e23)) = ((e21) = (e23))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H18b. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H18c. % 40.73/40.97 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.73/40.97 cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e21) (e23)) = (e21)) = ((e23) = (e21))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H18d. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hd7. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18e]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H18e zenon_H18a). % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L86_ *) % 40.73/40.97 assert (zenon_L87_ : (~((op2 (op2 (e21) (e21)) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H18f zenon_H190. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H191]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H191 zenon_H190). % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L87_ *) % 40.73/40.97 assert (zenon_L88_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e22) (e23)) = (e23)) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H98 zenon_H192 zenon_H190 zenon_Hd9. % 40.73/40.97 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H193 | zenon_intro zenon_H194 ]. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e22) (e21)) = (op2 (e22) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_Hd9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H193. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H194]. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H195]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e22) (e23)) = (op2 (e22) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H195. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H18f]. % 40.73/40.97 cut (((e23) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H196]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H193 | zenon_intro zenon_H194 ]. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e23) = (op2 (e22) (e23)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H196. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H193. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H194]. % 40.73/40.97 cut (((op2 (e22) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H197]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H197 zenon_H192). % 40.73/40.97 apply zenon_H194. apply refl_equal. % 40.73/40.97 apply zenon_H194. apply refl_equal. % 40.73/40.97 apply (zenon_L87_); trivial. % 40.73/40.97 apply zenon_H194. apply refl_equal. % 40.73/40.97 apply zenon_H194. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L88_ *) % 40.73/40.97 assert (zenon_L89_ : (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> ((e20) = (op2 (e21) (e21))) -> (~((e21) = (e23))) -> ((op2 (e21) (e23)) = (e21)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e21) (e21)) = (e22)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H198 zenon_Hac zenon_H14 zenon_H18b zenon_Hd7 zenon_Hd9 zenon_H190 zenon_H98 zenon_Hdc zenon_Hdd. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H198); [ zenon_intro zenon_Hab | zenon_intro zenon_H199 ]. % 40.73/40.97 apply (zenon_L39_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H199); [ zenon_intro zenon_H18a | zenon_intro zenon_H19a ]. % 40.73/40.97 apply (zenon_L86_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H192 | zenon_intro zenon_Hde ]. % 40.73/40.97 apply (zenon_L88_); trivial. % 40.73/40.97 apply (zenon_L52_); trivial. % 40.73/40.97 (* end of lemma zenon_L89_ *) % 40.73/40.97 assert (zenon_L90_ : (~((e22) = (e22))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H128. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L90_ *) % 40.73/40.97 assert (zenon_L91_ : (~((op2 (e21) (op2 (e21) (e22))) = (e22))) -> ((op2 (e21) (e22)) = (e22)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H19b zenon_H125. % 40.73/40.97 cut (((op2 (e21) (e22)) = (e22)) = ((op2 (e21) (op2 (e21) (e22))) = (e22))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H19b. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H125. % 40.73/40.97 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 40.73/40.97 cut (((op2 (e21) (e22)) = (op2 (e21) (op2 (e21) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e21) (op2 (e21) (e22))) = (op2 (e21) (op2 (e21) (e22))))); [ zenon_intro zenon_H19d | zenon_intro zenon_H19e ]. % 40.73/40.97 cut (((op2 (e21) (op2 (e21) (e22))) = (op2 (e21) (op2 (e21) (e22)))) = ((op2 (e21) (e22)) = (op2 (e21) (op2 (e21) (e22))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H19c. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H19d. % 40.73/40.97 cut (((op2 (e21) (op2 (e21) (e22))) = (op2 (e21) (op2 (e21) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H19e]. % 40.73/40.97 cut (((op2 (e21) (op2 (e21) (e22))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e21) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H12a]. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 exact (zenon_H12a zenon_H125). % 40.73/40.97 apply zenon_H19e. apply refl_equal. % 40.73/40.97 apply zenon_H19e. apply refl_equal. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L91_ *) % 40.73/40.97 assert (zenon_L92_ : ((op2 (e21) (e23)) = (e21)) -> ((op2 (e21) (e23)) = (e22)) -> (~((e21) = (e22))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hd7 zenon_H1a0 zenon_H126. % 40.73/40.97 elim (classic ((e22) = (e22))); [ zenon_intro zenon_H127 | zenon_intro zenon_H128 ]. % 40.73/40.97 cut (((e22) = (e22)) = ((e21) = (e22))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H126. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H127. % 40.73/40.97 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 40.73/40.97 cut (((e22) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H129]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e21) (e23)) = (e21)) = ((e22) = (e21))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H129. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hd7. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e21) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1a1]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H1a1 zenon_H1a0). % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L92_ *) % 40.73/40.97 assert (zenon_L93_ : (~((op2 (e22) (op2 (e22) (e23))) = (e23))) -> ((op2 (e22) (e23)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H1a2 zenon_H192. % 40.73/40.97 cut (((op2 (e22) (e23)) = (e23)) = ((op2 (e22) (op2 (e22) (e23))) = (e23))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1a2. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H192. % 40.73/40.97 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.73/40.97 cut (((op2 (e22) (e23)) = (op2 (e22) (op2 (e22) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e22) (op2 (e22) (e23))) = (op2 (e22) (op2 (e22) (e23))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ]. % 40.73/40.97 cut (((op2 (e22) (op2 (e22) (e23))) = (op2 (e22) (op2 (e22) (e23)))) = ((op2 (e22) (e23)) = (op2 (e22) (op2 (e22) (e23))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1a3. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H1a4. % 40.73/40.97 cut (((op2 (e22) (op2 (e22) (e23))) = (op2 (e22) (op2 (e22) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 40.73/40.97 cut (((op2 (e22) (op2 (e22) (e23))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1a6]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e22) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H197]. % 40.73/40.97 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H128]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_H128. apply refl_equal. % 40.73/40.97 exact (zenon_H197 zenon_H192). % 40.73/40.97 apply zenon_H1a5. apply refl_equal. % 40.73/40.97 apply zenon_H1a5. apply refl_equal. % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L93_ *) % 40.73/40.97 assert (zenon_L94_ : ((e20) = (op2 (e21) (e21))) -> ((op2 (e23) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H14 zenon_H1a7 zenon_H1a8. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e21) (e21)) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1a8. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1a9]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e23) (e21)) = (op2 (e21) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1a9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H14. % 40.73/40.97 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.73/40.97 cut (((e20) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1aa]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e20) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1aa. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H1ab zenon_H1a7). % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_H90. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L94_ *) % 40.73/40.97 assert (zenon_L95_ : (~((op2 (e23) (op2 (e23) (e21))) = (e21))) -> ((op2 (e23) (e21)) = (e21)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H1ac zenon_H1ad. % 40.73/40.97 cut (((op2 (e23) (e21)) = (e21)) = ((op2 (e23) (op2 (e23) (e21))) = (e21))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1ac. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H1ad. % 40.73/40.97 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (op2 (e23) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H1ae]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e23) (op2 (e23) (e21))) = (op2 (e23) (op2 (e23) (e21))))); [ zenon_intro zenon_H1af | zenon_intro zenon_H1b0 ]. % 40.73/40.97 cut (((op2 (e23) (op2 (e23) (e21))) = (op2 (e23) (op2 (e23) (e21)))) = ((op2 (e23) (e21)) = (op2 (e23) (op2 (e23) (e21))))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1ae. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H1af. % 40.73/40.97 cut (((op2 (e23) (op2 (e23) (e21))) = (op2 (e23) (op2 (e23) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H1b0]. % 40.73/40.97 cut (((op2 (e23) (op2 (e23) (e21))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((op2 (e23) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1b2]. % 40.73/40.97 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.73/40.97 congruence. % 40.73/40.97 apply zenon_Hfb. apply refl_equal. % 40.73/40.97 exact (zenon_H1b2 zenon_H1ad). % 40.73/40.97 apply zenon_H1b0. apply refl_equal. % 40.73/40.97 apply zenon_H1b0. apply refl_equal. % 40.73/40.97 apply zenon_H95. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L95_ *) % 40.73/40.97 assert (zenon_L96_ : ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e23) (e21)) = (e22)) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_Hc4 zenon_H1b3 zenon_H14 zenon_H98 zenon_H1b4. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e23) (e20)) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1b4. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b5]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e23) (e21)) = (op2 (e23) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1b5. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hc4. % 40.73/40.97 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.73/40.97 cut (((e22) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b6]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e22) = (op2 (e23) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1b6. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_He9. % 40.73/40.97 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 40.73/40.97 cut (((op2 (e23) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 40.73/40.97 congruence. % 40.73/40.97 exact (zenon_H1b7 zenon_H1b3). % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply (zenon_L43_); trivial. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 apply zenon_Hea. apply refl_equal. % 40.73/40.97 (* end of lemma zenon_L96_ *) % 40.73/40.97 assert (zenon_L97_ : ((~((op2 (e23) (op2 (e23) (e20))) = (e20)))/\((~((op2 (e23) (op2 (e23) (e21))) = (e21)))/\((~((op2 (e23) (op2 (e23) (e22))) = (e22)))/\(~((op2 (e23) (op2 (e23) (e23))) = (e23)))))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H1b8 zenon_H1b9 zenon_H1a8 zenon_H1b4 zenon_Hc4 zenon_H98 zenon_H14 zenon_He8. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1b8). zenon_intro zenon_H1bb. zenon_intro zenon_H1ba. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1ba). zenon_intro zenon_H1ac. zenon_intro zenon_H1bc. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1b9); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1bd ]. % 40.73/40.97 apply (zenon_L94_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1bd); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1be ]. % 40.73/40.97 apply (zenon_L95_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1be); [ zenon_intro zenon_H1b3 | zenon_intro zenon_He7 ]. % 40.73/40.97 apply (zenon_L96_); trivial. % 40.73/40.97 apply (zenon_L55_); trivial. % 40.73/40.97 (* end of lemma zenon_L97_ *) % 40.73/40.97 assert (zenon_L98_ : (((~((op2 (e20) (op2 (e20) (e20))) = (e20)))/\((~((op2 (e20) (op2 (e20) (e21))) = (e21)))/\((~((op2 (e20) (op2 (e20) (e22))) = (e22)))/\(~((op2 (e20) (op2 (e20) (e23))) = (e23))))))\/(((~((op2 (e21) (op2 (e21) (e20))) = (e20)))/\((~((op2 (e21) (op2 (e21) (e21))) = (e21)))/\((~((op2 (e21) (op2 (e21) (e22))) = (e22)))/\(~((op2 (e21) (op2 (e21) (e23))) = (e23))))))\/(((~((op2 (e22) (op2 (e22) (e20))) = (e20)))/\((~((op2 (e22) (op2 (e22) (e21))) = (e21)))/\((~((op2 (e22) (op2 (e22) (e22))) = (e22)))/\(~((op2 (e22) (op2 (e22) (e23))) = (e23))))))\/((~((op2 (e23) (op2 (e23) (e20))) = (e20)))/\((~((op2 (e23) (op2 (e23) (e21))) = (e21)))/\((~((op2 (e23) (op2 (e23) (e22))) = (e22)))/\(~((op2 (e23) (op2 (e23) (e23))) = (e23))))))))) -> ((op2 (e20) (e20)) = (e20)) -> (~((e21) = (e22))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> ((op2 (e23) (e22)) = (e23)) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e21) (e23)) = (e21)) -> (~((e21) = (e23))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H1bf zenon_Hb6 zenon_H126 zenon_Hd9 zenon_Hf7 zenon_H1c0 zenon_Hdd zenon_Hdc zenon_Hd7 zenon_H18b zenon_Hac zenon_H198 zenon_H1b9 zenon_H1a8 zenon_H1b4 zenon_Hc4 zenon_H98 zenon_H14 zenon_He8. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H182 | zenon_intro zenon_H1c1 ]. % 40.73/40.97 apply (zenon_L85_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c2 ]. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1c3). zenon_intro zenon_H1c5. zenon_intro zenon_H1c4. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1c4). zenon_intro zenon_H1c7. zenon_intro zenon_H1c6. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1c6). zenon_intro zenon_H19b. zenon_intro zenon_H1c8. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.73/40.97 apply (zenon_L58_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.73/40.97 apply (zenon_L89_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.73/40.97 apply (zenon_L91_); trivial. % 40.73/40.97 apply (zenon_L92_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H1c2); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1b8 ]. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1cb). zenon_intro zenon_H1cd. zenon_intro zenon_H1cc. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1cc). zenon_intro zenon_H1cf. zenon_intro zenon_H1ce. % 40.73/40.97 apply (zenon_and_s _ _ zenon_H1ce). zenon_intro zenon_H1d0. zenon_intro zenon_H1a2. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H198); [ zenon_intro zenon_Hab | zenon_intro zenon_H199 ]. % 40.73/40.97 apply (zenon_L39_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H199); [ zenon_intro zenon_H18a | zenon_intro zenon_H19a ]. % 40.73/40.97 apply (zenon_L86_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H192 | zenon_intro zenon_Hde ]. % 40.73/40.97 apply (zenon_L93_); trivial. % 40.73/40.97 apply (zenon_L52_); trivial. % 40.73/40.97 apply (zenon_L97_); trivial. % 40.73/40.97 (* end of lemma zenon_L98_ *) % 40.73/40.97 assert (zenon_L99_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (~((e21) = (e23))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (~((e21) = (e22))) -> ((op2 (e20) (e20)) = (e20)) -> (((~((op2 (e20) (op2 (e20) (e20))) = (e20)))/\((~((op2 (e20) (op2 (e20) (e21))) = (e21)))/\((~((op2 (e20) (op2 (e20) (e22))) = (e22)))/\(~((op2 (e20) (op2 (e20) (e23))) = (e23))))))\/(((~((op2 (e21) (op2 (e21) (e20))) = (e20)))/\((~((op2 (e21) (op2 (e21) (e21))) = (e21)))/\((~((op2 (e21) (op2 (e21) (e22))) = (e22)))/\(~((op2 (e21) (op2 (e21) (e23))) = (e23))))))\/(((~((op2 (e22) (op2 (e22) (e20))) = (e20)))/\((~((op2 (e22) (op2 (e22) (e21))) = (e21)))/\((~((op2 (e22) (op2 (e22) (e22))) = (e22)))/\(~((op2 (e22) (op2 (e22) (e23))) = (e23))))))\/((~((op2 (e23) (op2 (e23) (e20))) = (e20)))/\((~((op2 (e23) (op2 (e23) (e21))) = (e21)))/\((~((op2 (e23) (op2 (e23) (e22))) = (e22)))/\(~((op2 (e23) (op2 (e23) (e23))) = (e23))))))))) -> ((op2 (e22) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_He1 zenon_Hd4 zenon_He8 zenon_H14 zenon_H98 zenon_Hc4 zenon_H1b4 zenon_H1a8 zenon_H1b9 zenon_H198 zenon_Hac zenon_H18b zenon_H1c0 zenon_Hf7 zenon_H126 zenon_Hb6 zenon_H1bf zenon_Hcf zenon_Hd9 zenon_Hdc zenon_Hdd. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.73/40.97 apply (zenon_L48_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.73/40.97 apply (zenon_L98_); trivial. % 40.73/40.97 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.73/40.97 apply (zenon_L51_); trivial. % 40.73/40.97 apply (zenon_L52_); trivial. % 40.73/40.97 (* end of lemma zenon_L99_ *) % 40.73/40.97 assert (zenon_L100_ : (~((op2 (op2 (e21) (e21)) (e21)) = (op2 (e21) (e20)))) -> ((op2 (e20) (e21)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> ((op2 (e21) (e20)) = (e23)) -> False). % 40.73/40.97 do 0 intro. intros zenon_H1d1 zenon_Ha1 zenon_H14 zenon_H1d2. % 40.73/40.97 cut (((op2 (e20) (e21)) = (e23)) = ((op2 (op2 (e21) (e21)) (e21)) = (op2 (e21) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1d1. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Ha1. % 40.73/40.97 cut (((e23) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d3]. % 40.73/40.97 cut (((op2 (e20) (e21)) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1d4]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (op2 (e21) (e21)) (e21)) = (op2 (op2 (e21) (e21)) (e21)))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d6 ]. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e20) (e21)) = (op2 (op2 (e21) (e21)) (e21)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1d4. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H1d5. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1d6]. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.97 congruence. % 40.73/40.97 apply (zenon_L34_); trivial. % 40.73/40.97 apply zenon_H1d6. apply refl_equal. % 40.73/40.97 apply zenon_H1d6. apply refl_equal. % 40.73/40.97 apply zenon_H1d3. apply sym_equal. exact zenon_H1d2. % 40.73/40.97 (* end of lemma zenon_L100_ *) % 40.73/40.97 assert (zenon_L101_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e22) (e20)) = (e23)) -> ((op2 (e20) (e21)) = (e23)) -> ((op2 (e21) (e20)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> False). % 40.73/40.97 do 0 intro. intros zenon_H98 zenon_H1d7 zenon_Ha1 zenon_H1d2 zenon_H14 zenon_H1d8. % 40.73/40.97 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ]. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((op2 (e21) (e20)) = (op2 (e22) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1d8. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_Hf4. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d9]. % 40.73/40.97 congruence. % 40.73/40.97 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e22) (e20)) = (op2 (e21) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1d9. % 40.73/40.97 rewrite <- zenon_D_pnotp. % 40.73/40.97 exact zenon_H98. % 40.73/40.97 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d1]. % 40.73/40.97 cut (((e23) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1da]. % 40.73/40.97 congruence. % 40.73/40.97 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ]. % 40.73/40.97 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e23) = (op2 (e22) (e20)))). % 40.73/40.97 intro zenon_D_pnotp. % 40.73/40.97 apply zenon_H1da. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_Hf4. % 40.73/40.98 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 40.73/40.98 cut (((op2 (e22) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1db zenon_H1d7). % 40.73/40.98 apply zenon_Hf5. apply refl_equal. % 40.73/40.98 apply zenon_Hf5. apply refl_equal. % 40.73/40.98 apply (zenon_L100_); trivial. % 40.73/40.98 apply zenon_Hf5. apply refl_equal. % 40.73/40.98 apply zenon_Hf5. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L101_ *) % 40.73/40.98 assert (zenon_L102_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e22) (e21)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H98 zenon_H1dc zenon_H14 zenon_H1dd. % 40.73/40.98 elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H1de | zenon_intro zenon_Hd2 ]. % 40.73/40.98 cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e20) (e21)) = (op2 (e22) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1dd. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1de. % 40.73/40.98 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 40.73/40.98 cut (((op2 (e22) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e22) (e21)) = (op2 (e20) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1df. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H98. % 40.73/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.98 cut (((e23) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H1de | zenon_intro zenon_Hd2 ]. % 40.73/40.98 cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e23) = (op2 (e22) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1e0. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1de. % 40.73/40.98 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 40.73/40.98 cut (((op2 (e22) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1e1 zenon_H1dc). % 40.73/40.98 apply zenon_Hd2. apply refl_equal. % 40.73/40.98 apply zenon_Hd2. apply refl_equal. % 40.73/40.98 apply (zenon_L34_); trivial. % 40.73/40.98 apply zenon_Hd2. apply refl_equal. % 40.73/40.98 apply zenon_Hd2. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L102_ *) % 40.73/40.98 assert (zenon_L103_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e22) (e22)) = (e23)) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H98 zenon_H1e2 zenon_H190 zenon_Hce. % 40.73/40.98 elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ]. % 40.73/40.98 cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_Hce. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1e3. % 40.73/40.98 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 40.73/40.98 cut (((op2 (e22) (e22)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1e5]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e22) (e22)) = (op2 (e22) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1e5. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H98. % 40.73/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H18f]. % 40.73/40.98 cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1e6]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ]. % 40.73/40.98 cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e23) = (op2 (e22) (e22)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1e6. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1e3. % 40.73/40.98 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 40.73/40.98 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1e7 zenon_H1e2). % 40.73/40.98 apply zenon_H1e4. apply refl_equal. % 40.73/40.98 apply zenon_H1e4. apply refl_equal. % 40.73/40.98 apply (zenon_L87_); trivial. % 40.73/40.98 apply zenon_H1e4. apply refl_equal. % 40.73/40.98 apply zenon_H1e4. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L103_ *) % 40.73/40.98 assert (zenon_L104_ : (((op2 (e22) (e20)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e21) (e20)) = (e23)) -> ((op2 (e20) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H1e8 zenon_H1d8 zenon_H1d2 zenon_Ha1 zenon_H1dd zenon_H14 zenon_Hce zenon_H98 zenon_H190 zenon_Hd9. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1e9 ]. % 40.73/40.98 apply (zenon_L101_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1ea ]. % 40.73/40.98 apply (zenon_L102_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H192 ]. % 40.73/40.98 apply (zenon_L103_); trivial. % 40.73/40.98 apply (zenon_L88_); trivial. % 40.73/40.98 (* end of lemma zenon_L104_ *) % 40.73/40.98 assert (zenon_L105_ : ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e21)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H98 zenon_H1eb zenon_H14 zenon_H8e. % 40.73/40.98 elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H90 ]. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((op2 (e20) (e21)) = (op2 (e21) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H8e. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1ec. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e23) = (op2 (op2 (e21) (e21)) (e21))) = ((op2 (e21) (e21)) = (op2 (e20) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1ed. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H98. % 40.73/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 40.73/40.98 cut (((e23) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1ee]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H1ec | zenon_intro zenon_H90 ]. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((e23) = (op2 (e21) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1ee. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1ec. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.73/40.98 cut (((op2 (e21) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1ef]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1ef zenon_H1eb). % 40.73/40.98 apply zenon_H90. apply refl_equal. % 40.73/40.98 apply zenon_H90. apply refl_equal. % 40.73/40.98 apply (zenon_L34_); trivial. % 40.73/40.98 apply zenon_H90. apply refl_equal. % 40.73/40.98 apply zenon_H90. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L105_ *) % 40.73/40.98 assert (zenon_L106_ : ((op2 (e21) (e22)) = (e21)) -> ((op2 (e21) (e22)) = (e23)) -> (~((e21) = (e23))) -> False). % 40.73/40.98 do 0 intro. intros zenon_Hcc zenon_H1f0 zenon_H18b. % 40.73/40.98 elim (classic ((e23) = (e23))); [ zenon_intro zenon_H18c | zenon_intro zenon_Hfb ]. % 40.73/40.98 cut (((e23) = (e23)) = ((e21) = (e23))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H18b. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H18c. % 40.73/40.98 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.73/40.98 cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H18d]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((op2 (e21) (e22)) = (e21)) = ((e23) = (e21))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H18d. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_Hcc. % 40.73/40.98 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.98 cut (((op2 (e21) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f1]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1f1 zenon_H1f0). % 40.73/40.98 apply zenon_H95. apply refl_equal. % 40.73/40.98 apply zenon_Hfb. apply refl_equal. % 40.73/40.98 apply zenon_Hfb. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L106_ *) % 40.73/40.98 assert (zenon_L107_ : (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((e21) = (e22))) -> ((op2 (e21) (e23)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> (((op2 (e21) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e21) (e22)) = (e23))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e22) (e20)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((e21) = (e23))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_Hb2 zenon_H97 zenon_H126 zenon_Hd7 zenon_Hcc zenon_H1f2 zenon_Hd9 zenon_Hce zenon_H1dd zenon_H1d8 zenon_H1e8 zenon_H8e zenon_H18b zenon_Hf7 zenon_Hc4 zenon_H1c0 zenon_Ha5 zenon_H98 zenon_H14 zenon_Hac. % 40.73/40.98 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.73/40.98 apply (zenon_L35_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.73/40.98 apply (zenon_L58_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.73/40.98 apply (zenon_L104_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.73/40.98 apply (zenon_L105_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.73/40.98 apply (zenon_L106_); trivial. % 40.73/40.98 apply (zenon_L86_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.73/40.98 apply (zenon_L67_); trivial. % 40.73/40.98 apply (zenon_L92_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.73/40.98 apply (zenon_L38_); trivial. % 40.73/40.98 apply (zenon_L39_); trivial. % 40.73/40.98 (* end of lemma zenon_L107_ *) % 40.73/40.98 assert (zenon_L108_ : (~((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e10)))) -> ((op1 (e10) (e11)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e11) (e10)) = (e13)) -> False). % 40.73/40.98 do 0 intro. intros zenon_H1f5 zenon_H2c zenon_H18 zenon_H1f6. % 40.73/40.98 cut (((op1 (e10) (e11)) = (e13)) = ((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e10)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1f5. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H2c. % 40.73/40.98 cut (((e13) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1f7]. % 40.73/40.98 cut (((op1 (e10) (e11)) = (op1 (op1 (e11) (e11)) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1f8]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11)))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e10) (e11)) = (op1 (op1 (e11) (e11)) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1f8. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H1f9. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1fa]. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.98 congruence. % 40.73/40.98 apply (zenon_L4_); trivial. % 40.73/40.98 apply zenon_H1fa. apply refl_equal. % 40.73/40.98 apply zenon_H1fa. apply refl_equal. % 40.73/40.98 apply zenon_H1f7. apply sym_equal. exact zenon_H1f6. % 40.73/40.98 (* end of lemma zenon_L108_ *) % 40.73/40.98 assert (zenon_L109_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e12) (e10)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e11) (e10)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H23 zenon_H1fb zenon_H2c zenon_H1f6 zenon_H18 zenon_H1fc. % 40.73/40.98 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ]. % 40.73/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((op1 (e11) (e10)) = (op1 (e12) (e10)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1fc. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H7f. % 40.73/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 40.73/40.98 cut (((op1 (e12) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1fd]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e12) (e10)) = (op1 (e11) (e10)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1fd. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1f5]. % 40.73/40.98 cut (((e13) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1fe]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ]. % 40.73/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e13) = (op1 (e12) (e10)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H1fe. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H7f. % 40.73/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 40.73/40.98 cut (((op1 (e12) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H1ff zenon_H1fb). % 40.73/40.98 apply zenon_H80. apply refl_equal. % 40.73/40.98 apply zenon_H80. apply refl_equal. % 40.73/40.98 apply (zenon_L108_); trivial. % 40.73/40.98 apply zenon_H80. apply refl_equal. % 40.73/40.98 apply zenon_H80. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L109_ *) % 40.73/40.98 assert (zenon_L110_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e12) (e11)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H23 zenon_H200 zenon_H18 zenon_H201. % 40.73/40.98 elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H202 | zenon_intro zenon_H5d ]. % 40.73/40.98 cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e10) (e11)) = (op1 (e12) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H201. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H202. % 40.73/40.98 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 40.73/40.98 cut (((op1 (e12) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H203]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e12) (e11)) = (op1 (e10) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H203. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.98 cut (((e13) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H204]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H202 | zenon_intro zenon_H5d ]. % 40.73/40.98 cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e13) = (op1 (e12) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H204. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H202. % 40.73/40.98 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 40.73/40.98 cut (((op1 (e12) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H205]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H205 zenon_H200). % 40.73/40.98 apply zenon_H5d. apply refl_equal. % 40.73/40.98 apply zenon_H5d. apply refl_equal. % 40.73/40.98 apply (zenon_L4_); trivial. % 40.73/40.98 apply zenon_H5d. apply refl_equal. % 40.73/40.98 apply zenon_H5d. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L110_ *) % 40.73/40.98 assert (zenon_L111_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e12) (e12)) = (e13)) -> ((op1 (e11) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H23 zenon_H206 zenon_H138 zenon_H59. % 40.73/40.98 elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H207 | zenon_intro zenon_H208 ]. % 40.73/40.98 cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H59. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H207. % 40.73/40.98 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H208]. % 40.73/40.98 cut (((op1 (e12) (e12)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e12) (e12)) = (op1 (e12) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H209. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H137]. % 40.73/40.98 cut (((e13) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H207 | zenon_intro zenon_H208 ]. % 40.73/40.98 cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e13) = (op1 (e12) (e12)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H20a. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H207. % 40.73/40.98 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H208]. % 40.73/40.98 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H20b zenon_H206). % 40.73/40.98 apply zenon_H208. apply refl_equal. % 40.73/40.98 apply zenon_H208. apply refl_equal. % 40.73/40.98 apply (zenon_L71_); trivial. % 40.73/40.98 apply zenon_H208. apply refl_equal. % 40.73/40.98 apply zenon_H208. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L111_ *) % 40.73/40.98 assert (zenon_L112_ : (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e11) (e10)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e11) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H20c zenon_H1fc zenon_H1f6 zenon_H2c zenon_H201 zenon_H18 zenon_H59 zenon_H23 zenon_H138 zenon_H64. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H20c); [ zenon_intro zenon_H1fb | zenon_intro zenon_H20d ]. % 40.73/40.98 apply (zenon_L109_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H200 | zenon_intro zenon_H20e ]. % 40.73/40.98 apply (zenon_L110_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H20e); [ zenon_intro zenon_H206 | zenon_intro zenon_H13a ]. % 40.73/40.98 apply (zenon_L111_); trivial. % 40.73/40.98 apply (zenon_L72_); trivial. % 40.73/40.98 (* end of lemma zenon_L112_ *) % 40.73/40.98 assert (zenon_L113_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e11) (e11)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H23 zenon_H20f zenon_H18 zenon_H17. % 40.73/40.98 elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H210 | zenon_intro zenon_H1a ]. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((op1 (e10) (e11)) = (op1 (e11) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H17. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H210. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e11) (e11)) = (op1 (e10) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H211. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23. % 40.73/40.98 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 40.73/40.98 cut (((e13) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H212]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H210 | zenon_intro zenon_H1a ]. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((e13) = (op1 (e11) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H212. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H210. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.73/40.98 cut (((op1 (e11) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H213]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H213 zenon_H20f). % 40.73/40.98 apply zenon_H1a. apply refl_equal. % 40.73/40.98 apply zenon_H1a. apply refl_equal. % 40.73/40.98 apply (zenon_L4_); trivial. % 40.73/40.98 apply zenon_H1a. apply refl_equal. % 40.73/40.98 apply zenon_H1a. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L113_ *) % 40.73/40.98 assert (zenon_L114_ : ((op1 (e11) (e12)) = (e11)) -> ((op1 (e11) (e12)) = (e13)) -> (~((e11) = (e13))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H57 zenon_H214 zenon_H133. % 40.73/40.98 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H134 | zenon_intro zenon_H86 ]. % 40.73/40.98 cut (((e13) = (e13)) = ((e11) = (e13))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H133. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H134. % 40.73/40.98 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.98 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((op1 (e11) (e12)) = (e11)) = ((e13) = (e11))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H135. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H57. % 40.73/40.98 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 40.73/40.98 cut (((op1 (e11) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H215]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H215 zenon_H214). % 40.73/40.98 apply zenon_H1f. apply refl_equal. % 40.73/40.98 apply zenon_H86. apply refl_equal. % 40.73/40.98 apply zenon_H86. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L114_ *) % 40.73/40.98 assert (zenon_L115_ : (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e12) (e10)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e11) (e13)) = (e11)) -> (~((e11) = (e13))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H216 zenon_H1fc zenon_H2c zenon_H1fb zenon_H17 zenon_H18 zenon_H23 zenon_H57 zenon_H62 zenon_H133. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H217 ]. % 40.73/40.98 apply (zenon_L109_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H20f | zenon_intro zenon_H218 ]. % 40.73/40.98 apply (zenon_L113_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H218); [ zenon_intro zenon_H214 | zenon_intro zenon_H132 ]. % 40.73/40.98 apply (zenon_L114_); trivial. % 40.73/40.98 apply (zenon_L70_); trivial. % 40.73/40.98 (* end of lemma zenon_L115_ *) % 40.73/40.98 assert (zenon_L116_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e11) (e13)) = (e11)) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((e11) = (e12))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H3d zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H216 zenon_H1fc zenon_H17 zenon_H57 zenon_H62 zenon_H133 zenon_H168 zenon_H64 zenon_H59 zenon_H201 zenon_H20c zenon_H117 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.73/40.98 apply (zenon_L5_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H24 | zenon_intro zenon_H21a ]. % 40.73/40.98 apply (zenon_L5_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H21b ]. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H168); [ zenon_intro zenon_H83 | zenon_intro zenon_H179 ]. % 40.73/40.98 apply (zenon_L28_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H179); [ zenon_intro zenon_H138 | zenon_intro zenon_H17a ]. % 40.73/40.98 apply (zenon_L112_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H17a); [ zenon_intro zenon_H116 | zenon_intro zenon_H148 ]. % 40.73/40.98 apply (zenon_L64_); trivial. % 40.73/40.98 apply (zenon_L76_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H1fb | zenon_intro zenon_H88 ]. % 40.73/40.98 apply (zenon_L115_); trivial. % 40.73/40.98 apply (zenon_L31_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.73/40.98 apply (zenon_L8_); trivial. % 40.73/40.98 apply (zenon_L9_); trivial. % 40.73/40.98 (* end of lemma zenon_L116_ *) % 40.73/40.98 assert (zenon_L117_ : ((e20) = (op2 (e21) (e21))) -> ((op2 (e21) (e23)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H14 zenon_H21c zenon_H21d. % 40.73/40.98 elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 40.73/40.98 cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e21) (e21)) = (op2 (e21) (e23)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H21d. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H21e. % 40.73/40.98 cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H21f]. % 40.73/40.98 cut (((op2 (e21) (e23)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H220]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e21) (e23)) = (op2 (e21) (e21)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H220. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H14. % 40.73/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.73/40.98 cut (((e20) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 40.73/40.98 cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e20) = (op2 (e21) (e23)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H221. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H21e. % 40.73/40.98 cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H21f]. % 40.73/40.98 cut (((op2 (e21) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H222]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H222 zenon_H21c). % 40.73/40.98 apply zenon_H21f. apply refl_equal. % 40.73/40.98 apply zenon_H21f. apply refl_equal. % 40.73/40.98 apply zenon_H90. apply refl_equal. % 40.73/40.98 apply zenon_H21f. apply refl_equal. % 40.73/40.98 apply zenon_H21f. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L117_ *) % 40.73/40.98 assert (zenon_L118_ : (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> ((op2 (e22) (e23)) = (e20)) -> False). % 40.73/40.98 do 0 intro. intros zenon_H223 zenon_Hd3 zenon_H224. % 40.73/40.98 cut (((op2 (e20) (e23)) = (e20)) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H223. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_Hd3. % 40.73/40.98 cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 40.73/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.73/40.98 congruence. % 40.73/40.98 apply zenon_Hae. apply refl_equal. % 40.73/40.98 apply zenon_H225. apply sym_equal. exact zenon_H224. % 40.73/40.98 (* end of lemma zenon_L118_ *) % 40.73/40.98 assert (zenon_L119_ : ((e10) = (op1 (e11) (e11))) -> ((op1 (e11) (e13)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H18 zenon_H226 zenon_H227. % 40.73/40.98 elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 40.73/40.98 cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e11) (e11)) = (op1 (e11) (e13)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H227. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H228. % 40.73/40.98 cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 40.73/40.98 cut (((op1 (e11) (e13)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H22a]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e10) = (op1 (e11) (e11))) = ((op1 (e11) (e13)) = (op1 (e11) (e11)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H22a. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H18. % 40.73/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.73/40.98 cut (((e10) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H22b]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H228 | zenon_intro zenon_H229 ]. % 40.73/40.98 cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e10) = (op1 (e11) (e13)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H22b. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H228. % 40.73/40.98 cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 40.73/40.98 cut (((op1 (e11) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H22c]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H22c zenon_H226). % 40.73/40.98 apply zenon_H229. apply refl_equal. % 40.73/40.98 apply zenon_H229. apply refl_equal. % 40.73/40.98 apply zenon_H1a. apply refl_equal. % 40.73/40.98 apply zenon_H229. apply refl_equal. % 40.73/40.98 apply zenon_H229. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L119_ *) % 40.73/40.98 assert (zenon_L120_ : (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> ((op1 (e12) (e13)) = (e10)) -> False). % 40.73/40.98 do 0 intro. intros zenon_H22d zenon_H5e zenon_H22e. % 40.73/40.98 cut (((op1 (e10) (e13)) = (e10)) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H22d. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H5e. % 40.73/40.98 cut (((e10) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.98 congruence. % 40.73/40.98 apply zenon_H39. apply refl_equal. % 40.73/40.98 apply zenon_H22f. apply sym_equal. exact zenon_H22e. % 40.73/40.98 (* end of lemma zenon_L120_ *) % 40.73/40.98 assert (zenon_L121_ : (~((h2 (e13)) = (e23))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H230 zenon_H231 zenon_H98. % 40.73/40.98 cut (((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) = ((h2 (e13)) = (e23))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H230. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H231. % 40.73/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hc2]. % 40.73/40.98 cut (((h2 (e13)) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H232]. % 40.73/40.98 congruence. % 40.73/40.98 apply zenon_H232. apply refl_equal. % 40.73/40.98 apply zenon_Hc2. apply sym_equal. exact zenon_H98. % 40.73/40.98 (* end of lemma zenon_L121_ *) % 40.73/40.98 assert (zenon_L122_ : (~((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))) -> ((h2 (e11)) = (e21)) -> ((op1 (e10) (e13)) = (e11)) -> ((op2 (e20) (e23)) = (e21)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H233 zenon_H234 zenon_H235 zenon_H236 zenon_H13 zenon_H14 zenon_H231 zenon_H98. % 40.73/40.98 cut (((h2 (e11)) = (e21)) = ((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H233. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H234. % 40.73/40.98 cut (((e21) = (op2 (h2 (e10)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 40.73/40.98 cut (((h2 (e11)) = (h2 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H238]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((h2 (op1 (e10) (e13))) = (h2 (op1 (e10) (e13))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H23a ]. % 40.73/40.98 cut (((h2 (op1 (e10) (e13))) = (h2 (op1 (e10) (e13)))) = ((h2 (e11)) = (h2 (op1 (e10) (e13))))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H238. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H239. % 40.73/40.98 cut (((h2 (op1 (e10) (e13))) = (h2 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23a]. % 40.73/40.98 cut (((h2 (op1 (e10) (e13))) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H23c]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H23c zenon_H235). % 40.73/40.98 apply zenon_H23a. apply refl_equal. % 40.73/40.98 apply zenon_H23a. apply refl_equal. % 40.73/40.98 elim (classic ((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13))))); [ zenon_intro zenon_H23d | zenon_intro zenon_H23e ]. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13)))) = ((e21) = (op2 (h2 (e10)) (h2 (e13))))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H237. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23d. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23e]. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H23f]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((op2 (e20) (e23)) = (e21)) = ((op2 (h2 (e10)) (h2 (e13))) = (e21))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H23f. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H236. % 40.73/40.98 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.73/40.98 cut (((op2 (e20) (e23)) = (op2 (h2 (e10)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H240]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13))))); [ zenon_intro zenon_H23d | zenon_intro zenon_H23e ]. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13)))) = ((op2 (e20) (e23)) = (op2 (h2 (e10)) (h2 (e13))))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H240. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H23d. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (op2 (h2 (e10)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23e]. % 40.73/40.98 cut (((op2 (h2 (e10)) (h2 (e13))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.73/40.98 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.73/40.98 congruence. % 40.73/40.98 apply (zenon_L1_); trivial. % 40.73/40.98 apply (zenon_L121_); trivial. % 40.73/40.98 apply zenon_H23e. apply refl_equal. % 40.73/40.98 apply zenon_H23e. apply refl_equal. % 40.73/40.98 apply zenon_H95. apply refl_equal. % 40.73/40.98 apply zenon_H23e. apply refl_equal. % 40.73/40.98 apply zenon_H23e. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L122_ *) % 40.73/40.98 assert (zenon_L123_ : (~((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e10) (e12)))) -> ((op1 (e13) (e10)) = (e12)) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e10) (e12)) = (e12)) -> False). % 40.73/40.98 do 0 intro. intros zenon_H242 zenon_H89 zenon_H23 zenon_H18 zenon_H108. % 40.73/40.98 cut (((op1 (e13) (e10)) = (e12)) = ((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e10) (e12)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H242. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H89. % 40.73/40.98 cut (((e12) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 40.73/40.98 cut (((op1 (e13) (e10)) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H244]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))))); [ zenon_intro zenon_H245 | zenon_intro zenon_H246 ]. % 40.73/40.98 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e13) (e10)) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H244. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H245. % 40.73/40.98 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H246]. % 40.73/40.98 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 40.73/40.98 congruence. % 40.73/40.98 apply (zenon_L13_); trivial. % 40.73/40.98 apply zenon_H246. apply refl_equal. % 40.73/40.98 apply zenon_H246. apply refl_equal. % 40.73/40.98 apply zenon_H243. apply sym_equal. exact zenon_H108. % 40.73/40.98 (* end of lemma zenon_L123_ *) % 40.73/40.98 assert (zenon_L124_ : ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op1 (e10) (e13)) = (e12)) -> ((op1 (e13) (e10)) = (e12)) -> ((op1 (e10) (e12)) = (e12)) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H4f zenon_H247 zenon_H89 zenon_H108 zenon_H23 zenon_H18 zenon_H248. % 40.73/40.98 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ]. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((op1 (e10) (e12)) = (op1 (e10) (e13)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H248. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H38. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H249]. % 40.73/40.98 congruence. % 40.73/40.98 cut (((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) = ((op1 (e10) (e13)) = (op1 (e10) (e12)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H249. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H4f. % 40.73/40.98 cut (((op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11))) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H242]. % 40.73/40.98 cut (((e12) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H24a]. % 40.73/40.98 congruence. % 40.73/40.98 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ]. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e12) = (op1 (e10) (e13)))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H24a. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H38. % 40.73/40.98 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 40.73/40.98 cut (((op1 (e10) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H24b]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H24b zenon_H247). % 40.73/40.98 apply zenon_H39. apply refl_equal. % 40.73/40.98 apply zenon_H39. apply refl_equal. % 40.73/40.98 apply (zenon_L123_); trivial. % 40.73/40.98 apply zenon_H39. apply refl_equal. % 40.73/40.98 apply zenon_H39. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L124_ *) % 40.73/40.98 assert (zenon_L125_ : (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> ((op1 (e13) (e10)) = (e12)) -> ((op1 (e10) (e13)) = (e12)) -> (~((e11) = (e12))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H122 zenon_H248 zenon_H89 zenon_H247 zenon_H117 zenon_H57 zenon_H5a zenon_H59 zenon_H4f zenon_H18 zenon_H23 zenon_H11d. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H108 | zenon_intro zenon_H123 ]. % 40.73/40.98 apply (zenon_L124_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H123); [ zenon_intro zenon_H116 | zenon_intro zenon_H124 ]. % 40.73/40.98 apply (zenon_L64_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H5b | zenon_intro zenon_H11c ]. % 40.73/40.98 apply (zenon_L17_); trivial. % 40.73/40.98 apply (zenon_L65_); trivial. % 40.73/40.98 (* end of lemma zenon_L125_ *) % 40.73/40.98 assert (zenon_L126_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> ((op1 (e12) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((op2 (e20) (e23)) = (e21)) -> ((h2 (e11)) = (e21)) -> (~((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e11) (e12)) = (e11)) -> (~((e11) = (e12))) -> ((op1 (e13) (e10)) = (e12)) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.73/40.98 do 0 intro. intros zenon_H24c zenon_H22e zenon_H22d zenon_H98 zenon_H231 zenon_H14 zenon_H13 zenon_H236 zenon_H234 zenon_H233 zenon_H11d zenon_H4f zenon_H59 zenon_H5a zenon_H57 zenon_H117 zenon_H89 zenon_H248 zenon_H122 zenon_H23 zenon_H18 zenon_H37. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H24c); [ zenon_intro zenon_H5e | zenon_intro zenon_H24d ]. % 40.73/40.98 apply (zenon_L120_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H24d); [ zenon_intro zenon_H235 | zenon_intro zenon_H24e ]. % 40.73/40.98 apply (zenon_L122_); trivial. % 40.73/40.98 apply (zenon_or_s _ _ zenon_H24e); [ zenon_intro zenon_H247 | zenon_intro zenon_H36 ]. % 40.73/40.98 apply (zenon_L125_); trivial. % 40.73/40.98 apply (zenon_L9_); trivial. % 40.73/40.98 (* end of lemma zenon_L126_ *) % 40.73/40.98 assert (zenon_L127_ : (~((e10) = (e13))) -> ((op1 (e13) (e13)) = (e13)) -> ((op1 (e13) (e13)) = (e10)) -> False). % 40.73/40.98 do 0 intro. intros zenon_H24f zenon_H69 zenon_H250. % 40.73/40.98 cut (((op1 (e13) (e13)) = (e13)) = ((e10) = (e13))). % 40.73/40.98 intro zenon_D_pnotp. % 40.73/40.98 apply zenon_H24f. % 40.73/40.98 rewrite <- zenon_D_pnotp. % 40.73/40.98 exact zenon_H69. % 40.73/40.98 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 40.73/40.98 cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H251]. % 40.73/40.98 congruence. % 40.73/40.98 exact (zenon_H251 zenon_H250). % 40.73/40.98 apply zenon_H86. apply refl_equal. % 40.73/40.98 (* end of lemma zenon_L127_ *) % 40.73/40.98 assert (zenon_L128_ : (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> (~((e11) = (e12))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))) -> ((h2 (e11)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((op1 (e13) (e13)) = (e13)) -> False). % 40.81/40.98 do 0 intro. intros zenon_H8b zenon_H4e zenon_H82 zenon_H7c zenon_H252 zenon_H5f zenon_H41 zenon_H227 zenon_H37 zenon_H18 zenon_H23 zenon_H122 zenon_H248 zenon_H117 zenon_H57 zenon_H5a zenon_H59 zenon_H4f zenon_H11d zenon_H233 zenon_H234 zenon_H236 zenon_H13 zenon_H14 zenon_H231 zenon_H98 zenon_H22d zenon_H24c zenon_H24f zenon_H69. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H50 | zenon_intro zenon_H8c ]. % 40.81/40.98 apply (zenon_L14_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H83 | zenon_intro zenon_H8d ]. % 40.81/40.98 apply (zenon_L28_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H7d | zenon_intro zenon_H89 ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H252); [ zenon_intro zenon_H5e | zenon_intro zenon_H253 ]. % 40.81/40.98 apply (zenon_L18_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H253); [ zenon_intro zenon_H226 | zenon_intro zenon_H254 ]. % 40.81/40.98 apply (zenon_L119_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H254); [ zenon_intro zenon_H22e | zenon_intro zenon_H250 ]. % 40.81/40.98 apply (zenon_L126_); trivial. % 40.81/40.98 apply (zenon_L127_); trivial. % 40.81/40.98 (* end of lemma zenon_L128_ *) % 40.81/40.98 assert (zenon_L129_ : (~((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e20) (e22)))) -> ((op2 (e23) (e20)) = (e22)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((op2 (e20) (e22)) = (e22)) -> False). % 40.81/40.98 do 0 intro. intros zenon_H255 zenon_Hfe zenon_H98 zenon_H14 zenon_H109. % 40.81/40.98 cut (((op2 (e23) (e20)) = (e22)) = ((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e20) (e22)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H255. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Hfe. % 40.81/40.98 cut (((e22) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H256]. % 40.81/40.98 cut (((op2 (e23) (e20)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H257]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 40.81/40.98 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e23) (e20)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H257. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H258. % 40.81/40.98 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 40.81/40.98 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 40.81/40.98 congruence. % 40.81/40.98 apply (zenon_L43_); trivial. % 40.81/40.98 apply zenon_H259. apply refl_equal. % 40.81/40.98 apply zenon_H259. apply refl_equal. % 40.81/40.98 apply zenon_H256. apply sym_equal. exact zenon_H109. % 40.81/40.98 (* end of lemma zenon_L129_ *) % 40.81/40.98 assert (zenon_L130_ : ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e20) (e23)) = (e22)) -> ((op2 (e23) (e20)) = (e22)) -> ((op2 (e20) (e22)) = (e22)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e22)) = (op2 (e20) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_Hc4 zenon_H25a zenon_Hfe zenon_H109 zenon_H98 zenon_H14 zenon_H25b. % 40.81/40.98 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Had | zenon_intro zenon_Hae ]. % 40.81/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((op2 (e20) (e22)) = (op2 (e20) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H25b. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Had. % 40.81/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.81/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H25c]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((op2 (e20) (e23)) = (op2 (e20) (e22)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H25c. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Hc4. % 40.81/40.98 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H255]. % 40.81/40.98 cut (((e22) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H25d]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Had | zenon_intro zenon_Hae ]. % 40.81/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e22) = (op2 (e20) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H25d. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Had. % 40.81/40.98 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 40.81/40.98 cut (((op2 (e20) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H25e]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H25e zenon_H25a). % 40.81/40.98 apply zenon_Hae. apply refl_equal. % 40.81/40.98 apply zenon_Hae. apply refl_equal. % 40.81/40.98 apply (zenon_L129_); trivial. % 40.81/40.98 apply zenon_Hae. apply refl_equal. % 40.81/40.98 apply zenon_Hae. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L130_ *) % 40.81/40.98 assert (zenon_L131_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e20) (e23)) = (e21))\/(((op2 (e20) (e23)) = (e22))\/((op2 (e20) (e23)) = (e23))))) -> ((op2 (e22) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op1 (e13) (e13)) = (e13)) -> (~((e10) = (e13))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((h2 (e11)) = (e21)) -> (~((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e11) (e12)) = (e11)) -> (~((e11) = (e12))) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op2 (e20) (e22)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e22)) = (e22)) -> ((op2 (e23) (e20)) = (e22)) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H25f zenon_H224 zenon_H223 zenon_H69 zenon_H24f zenon_H24c zenon_H22d zenon_H231 zenon_H13 zenon_H234 zenon_H233 zenon_H11d zenon_H4f zenon_H59 zenon_H5a zenon_H57 zenon_H117 zenon_H248 zenon_H122 zenon_H23 zenon_H18 zenon_H37 zenon_H227 zenon_H41 zenon_H5f zenon_H252 zenon_H7c zenon_H82 zenon_H4e zenon_H8b zenon_H25b zenon_H109 zenon_Hfe zenon_Hc4 zenon_H98 zenon_H14 zenon_Hac. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H25f); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H260 ]. % 40.81/40.98 apply (zenon_L118_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H260); [ zenon_intro zenon_H236 | zenon_intro zenon_H261 ]. % 40.81/40.98 apply (zenon_L128_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H261); [ zenon_intro zenon_H25a | zenon_intro zenon_Hab ]. % 40.81/40.98 apply (zenon_L130_); trivial. % 40.81/40.98 apply (zenon_L39_); trivial. % 40.81/40.98 (* end of lemma zenon_L131_ *) % 40.81/40.98 assert (zenon_L132_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> False). % 40.81/40.98 do 0 intro. intros zenon_H262 zenon_Hde. % 40.81/40.98 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H263]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H263 zenon_Hde). % 40.81/40.98 apply zenon_Hfb. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L132_ *) % 40.81/40.98 assert (zenon_L133_ : ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e23)) -> (~((op2 (e23) (e23)) = (h4 (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H264 zenon_Hde zenon_H265. % 40.81/40.98 elim (classic ((h4 (e13)) = (h4 (e13)))); [ zenon_intro zenon_H266 | zenon_intro zenon_H267 ]. % 40.81/40.98 cut (((h4 (e13)) = (h4 (e13))) = ((op2 (e23) (e23)) = (h4 (e13)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H265. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H266. % 40.81/40.98 cut (((h4 (e13)) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H267]. % 40.81/40.98 cut (((h4 (e13)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (e13)) = (op2 (e23) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H268. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H264. % 40.81/40.98 cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H262]. % 40.81/40.98 cut (((h4 (e13)) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H267]. % 40.81/40.98 congruence. % 40.81/40.98 apply zenon_H267. apply refl_equal. % 40.81/40.98 apply (zenon_L132_); trivial. % 40.81/40.98 apply zenon_H267. apply refl_equal. % 40.81/40.98 apply zenon_H267. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L133_ *) % 40.81/40.98 assert (zenon_L134_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))) -> ((op2 (e23) (e23)) = (e20)) -> False). % 40.81/40.98 do 0 intro. intros zenon_H269 zenon_H26a. % 40.81/40.98 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H26b zenon_H26a). % 40.81/40.98 apply zenon_Hfb. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L134_ *) % 40.81/40.98 assert (zenon_L135_ : ((op2 (e23) (e23)) = (e23)) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_Hde zenon_H264 zenon_H26a zenon_H26c. % 40.81/40.98 elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H26d | zenon_intro zenon_H26e ]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H26c. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H26d. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H26f]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e23)) = (op2 (e20) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H26f. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H264. % 40.81/40.98 cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 40.81/40.98 cut (((h4 (e13)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H26d | zenon_intro zenon_H26e ]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((h4 (e13)) = (op2 (e23) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H268. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H26d. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H265]. % 40.81/40.98 congruence. % 40.81/40.98 apply (zenon_L133_); trivial. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 apply (zenon_L134_); trivial. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L135_ *) % 40.81/40.98 assert (zenon_L136_ : (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e20)) = (e22))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e23) (e20)) = (e22))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e20) (e22)) = (e22)) -> (~((op2 (e20) (e22)) = (op2 (e20) (e23)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e10) (e13)))) -> (~((e11) = (e12))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))) -> ((h2 (e11)) = (e21)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((op1 (e13) (e13)) = (e13)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e20) (e23)) = (e21))\/(((op2 (e20) (e23)) = (e22))\/((op2 (e20) (e23)) = (e23))))) -> ((op2 (e23) (e23)) = (e23)) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H100 zenon_Hc3 zenon_Hf7 zenon_Hf1 zenon_H270 zenon_Hd4 zenon_Hb6 zenon_H21d zenon_Hac zenon_H14 zenon_H98 zenon_Hc4 zenon_H109 zenon_H25b zenon_H8b zenon_H4e zenon_H82 zenon_H7c zenon_H252 zenon_H5f zenon_H41 zenon_H227 zenon_H37 zenon_H18 zenon_H23 zenon_H122 zenon_H248 zenon_H117 zenon_H57 zenon_H5a zenon_H59 zenon_H4f zenon_H11d zenon_H233 zenon_H234 zenon_H13 zenon_H231 zenon_H22d zenon_H24c zenon_H24f zenon_H69 zenon_H223 zenon_H25f zenon_Hde zenon_H264 zenon_H26c. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H100); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H101 ]. % 40.81/40.98 apply (zenon_L44_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H102 ]. % 40.81/40.98 apply (zenon_L58_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H102); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfe ]. % 40.81/40.98 apply (zenon_L57_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H270); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H271 ]. % 40.81/40.98 apply (zenon_L48_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H271); [ zenon_intro zenon_H21c | zenon_intro zenon_H272 ]. % 40.81/40.98 apply (zenon_L117_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H272); [ zenon_intro zenon_H224 | zenon_intro zenon_H26a ]. % 40.81/40.98 apply (zenon_L131_); trivial. % 40.81/40.98 apply (zenon_L135_); trivial. % 40.81/40.98 (* end of lemma zenon_L136_ *) % 40.81/40.98 assert (zenon_L137_ : ((op1 (e13) (e13)) = (e13)) -> ((op1 (e11) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H69 zenon_H132 zenon_H273. % 40.81/40.98 elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H274 | zenon_intro zenon_H275 ]. % 40.81/40.98 cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H273. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H274. % 40.81/40.98 cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 40.81/40.98 cut (((op1 (e13) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H276]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op1 (e13) (e13)) = (e13)) = ((op1 (e13) (e13)) = (op1 (e11) (e13)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H276. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H69. % 40.81/40.98 cut (((e13) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H277]. % 40.81/40.98 cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 40.81/40.98 congruence. % 40.81/40.98 apply zenon_H275. apply refl_equal. % 40.81/40.98 apply zenon_H277. apply sym_equal. exact zenon_H132. % 40.81/40.98 apply zenon_H275. apply refl_equal. % 40.81/40.98 apply zenon_H275. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L137_ *) % 40.81/40.98 assert (zenon_L138_ : (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e12) (e10)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H216 zenon_H1fc zenon_H2c zenon_H1fb zenon_H17 zenon_H18 zenon_H23 zenon_H133 zenon_H57 zenon_H69 zenon_H273. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H217 ]. % 40.81/40.98 apply (zenon_L109_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H20f | zenon_intro zenon_H218 ]. % 40.81/40.98 apply (zenon_L113_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H218); [ zenon_intro zenon_H214 | zenon_intro zenon_H132 ]. % 40.81/40.98 apply (zenon_L114_); trivial. % 40.81/40.98 apply (zenon_L137_); trivial. % 40.81/40.98 (* end of lemma zenon_L138_ *) % 40.81/40.98 assert (zenon_L139_ : (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((h2 (op1 (e11) (e10))) = (op2 (h2 (e11)) (h2 (e10))))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e20)) = (e23)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e11)) = (e21)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H8b zenon_H4e zenon_H82 zenon_H4f zenon_H7c zenon_H3d zenon_H87 zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H278 zenon_H231 zenon_H1d2 zenon_H98 zenon_H234 zenon_H13 zenon_H14 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H50 | zenon_intro zenon_H8c ]. % 40.81/40.98 apply (zenon_L14_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H83 | zenon_intro zenon_H8d ]. % 40.81/40.98 apply (zenon_L28_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H7d | zenon_intro zenon_H89 ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.98 apply (zenon_L5_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H24 | zenon_intro zenon_H21a ]. % 40.81/40.98 apply (zenon_L5_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H21b ]. % 40.81/40.98 cut (((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) = ((h2 (op1 (e11) (e10))) = (op2 (h2 (e11)) (h2 (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H278. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H231. % 40.81/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e11)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H279]. % 40.81/40.98 cut (((h2 (e13)) = (h2 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H27a]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((h2 (op1 (e11) (e10))) = (h2 (op1 (e11) (e10))))); [ zenon_intro zenon_H27b | zenon_intro zenon_H27c ]. % 40.81/40.98 cut (((h2 (op1 (e11) (e10))) = (h2 (op1 (e11) (e10)))) = ((h2 (e13)) = (h2 (op1 (e11) (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H27a. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H27b. % 40.81/40.98 cut (((h2 (op1 (e11) (e10))) = (h2 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H27c]. % 40.81/40.98 cut (((h2 (op1 (e11) (e10))) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op1 (e11) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H27e]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H27e zenon_H1f6). % 40.81/40.98 apply zenon_H27c. apply refl_equal. % 40.81/40.98 apply zenon_H27c. apply refl_equal. % 40.81/40.98 elim (classic ((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10))))); [ zenon_intro zenon_H27f | zenon_intro zenon_H280 ]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10)))) = ((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e11)) (h2 (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H279. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H27f. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H281]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op2 (e21) (e20)) = (e23)) = ((op2 (h2 (e11)) (h2 (e10))) = (op2 (op2 (e21) (e21)) (e21)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H281. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H1d2. % 40.81/40.98 cut (((e23) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H282]. % 40.81/40.98 cut (((op2 (e21) (e20)) = (op2 (h2 (e11)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H283]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10))))); [ zenon_intro zenon_H27f | zenon_intro zenon_H280 ]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10)))) = ((op2 (e21) (e20)) = (op2 (h2 (e11)) (h2 (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H283. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H27f. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (h2 (e11)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H284]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.81/40.98 cut (((h2 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H285 zenon_H234). % 40.81/40.98 apply (zenon_L1_); trivial. % 40.81/40.98 apply zenon_H280. apply refl_equal. % 40.81/40.98 apply zenon_H280. apply refl_equal. % 40.81/40.98 exact (zenon_H282 zenon_H98). % 40.81/40.98 apply zenon_H280. apply refl_equal. % 40.81/40.98 apply zenon_H280. apply refl_equal. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H1fb | zenon_intro zenon_H88 ]. % 40.81/40.98 apply (zenon_L138_); trivial. % 40.81/40.98 apply (zenon_L30_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.98 apply (zenon_L8_); trivial. % 40.81/40.98 apply (zenon_L9_); trivial. % 40.81/40.98 (* end of lemma zenon_L139_ *) % 40.81/40.98 assert (zenon_L140_ : ((op2 (e23) (e23)) = (e23)) -> ((op2 (e21) (e23)) = (e23)) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_Hde zenon_H18a zenon_H286. % 40.81/40.98 elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H26d | zenon_intro zenon_H26e ]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H286. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H26d. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H287]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op2 (e23) (e23)) = (e23)) = ((op2 (e23) (e23)) = (op2 (e21) (e23)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H287. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Hde. % 40.81/40.98 cut (((e23) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H288]. % 40.81/40.98 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H26e]. % 40.81/40.98 congruence. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 apply zenon_H288. apply sym_equal. exact zenon_H18a. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 apply zenon_H26e. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L140_ *) % 40.81/40.98 assert (zenon_L141_ : (((op2 (e21) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e21) (e22)) = (e23))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e20) (e21)) = (e23)) -> ((op2 (e22) (e20)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((e21) = (e23))) -> ((op2 (e21) (e22)) = (e21)) -> ((op2 (e23) (e23)) = (e23)) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H1f2 zenon_H1d8 zenon_Ha1 zenon_H1d7 zenon_H8e zenon_H14 zenon_H98 zenon_H18b zenon_Hcc zenon_Hde zenon_H286. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.81/40.98 apply (zenon_L101_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.81/40.98 apply (zenon_L105_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.81/40.98 apply (zenon_L106_); trivial. % 40.81/40.98 apply (zenon_L140_); trivial. % 40.81/40.98 (* end of lemma zenon_L141_ *) % 40.81/40.98 assert (zenon_L142_ : (~((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op1 (e11) (e13)) = (e12)) -> ((op2 (e21) (e23)) = (e22)) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e11)) = (e21)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H289 zenon_H104 zenon_H148 zenon_H1a0 zenon_Hc4 zenon_H234 zenon_H231 zenon_H98. % 40.81/40.98 cut (((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H289. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H104. % 40.81/40.98 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e11)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 40.81/40.98 cut (((h2 (e12)) = (h2 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28b]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((h2 (op1 (e11) (e13))) = (h2 (op1 (e11) (e13))))); [ zenon_intro zenon_H28c | zenon_intro zenon_H28d ]. % 40.81/40.98 cut (((h2 (op1 (e11) (e13))) = (h2 (op1 (e11) (e13)))) = ((h2 (e12)) = (h2 (op1 (e11) (e13))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H28b. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H28c. % 40.81/40.98 cut (((h2 (op1 (e11) (e13))) = (h2 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28d]. % 40.81/40.98 cut (((h2 (op1 (e11) (e13))) = (h2 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H28e]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H149]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H149 zenon_H148). % 40.81/40.98 apply zenon_H28d. apply refl_equal. % 40.81/40.98 apply zenon_H28d. apply refl_equal. % 40.81/40.98 elim (classic ((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13)))) = ((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e11)) (h2 (e13))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H28a. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H28f. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H290]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H291]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op2 (e21) (e23)) = (e22)) = ((op2 (h2 (e11)) (h2 (e13))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H291. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H1a0. % 40.81/40.98 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 40.81/40.98 cut (((op2 (e21) (e23)) = (op2 (h2 (e11)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H292]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13)))) = ((op2 (e21) (e23)) = (op2 (h2 (e11)) (h2 (e13))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H292. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H28f. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (h2 (e11)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H290]. % 40.81/40.98 cut (((op2 (h2 (e11)) (h2 (e13))) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H293]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.98 cut (((h2 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H285 zenon_H234). % 40.81/40.98 apply (zenon_L121_); trivial. % 40.81/40.98 apply zenon_H290. apply refl_equal. % 40.81/40.98 apply zenon_H290. apply refl_equal. % 40.81/40.98 exact (zenon_H113 zenon_Hc4). % 40.81/40.98 apply zenon_H290. apply refl_equal. % 40.81/40.98 apply zenon_H290. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L142_ *) % 40.81/40.98 assert (zenon_L143_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((e11) = (e12))) -> (~((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((op2 (e21) (e23)) = (e22)) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e11)) = (e21)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H3d zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H168 zenon_H64 zenon_H59 zenon_H201 zenon_H20c zenon_H117 zenon_H289 zenon_H104 zenon_H1a0 zenon_Hc4 zenon_H234 zenon_H231 zenon_H98 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.98 apply (zenon_L5_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H24 | zenon_intro zenon_H21a ]. % 40.81/40.98 apply (zenon_L5_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H21b ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H168); [ zenon_intro zenon_H83 | zenon_intro zenon_H179 ]. % 40.81/40.98 apply (zenon_L28_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H179); [ zenon_intro zenon_H138 | zenon_intro zenon_H17a ]. % 40.81/40.98 apply (zenon_L112_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H17a); [ zenon_intro zenon_H116 | zenon_intro zenon_H148 ]. % 40.81/40.98 apply (zenon_L64_); trivial. % 40.81/40.98 apply (zenon_L142_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H1fb | zenon_intro zenon_H88 ]. % 40.81/40.98 apply (zenon_L138_); trivial. % 40.81/40.98 apply (zenon_L31_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.98 apply (zenon_L8_); trivial. % 40.81/40.98 apply (zenon_L9_); trivial. % 40.81/40.98 (* end of lemma zenon_L143_ *) % 40.81/40.98 assert (zenon_L144_ : (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e22) (op2 (e22) (e23))) = (e23))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e21)) = (e23)) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e22) (e20)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e22) (e23)) = (e23))))) -> (~((e21) = (e22))) -> ((op2 (e21) (e22)) = (e21)) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((e11) = (e12))) -> (~((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e11)) = (e21)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H1c0 zenon_Hf7 zenon_H1a2 zenon_Hce zenon_H14 zenon_H1dd zenon_Ha1 zenon_H1d2 zenon_H1d8 zenon_H1e8 zenon_H126 zenon_Hcc zenon_H3d zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H168 zenon_H64 zenon_H59 zenon_H201 zenon_H20c zenon_H117 zenon_H289 zenon_H104 zenon_Hc4 zenon_H234 zenon_H231 zenon_H98 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.81/40.98 apply (zenon_L58_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1e9 ]. % 40.81/40.98 apply (zenon_L101_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1ea ]. % 40.81/40.98 apply (zenon_L102_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H192 ]. % 40.81/40.98 apply (zenon_L103_); trivial. % 40.81/40.98 apply (zenon_L93_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.81/40.98 apply (zenon_L67_); trivial. % 40.81/40.98 apply (zenon_L143_); trivial. % 40.81/40.98 (* end of lemma zenon_L144_ *) % 40.81/40.98 assert (zenon_L145_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e20)) = (e23))\/(((op2 (e22) (e20)) = (e23))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e11)) = (e21)) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((e21) = (e22))) -> (((op2 (e22) (e20)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e22) (op2 (e22) (e23))) = (e23))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> ((op2 (e21) (e22)) = (e21)) -> (~((e21) = (e23))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e21) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e21) (e22)) = (e23))\/((op2 (e21) (e23)) = (e23))))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e20)) = (e22))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e23) (e20)) = (e22))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> (~((e22) = (e23))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H294 zenon_Hac zenon_H14 zenon_H98 zenon_Ha5 zenon_H295 zenon_H97 zenon_H219 zenon_H231 zenon_H234 zenon_H104 zenon_H289 zenon_H20c zenon_H201 zenon_H273 zenon_H1fc zenon_H216 zenon_H126 zenon_H1e8 zenon_H1dd zenon_Hce zenon_H1a2 zenon_H1c0 zenon_H286 zenon_Hde zenon_Hcc zenon_H18b zenon_H8e zenon_H1d8 zenon_H1f2 zenon_H100 zenon_Hc3 zenon_Hf7 zenon_Hc4 zenon_Hf1 zenon_Hfc zenon_Hb2 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.98 apply (zenon_L2_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.98 apply (zenon_L10_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.98 apply (zenon_L11_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.98 apply (zenon_L18_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.98 apply (zenon_L116_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.98 apply (zenon_L21_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H99 | zenon_intro zenon_H297 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H298 ]. % 40.81/40.98 apply (zenon_L144_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H298); [ zenon_intro zenon_H1d7 | zenon_intro zenon_Hfd ]. % 40.81/40.98 apply (zenon_L141_); trivial. % 40.81/40.98 apply (zenon_L61_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.81/40.98 apply (zenon_L38_); trivial. % 40.81/40.98 apply (zenon_L39_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.98 apply (zenon_L17_); trivial. % 40.81/40.98 apply (zenon_L83_); trivial. % 40.81/40.98 apply (zenon_L25_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.98 apply (zenon_L26_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_L31_); trivial. % 40.81/40.98 (* end of lemma zenon_L145_ *) % 40.81/40.98 assert (zenon_L146_ : (((~((op2 (e20) (op2 (e20) (e20))) = (e20)))/\((~((op2 (e20) (op2 (e20) (e21))) = (e21)))/\((~((op2 (e20) (op2 (e20) (e22))) = (e22)))/\(~((op2 (e20) (op2 (e20) (e23))) = (e23))))))\/(((~((op2 (e21) (op2 (e21) (e20))) = (e20)))/\((~((op2 (e21) (op2 (e21) (e21))) = (e21)))/\((~((op2 (e21) (op2 (e21) (e22))) = (e22)))/\(~((op2 (e21) (op2 (e21) (e23))) = (e23))))))\/(((~((op2 (e22) (op2 (e22) (e20))) = (e20)))/\((~((op2 (e22) (op2 (e22) (e21))) = (e21)))/\((~((op2 (e22) (op2 (e22) (e22))) = (e22)))/\(~((op2 (e22) (op2 (e22) (e23))) = (e23))))))\/((~((op2 (e23) (op2 (e23) (e20))) = (e20)))/\((~((op2 (e23) (op2 (e23) (e21))) = (e21)))/\((~((op2 (e23) (op2 (e23) (e22))) = (e22)))/\(~((op2 (e23) (op2 (e23) (e23))) = (e23))))))))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((e11) = (e12))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e13))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((e22) = (e23))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e20)) = (e22))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e23) (e20)) = (e22))))) -> (((op2 (e21) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e21) (e22)) = (e23))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((e21) = (e23))) -> ((op2 (e21) (e22)) = (e21)) -> ((op2 (e23) (e23)) = (e23)) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e22) (e20)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e22) (e23)) = (e23))))) -> (~((e21) = (e22))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e11)) = (e21)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e20)) = (e23))\/(((op2 (e22) (e20)) = (e23))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H1bf zenon_Hb6 zenon_Hd9 zenon_H87 zenon_H7c zenon_H4f zenon_H18 zenon_H23 zenon_H82 zenon_H4e zenon_H8b zenon_H79 zenon_H37 zenon_H30 zenon_H17 zenon_H3d zenon_H67 zenon_H64 zenon_H61 zenon_H53 zenon_H5f zenon_H47 zenon_H22 zenon_H6c zenon_H59 zenon_H56 zenon_H42 zenon_H6f zenon_H73 zenon_H167 zenon_H117 zenon_H168 zenon_H133 zenon_H140 zenon_H161 zenon_H150 zenon_H15c zenon_Hb2 zenon_Hfc zenon_Hf1 zenon_Hf7 zenon_Hc3 zenon_H100 zenon_H1f2 zenon_H1d8 zenon_H8e zenon_H18b zenon_Hcc zenon_Hde zenon_H286 zenon_H1c0 zenon_Hce zenon_H1dd zenon_H1e8 zenon_H126 zenon_H216 zenon_H1fc zenon_H273 zenon_H201 zenon_H20c zenon_H289 zenon_H104 zenon_H234 zenon_H231 zenon_H219 zenon_H97 zenon_H295 zenon_Ha5 zenon_Hac zenon_H294 zenon_H1b9 zenon_H1a8 zenon_H1b4 zenon_Hc4 zenon_H98 zenon_H14 zenon_He8. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H182 | zenon_intro zenon_H1c1 ]. % 40.81/40.98 apply (zenon_L85_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c2 ]. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1c3). zenon_intro zenon_H1c5. zenon_intro zenon_H1c4. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1c4). zenon_intro zenon_H1c7. zenon_intro zenon_H1c6. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1c6). zenon_intro zenon_H19b. zenon_intro zenon_H1c8. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.98 apply (zenon_L2_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.98 apply (zenon_L10_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.98 apply (zenon_L11_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.98 apply (zenon_L18_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.98 apply (zenon_L116_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.98 apply (zenon_L21_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H99 | zenon_intro zenon_H297 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H298 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.81/40.98 apply (zenon_L58_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.81/40.98 apply (zenon_L104_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.81/40.98 apply (zenon_L91_); trivial. % 40.81/40.98 apply (zenon_L143_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H298); [ zenon_intro zenon_H1d7 | zenon_intro zenon_Hfd ]. % 40.81/40.98 apply (zenon_L141_); trivial. % 40.81/40.98 apply (zenon_L61_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.81/40.98 apply (zenon_L38_); trivial. % 40.81/40.98 apply (zenon_L39_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.98 apply (zenon_L17_); trivial. % 40.81/40.98 apply (zenon_L83_); trivial. % 40.81/40.98 apply (zenon_L25_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.98 apply (zenon_L26_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_L31_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H1c2); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1b8 ]. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1cb). zenon_intro zenon_H1cd. zenon_intro zenon_H1cc. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1cc). zenon_intro zenon_H1cf. zenon_intro zenon_H1ce. % 40.81/40.98 apply (zenon_and_s _ _ zenon_H1ce). zenon_intro zenon_H1d0. zenon_intro zenon_H1a2. % 40.81/40.98 apply (zenon_L145_); trivial. % 40.81/40.98 apply (zenon_L97_); trivial. % 40.81/40.98 (* end of lemma zenon_L146_ *) % 40.81/40.98 assert (zenon_L147_ : ((e20) = (op2 (e21) (e21))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e20) (e20)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H14 zenon_Hb6 zenon_H29a. % 40.81/40.98 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 40.81/40.98 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((op2 (e21) (e21)) = (op2 (e20) (e20)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H29a. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H9b. % 40.81/40.98 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 40.81/40.98 cut (((op2 (e20) (e20)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e20) (e20)) = (op2 (e21) (e21)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H29b. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H14. % 40.81/40.98 cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 40.81/40.98 cut (((e20) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb9]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ]. % 40.81/40.98 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((e20) = (op2 (e20) (e20)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_Hb9. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H9b. % 40.81/40.98 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 40.81/40.98 cut (((op2 (e20) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H189]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H189 zenon_Hb6). % 40.81/40.98 apply zenon_H9c. apply refl_equal. % 40.81/40.98 apply zenon_H9c. apply refl_equal. % 40.81/40.98 apply zenon_H90. apply refl_equal. % 40.81/40.98 apply zenon_H9c. apply refl_equal. % 40.81/40.98 apply zenon_H9c. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L147_ *) % 40.81/40.98 assert (zenon_L148_ : ((e10) = (op1 (e11) (e11))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e10) (e10)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H18 zenon_H41 zenon_H29c. % 40.81/40.98 elim (classic ((op1 (e10) (e10)) = (op1 (e10) (e10)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ]. % 40.81/40.98 cut (((op1 (e10) (e10)) = (op1 (e10) (e10))) = ((op1 (e11) (e11)) = (op1 (e10) (e10)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H29c. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H26. % 40.81/40.98 cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H27]. % 40.81/40.98 cut (((op1 (e10) (e10)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H29d]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((e10) = (op1 (e11) (e11))) = ((op1 (e10) (e10)) = (op1 (e11) (e11)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H29d. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H18. % 40.81/40.98 cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 40.81/40.98 cut (((e10) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op1 (e10) (e10)) = (op1 (e10) (e10)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ]. % 40.81/40.98 cut (((op1 (e10) (e10)) = (op1 (e10) (e10))) = ((e10) = (op1 (e10) (e10)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H44. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H26. % 40.81/40.98 cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H27]. % 40.81/40.98 cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H171 zenon_H41). % 40.81/40.98 apply zenon_H27. apply refl_equal. % 40.81/40.98 apply zenon_H27. apply refl_equal. % 40.81/40.98 apply zenon_H1a. apply refl_equal. % 40.81/40.98 apply zenon_H27. apply refl_equal. % 40.81/40.98 apply zenon_H27. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L148_ *) % 40.81/40.98 assert (zenon_L149_ : ((op1 (e12) (e10)) = (e10)) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e12) (e10)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H29e zenon_H18 zenon_H41 zenon_H29f. % 40.81/40.98 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ]. % 40.81/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((op1 (e10) (e10)) = (op1 (e12) (e10)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H29f. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H7f. % 40.81/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 40.81/40.98 cut (((op1 (e12) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2a0]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((e10) = (op1 (e11) (e11))) = ((op1 (e12) (e10)) = (op1 (e10) (e10)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2a0. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H18. % 40.81/40.98 cut (((op1 (e11) (e11)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H29c]. % 40.81/40.98 cut (((e10) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ]. % 40.81/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e10) = (op1 (e12) (e10)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2a1. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H7f. % 40.81/40.98 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 40.81/40.98 cut (((op1 (e12) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a2]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H2a2 zenon_H29e). % 40.81/40.98 apply zenon_H80. apply refl_equal. % 40.81/40.98 apply zenon_H80. apply refl_equal. % 40.81/40.98 apply (zenon_L148_); trivial. % 40.81/40.98 apply zenon_H80. apply refl_equal. % 40.81/40.98 apply zenon_H80. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L149_ *) % 40.81/40.98 assert (zenon_L150_ : ((h2 (e11)) = (e21)) -> ((op1 (e12) (e10)) = (e11)) -> (~((e21) = (h2 (op1 (e12) (e10))))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H234 zenon_H2a3 zenon_H2a4. % 40.81/40.98 elim (classic ((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10))))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a6 ]. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10)))) = ((e21) = (h2 (op1 (e12) (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2a4. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2a5. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a6]. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H2a7]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h2 (e11)) = (e21)) = ((h2 (op1 (e12) (e10))) = (e21))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2a7. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H234. % 40.81/40.98 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.81/40.98 cut (((h2 (e11)) = (h2 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a8]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10))))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a6 ]. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10)))) = ((h2 (e11)) = (h2 (op1 (e12) (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2a8. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2a5. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (h2 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a6]. % 40.81/40.98 cut (((h2 (op1 (e12) (e10))) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2a9]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op1 (e12) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2aa]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H2aa zenon_H2a3). % 40.81/40.98 apply zenon_H2a6. apply refl_equal. % 40.81/40.98 apply zenon_H2a6. apply refl_equal. % 40.81/40.98 apply zenon_H95. apply refl_equal. % 40.81/40.98 apply zenon_H2a6. apply refl_equal. % 40.81/40.98 apply zenon_H2a6. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L150_ *) % 40.81/40.98 assert (zenon_L151_ : ((op2 (e22) (e20)) = (e21)) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e11)) = (e21)) -> ((op1 (e12) (e10)) = (e11)) -> (~((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H2ab zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H234 zenon_H2a3 zenon_H2ac. % 40.81/40.98 elim (classic ((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10))))); [ zenon_intro zenon_H2ad | zenon_intro zenon_H2ae ]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10)))) = ((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2ac. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2ad. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2ae]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (h2 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2af]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op2 (e22) (e20)) = (e21)) = ((op2 (h2 (e12)) (h2 (e10))) = (h2 (op1 (e12) (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2af. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2ab. % 40.81/40.98 cut (((e21) = (h2 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a4]. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (h2 (e12)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2b0]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10))))); [ zenon_intro zenon_H2ad | zenon_intro zenon_H2ae ]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10)))) = ((op2 (e22) (e20)) = (op2 (h2 (e12)) (h2 (e10))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2b0. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2ad. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (op2 (h2 (e12)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2ae]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b1]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.81/40.98 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/40.98 congruence. % 40.81/40.98 apply (zenon_L62_); trivial. % 40.81/40.98 apply (zenon_L1_); trivial. % 40.81/40.98 apply zenon_H2ae. apply refl_equal. % 40.81/40.98 apply zenon_H2ae. apply refl_equal. % 40.81/40.98 apply (zenon_L150_); trivial. % 40.81/40.98 apply zenon_H2ae. apply refl_equal. % 40.81/40.98 apply zenon_H2ae. apply refl_equal. % 40.81/40.98 (* end of lemma zenon_L151_ *) % 40.81/40.98 assert (zenon_L152_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e13)) = (e13)) -> ((op1 (e11) (e12)) = (e11)) -> (~((e11) = (e13))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((op2 (e22) (e20)) = (e21)) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e11)) = (e21)) -> (~((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H3d zenon_H22 zenon_H273 zenon_H69 zenon_H57 zenon_H133 zenon_H17 zenon_H1fc zenon_H216 zenon_H7c zenon_H4f zenon_H2ab zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H234 zenon_H2ac zenon_H41 zenon_H29f zenon_H2b2 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.98 apply (zenon_L5_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2b2); [ zenon_intro zenon_H29e | zenon_intro zenon_H2b3 ]. % 40.81/40.98 apply (zenon_L149_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2b3); [ zenon_intro zenon_H2a3 | zenon_intro zenon_H2b4 ]. % 40.81/40.98 apply (zenon_L151_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2b4); [ zenon_intro zenon_H7d | zenon_intro zenon_H1fb ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_L138_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.98 apply (zenon_L8_); trivial. % 40.81/40.98 apply (zenon_L9_); trivial. % 40.81/40.98 (* end of lemma zenon_L152_ *) % 40.81/40.98 assert (zenon_L153_ : (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e22) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))) -> ((h2 (e11)) = (e21)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e20) (e21)) = (e23)) -> ((op2 (e21) (e20)) = (e23)) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H2b5 zenon_H2b6 zenon_Hb6 zenon_H37 zenon_H18 zenon_H23 zenon_H30 zenon_H2b2 zenon_H29f zenon_H41 zenon_H2ac zenon_H234 zenon_H13 zenon_H104 zenon_H4f zenon_H7c zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H22 zenon_H3d zenon_Hc4 zenon_Hf1 zenon_H98 zenon_Ha1 zenon_H1d2 zenon_H14 zenon_H1d8. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2b5); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b7 ]. % 40.81/40.98 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ]. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((op2 (e20) (e20)) = (op2 (e22) (e20)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2b6. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Hf4. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b9]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e22) (e20)) = (op2 (e20) (e20)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2b9. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H14. % 40.81/40.98 cut (((op2 (e21) (e21)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H29a]. % 40.81/40.98 cut (((e20) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2ba]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ]. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e20) = (op2 (e22) (e20)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2ba. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_Hf4. % 40.81/40.98 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 40.81/40.98 cut (((op2 (e22) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2bb]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H2bb zenon_H2b8). % 40.81/40.98 apply zenon_Hf5. apply refl_equal. % 40.81/40.98 apply zenon_Hf5. apply refl_equal. % 40.81/40.98 apply (zenon_L147_); trivial. % 40.81/40.98 apply zenon_Hf5. apply refl_equal. % 40.81/40.98 apply zenon_Hf5. apply refl_equal. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2b7); [ zenon_intro zenon_H2ab | zenon_intro zenon_H2bc ]. % 40.81/40.98 apply (zenon_L152_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H2bc); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H1d7 ]. % 40.81/40.98 apply (zenon_L57_); trivial. % 40.81/40.98 apply (zenon_L101_); trivial. % 40.81/40.98 (* end of lemma zenon_L153_ *) % 40.81/40.98 assert (zenon_L154_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> ((e20) = (op2 (e21) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e20)) = (e23))\/(((op2 (e22) (e20)) = (e23))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((h2 (e11)) = (e21)) -> (~((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e22) (e20)) = (e23))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> ((op2 (e21) (e22)) = (e21)) -> (~((e21) = (e23))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e21) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e21) (e22)) = (e23))\/((op2 (e21) (e23)) = (e23))))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e20)) = (e22))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e23) (e20)) = (e22))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e22) (e20)) = (op2 (e23) (e20)))) -> (~((e22) = (e23))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e20) (e21)) = (e23))\/(((op2 (e20) (e22)) = (e23))\/((op2 (e20) (e23)) = (e23))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H294 zenon_Hac zenon_H14 zenon_H98 zenon_Ha5 zenon_H295 zenon_H97 zenon_H273 zenon_H1fc zenon_H216 zenon_H104 zenon_H13 zenon_H234 zenon_H2ac zenon_H29f zenon_H2b2 zenon_Hb6 zenon_H2b6 zenon_H2b5 zenon_H286 zenon_Hde zenon_Hcc zenon_H18b zenon_H8e zenon_H1d8 zenon_H1f2 zenon_H100 zenon_Hc3 zenon_Hf7 zenon_Hc4 zenon_Hf1 zenon_Hfc zenon_Hb2 zenon_H201 zenon_H20c zenon_H219 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.98 apply (zenon_L2_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.98 apply (zenon_L10_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.98 apply (zenon_L11_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.98 apply (zenon_L18_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.98 apply (zenon_L116_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.98 apply (zenon_L21_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H99 | zenon_intro zenon_H297 ]. % 40.81/40.98 apply (zenon_L35_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H298 ]. % 40.81/40.98 apply (zenon_L153_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H298); [ zenon_intro zenon_H1d7 | zenon_intro zenon_Hfd ]. % 40.81/40.98 apply (zenon_L141_); trivial. % 40.81/40.98 apply (zenon_L61_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.81/40.98 apply (zenon_L38_); trivial. % 40.81/40.98 apply (zenon_L39_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.98 apply (zenon_L17_); trivial. % 40.81/40.98 apply (zenon_L83_); trivial. % 40.81/40.98 apply (zenon_L25_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.98 apply (zenon_L26_); trivial. % 40.81/40.98 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.98 apply (zenon_L27_); trivial. % 40.81/40.98 apply (zenon_L31_); trivial. % 40.81/40.98 (* end of lemma zenon_L154_ *) % 40.81/40.98 assert (zenon_L155_ : (~((h2 (op1 (e12) (e12))) = (op2 (h2 (e12)) (h2 (e12))))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((op1 (e12) (e12)) = (e13)) -> ((op2 (e22) (e22)) = (e23)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> False). % 40.81/40.98 do 0 intro. intros zenon_H2bd zenon_H231 zenon_H206 zenon_H1e2 zenon_H98 zenon_H104 zenon_Hc4. % 40.81/40.98 cut (((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) = ((h2 (op1 (e12) (e12))) = (op2 (h2 (e12)) (h2 (e12))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2bd. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H231. % 40.81/40.98 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e12)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2be]. % 40.81/40.98 cut (((h2 (e13)) = (h2 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2bf]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((h2 (op1 (e12) (e12))) = (h2 (op1 (e12) (e12))))); [ zenon_intro zenon_H2c0 | zenon_intro zenon_H2c1 ]. % 40.81/40.98 cut (((h2 (op1 (e12) (e12))) = (h2 (op1 (e12) (e12)))) = ((h2 (e13)) = (h2 (op1 (e12) (e12))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2bf. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2c0. % 40.81/40.98 cut (((h2 (op1 (e12) (e12))) = (h2 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2c1]. % 40.81/40.98 cut (((h2 (op1 (e12) (e12))) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2c2]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H20b]. % 40.81/40.98 congruence. % 40.81/40.98 exact (zenon_H20b zenon_H206). % 40.81/40.98 apply zenon_H2c1. apply refl_equal. % 40.81/40.98 apply zenon_H2c1. apply refl_equal. % 40.81/40.98 elim (classic ((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12))))); [ zenon_intro zenon_H2c3 | zenon_intro zenon_H2c4 ]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12)))) = ((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e12)) (h2 (e12))))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2be. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H2c3. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2c4]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2c5]. % 40.81/40.98 congruence. % 40.81/40.98 cut (((op2 (e22) (e22)) = (e23)) = ((op2 (h2 (e12)) (h2 (e12))) = (op2 (op2 (e21) (e21)) (e21)))). % 40.81/40.98 intro zenon_D_pnotp. % 40.81/40.98 apply zenon_H2c5. % 40.81/40.98 rewrite <- zenon_D_pnotp. % 40.81/40.98 exact zenon_H1e2. % 40.81/40.98 cut (((e23) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H282]. % 40.81/40.98 cut (((op2 (e22) (e22)) = (op2 (h2 (e12)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2c6]. % 40.81/40.98 congruence. % 40.81/40.98 elim (classic ((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12))))); [ zenon_intro zenon_H2c3 | zenon_intro zenon_H2c4 ]. % 40.81/40.98 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12)))) = ((op2 (e22) (e22)) = (op2 (h2 (e12)) (h2 (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2c6. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2c3. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (h2 (e12)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2c4]. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e12))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H2c7]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/40.99 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L62_); trivial. % 40.81/40.99 apply (zenon_L62_); trivial. % 40.81/40.99 apply zenon_H2c4. apply refl_equal. % 40.81/40.99 apply zenon_H2c4. apply refl_equal. % 40.81/40.99 exact (zenon_H282 zenon_H98). % 40.81/40.99 apply zenon_H2c4. apply refl_equal. % 40.81/40.99 apply zenon_H2c4. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L155_ *) % 40.81/40.99 assert (zenon_L156_ : (~((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e11) (e10)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e12) (e12)) = (e13)) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2c8 zenon_H18 zenon_H1f6 zenon_H2c zenon_H206. % 40.81/40.99 cut (((op1 (e11) (e10)) = (e13)) = ((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e12)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2c8. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H1f6. % 40.81/40.99 cut (((e13) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 40.81/40.99 cut (((op1 (e11) (e10)) = (op1 (op1 (e11) (e11)) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2c9]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11)))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 40.81/40.99 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e11) (e10)) = (op1 (op1 (e11) (e11)) (e11)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2c9. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H1f9. % 40.81/40.99 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (op1 (e11) (e11)) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1fa]. % 40.81/40.99 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1f5]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L108_); trivial. % 40.81/40.99 apply zenon_H1fa. apply refl_equal. % 40.81/40.99 apply zenon_H1fa. apply refl_equal. % 40.81/40.99 apply zenon_H20a. apply sym_equal. exact zenon_H206. % 40.81/40.99 (* end of lemma zenon_L156_ *) % 40.81/40.99 assert (zenon_L157_ : ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((op1 (e12) (e13)) = (e13)) -> ((op1 (e12) (e12)) = (e13)) -> ((e10) = (op1 (e11) (e11))) -> ((op1 (e11) (e10)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H23 zenon_H13a zenon_H206 zenon_H18 zenon_H1f6 zenon_H2c zenon_H2ca. % 40.81/40.99 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H13b | zenon_intro zenon_H13c ]. % 40.81/40.99 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e12) (e12)) = (op1 (e12) (e13)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2ca. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H13b. % 40.81/40.99 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 40.81/40.99 cut (((op1 (e12) (e13)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((e13) = (op1 (op1 (e11) (e11)) (e11))) = ((op1 (e12) (e13)) = (op1 (e12) (e12)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2cb. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H23. % 40.81/40.99 cut (((op1 (op1 (e11) (e11)) (e11)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2c8]. % 40.81/40.99 cut (((e13) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H13b | zenon_intro zenon_H13c ]. % 40.81/40.99 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e13) = (op1 (e12) (e13)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H13e. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H13b. % 40.81/40.99 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13c]. % 40.81/40.99 cut (((op1 (e12) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H13f zenon_H13a). % 40.81/40.99 apply zenon_H13c. apply refl_equal. % 40.81/40.99 apply zenon_H13c. apply refl_equal. % 40.81/40.99 apply (zenon_L156_); trivial. % 40.81/40.99 apply zenon_H13c. apply refl_equal. % 40.81/40.99 apply zenon_H13c. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L157_ *) % 40.81/40.99 assert (zenon_L158_ : (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((op1 (e11) (e12)) = (e11)) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e11) (e10)) = (e13)) -> ((op1 (e12) (e13)) = (e13)) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2cc zenon_H30 zenon_H57 zenon_H2ca zenon_H2c zenon_H1f6 zenon_H13a zenon_H6c zenon_H5f zenon_H73 zenon_H18 zenon_H23 zenon_H4f zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H37 zenon_H133 zenon_H168 zenon_H82 zenon_H117 zenon_H41 zenon_H167 zenon_H5a zenon_H64 zenon_H67. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2cc); [ zenon_intro zenon_H2f | zenon_intro zenon_H2cd ]. % 40.81/40.99 apply (zenon_L8_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2cd); [ zenon_intro zenon_H214 | zenon_intro zenon_H2ce ]. % 40.81/40.99 apply (zenon_L114_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2ce); [ zenon_intro zenon_H206 | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L157_); trivial. % 40.81/40.99 apply (zenon_L83_); trivial. % 40.81/40.99 (* end of lemma zenon_L158_ *) % 40.81/40.99 assert (zenon_L159_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e22) (e22)) = (e23)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> (~((h2 (op1 (e12) (e12))) = (op2 (h2 (e12)) (h2 (e12))))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H3d zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H20c zenon_H201 zenon_Hc4 zenon_H104 zenon_H98 zenon_H1e2 zenon_H231 zenon_H2bd zenon_H2cc zenon_H2ca zenon_H6c zenon_H5f zenon_H73 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H168 zenon_H117 zenon_H41 zenon_H167 zenon_H5a zenon_H64 zenon_H67 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.99 apply (zenon_L5_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H24 | zenon_intro zenon_H21a ]. % 40.81/40.99 apply (zenon_L5_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H21b ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20c); [ zenon_intro zenon_H1fb | zenon_intro zenon_H20d ]. % 40.81/40.99 apply (zenon_L109_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H200 | zenon_intro zenon_H20e ]. % 40.81/40.99 apply (zenon_L110_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20e); [ zenon_intro zenon_H206 | zenon_intro zenon_H13a ]. % 40.81/40.99 apply (zenon_L155_); trivial. % 40.81/40.99 apply (zenon_L158_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H1fb | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L138_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.99 apply (zenon_L8_); trivial. % 40.81/40.99 apply (zenon_L9_); trivial. % 40.81/40.99 (* end of lemma zenon_L159_ *) % 40.81/40.99 assert (zenon_L160_ : ((op2 (e22) (e23)) = (e20)) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e21) (e21)) = (op2 (h2 (e12)) (h2 (e13))))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H224 zenon_H104 zenon_Hc4 zenon_H231 zenon_H98 zenon_H14 zenon_H2cf. % 40.81/40.99 elim (classic ((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13)))) = ((op2 (e21) (e21)) = (op2 (h2 (e12)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2cf. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2d0. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2d2]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e22) (e23)) = (e20)) = ((op2 (h2 (e12)) (h2 (e13))) = (op2 (e21) (e21)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2d2. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H224. % 40.81/40.99 cut (((e20) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2d3]. % 40.81/40.99 cut (((op2 (e22) (e23)) = (op2 (h2 (e12)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2d4]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13))))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2d1 ]. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13)))) = ((op2 (e22) (e23)) = (op2 (h2 (e12)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2d4. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2d0. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (h2 (e12)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 40.81/40.99 cut (((op2 (h2 (e12)) (h2 (e13))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H2d5]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.99 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L62_); trivial. % 40.81/40.99 apply (zenon_L121_); trivial. % 40.81/40.99 apply zenon_H2d1. apply refl_equal. % 40.81/40.99 apply zenon_H2d1. apply refl_equal. % 40.81/40.99 exact (zenon_H2d3 zenon_H14). % 40.81/40.99 apply zenon_H2d1. apply refl_equal. % 40.81/40.99 apply zenon_H2d1. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L160_ *) % 40.81/40.99 assert (zenon_L161_ : (~((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((op1 (e12) (e13)) = (e10)) -> ((op2 (e22) (e23)) = (e20)) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2d6 zenon_H13 zenon_H22e zenon_H224 zenon_H14 zenon_H104 zenon_Hc4 zenon_H231 zenon_H98. % 40.81/40.99 cut (((h2 (e10)) = (op2 (e21) (e21))) = ((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2d6. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H13. % 40.81/40.99 cut (((op2 (e21) (e21)) = (op2 (h2 (e12)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2cf]. % 40.81/40.99 cut (((h2 (e10)) = (h2 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e12) (e13))) = (h2 (op1 (e12) (e13))))); [ zenon_intro zenon_H2d8 | zenon_intro zenon_H2d9 ]. % 40.81/40.99 cut (((h2 (op1 (e12) (e13))) = (h2 (op1 (e12) (e13)))) = ((h2 (e10)) = (h2 (op1 (e12) (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2d7. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2d8. % 40.81/40.99 cut (((h2 (op1 (e12) (e13))) = (h2 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2d9]. % 40.81/40.99 cut (((h2 (op1 (e12) (e13))) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2da]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e12) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2db]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H2db zenon_H22e). % 40.81/40.99 apply zenon_H2d9. apply refl_equal. % 40.81/40.99 apply zenon_H2d9. apply refl_equal. % 40.81/40.99 apply (zenon_L160_); trivial. % 40.81/40.99 (* end of lemma zenon_L161_ *) % 40.81/40.99 assert (zenon_L162_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((op2 (e22) (e23)) = (e20)) -> ((h2 (e10)) = (op2 (e21) (e21))) -> (~((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))) -> (~((e10) = (e13))) -> ((op1 (e13) (e13)) = (e13)) -> False). % 40.81/40.99 do 0 intro. intros zenon_H252 zenon_H5f zenon_H41 zenon_H227 zenon_H18 zenon_H98 zenon_H231 zenon_Hc4 zenon_H104 zenon_H14 zenon_H224 zenon_H13 zenon_H2d6 zenon_H24f zenon_H69. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H252); [ zenon_intro zenon_H5e | zenon_intro zenon_H253 ]. % 40.81/40.99 apply (zenon_L18_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H253); [ zenon_intro zenon_H226 | zenon_intro zenon_H254 ]. % 40.81/40.99 apply (zenon_L119_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H254); [ zenon_intro zenon_H22e | zenon_intro zenon_H250 ]. % 40.81/40.99 apply (zenon_L161_); trivial. % 40.81/40.99 apply (zenon_L127_); trivial. % 40.81/40.99 (* end of lemma zenon_L162_ *) % 40.81/40.99 assert (zenon_L163_ : ((op2 (e23) (e20)) = (e23)) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_Hfd zenon_H1d2 zenon_Hf7. % 40.81/40.99 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e21) (e20)) = (op2 (e23) (e20)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_Hf7. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2dc. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2de]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e23) (e20)) = (e23)) = ((op2 (e23) (e20)) = (op2 (e21) (e20)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2de. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_Hfd. % 40.81/40.99 cut (((e23) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d3]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 40.81/40.99 congruence. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 apply zenon_H1d3. apply sym_equal. exact zenon_H1d2. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L163_ *) % 40.81/40.99 assert (zenon_L164_ : (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e21) (e23)) = (e21)) -> (~((e21) = (e23))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2df zenon_Hf7 zenon_H1d2 zenon_He8 zenon_Hdc zenon_H98 zenon_H190 zenon_Hd9 zenon_Hd7 zenon_H18b zenon_H14 zenon_Hac zenon_H198 zenon_H264 zenon_H26a zenon_H26c. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2df); [ zenon_intro zenon_Hfd | zenon_intro zenon_H2e0 ]. % 40.81/40.99 apply (zenon_L163_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2e0); [ zenon_intro zenon_He7 | zenon_intro zenon_H2e1 ]. % 40.81/40.99 apply (zenon_L55_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2e1); [ zenon_intro zenon_Hdd | zenon_intro zenon_Hde ]. % 40.81/40.99 apply (zenon_L89_); trivial. % 40.81/40.99 apply (zenon_L135_); trivial. % 40.81/40.99 (* end of lemma zenon_L164_ *) % 40.81/40.99 assert (zenon_L165_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op1 (e13) (e13)) = (e13)) -> (~((e10) = (e13))) -> (~((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e21) (e23)) = (e21)) -> (~((e21) = (e23))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H270 zenon_Hd4 zenon_Hb6 zenon_H21d zenon_H69 zenon_H24f zenon_H2d6 zenon_H13 zenon_H104 zenon_Hc4 zenon_H231 zenon_H18 zenon_H227 zenon_H41 zenon_H5f zenon_H252 zenon_H2df zenon_Hf7 zenon_H1d2 zenon_He8 zenon_Hdc zenon_H98 zenon_H190 zenon_Hd9 zenon_Hd7 zenon_H18b zenon_H14 zenon_Hac zenon_H198 zenon_H264 zenon_H26c. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H270); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H271 ]. % 40.81/40.99 apply (zenon_L48_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H271); [ zenon_intro zenon_H21c | zenon_intro zenon_H272 ]. % 40.81/40.99 apply (zenon_L117_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H272); [ zenon_intro zenon_H224 | zenon_intro zenon_H26a ]. % 40.81/40.99 apply (zenon_L162_); trivial. % 40.81/40.99 apply (zenon_L164_); trivial. % 40.81/40.99 (* end of lemma zenon_L165_ *) % 40.81/40.99 assert (zenon_L166_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e23)) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> (~((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))) -> (~((e10) = (e13))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H294 zenon_H26c zenon_H264 zenon_Hde zenon_H252 zenon_H227 zenon_H98 zenon_H231 zenon_Hc4 zenon_H104 zenon_H14 zenon_H13 zenon_H2d6 zenon_H24f zenon_H21d zenon_Hb6 zenon_Hd4 zenon_H270 zenon_H216 zenon_H1fc zenon_H201 zenon_H20c zenon_H219 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.99 apply (zenon_L2_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.99 apply (zenon_L10_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.99 apply (zenon_L11_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.99 apply (zenon_L18_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.99 apply (zenon_L116_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.99 apply (zenon_L21_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H270); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H271 ]. % 40.81/40.99 apply (zenon_L48_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H271); [ zenon_intro zenon_H21c | zenon_intro zenon_H272 ]. % 40.81/40.99 apply (zenon_L117_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H272); [ zenon_intro zenon_H224 | zenon_intro zenon_H26a ]. % 40.81/40.99 apply (zenon_L162_); trivial. % 40.81/40.99 apply (zenon_L135_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L17_); trivial. % 40.81/40.99 apply (zenon_L83_); trivial. % 40.81/40.99 apply (zenon_L25_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.99 apply (zenon_L26_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L27_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 (* end of lemma zenon_L166_ *) % 40.81/40.99 assert (zenon_L167_ : (~((h2 (op1 (e13) (e11))) = (op2 (h2 (e13)) (h2 (e11))))) -> ((op1 (e13) (e11)) = (e11)) -> ((op2 (e23) (e21)) = (e21)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e11)) = (e21)) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2e2 zenon_H155 zenon_H1ad zenon_H231 zenon_H98 zenon_H234. % 40.81/40.99 cut (((h2 (e11)) = (e21)) = ((h2 (op1 (e13) (e11))) = (op2 (h2 (e13)) (h2 (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2e2. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H234. % 40.81/40.99 cut (((e21) = (op2 (h2 (e13)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 40.81/40.99 cut (((h2 (e11)) = (h2 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2e4]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e13) (e11))) = (h2 (op1 (e13) (e11))))); [ zenon_intro zenon_H2e5 | zenon_intro zenon_H2e6 ]. % 40.81/40.99 cut (((h2 (op1 (e13) (e11))) = (h2 (op1 (e13) (e11)))) = ((h2 (e11)) = (h2 (op1 (e13) (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2e4. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2e5. % 40.81/40.99 cut (((h2 (op1 (e13) (e11))) = (h2 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2e6]. % 40.81/40.99 cut (((h2 (op1 (e13) (e11))) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2e7]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H15a]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H15a zenon_H155). % 40.81/40.99 apply zenon_H2e6. apply refl_equal. % 40.81/40.99 apply zenon_H2e6. apply refl_equal. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11)))) = ((e21) = (op2 (h2 (e13)) (h2 (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2e3. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2e8. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H2ea]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e23) (e21)) = (e21)) = ((op2 (h2 (e13)) (h2 (e11))) = (e21))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2ea. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H1ad. % 40.81/40.99 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.81/40.99 cut (((op2 (e23) (e21)) = (op2 (h2 (e13)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2eb]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11)))) = ((op2 (e23) (e21)) = (op2 (h2 (e13)) (h2 (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2eb. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2e8. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (op2 (h2 (e13)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2ec]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 40.81/40.99 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L121_); trivial. % 40.81/40.99 exact (zenon_H285 zenon_H234). % 40.81/40.99 apply zenon_H2e9. apply refl_equal. % 40.81/40.99 apply zenon_H2e9. apply refl_equal. % 40.81/40.99 apply zenon_H95. apply refl_equal. % 40.81/40.99 apply zenon_H2e9. apply refl_equal. % 40.81/40.99 apply zenon_H2e9. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L167_ *) % 40.81/40.99 assert (zenon_L168_ : (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((h2 (e11)) = (e21)) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e23) (e21)) = (e21)) -> (~((h2 (op1 (e13) (e11))) = (op2 (h2 (e13)) (h2 (e11))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H161 zenon_H150 zenon_H234 zenon_H98 zenon_H231 zenon_H1ad zenon_H2e2 zenon_H15c zenon_H4f zenon_H23 zenon_H18 zenon_H73. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H14f | zenon_intro zenon_H165 ]. % 40.81/40.99 apply (zenon_L78_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H165); [ zenon_intro zenon_H155 | zenon_intro zenon_H166 ]. % 40.81/40.99 apply (zenon_L167_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H166); [ zenon_intro zenon_H15b | zenon_intro zenon_H72 ]. % 40.81/40.99 apply (zenon_L80_); trivial. % 40.81/40.99 apply (zenon_L25_); trivial. % 40.81/40.99 (* end of lemma zenon_L168_ *) % 40.81/40.99 assert (zenon_L169_ : ((op2 (e23) (e20)) = (e20)) -> ((e20) = (op2 (e21) (e21))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2ed zenon_H14 zenon_Hb6 zenon_Hc3. % 40.81/40.99 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e20) (e20)) = (op2 (e23) (e20)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_Hc3. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2dc. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2ee]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((e20) = (op2 (e21) (e21))) = ((op2 (e23) (e20)) = (op2 (e20) (e20)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2ee. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H14. % 40.81/40.99 cut (((op2 (e21) (e21)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H29a]. % 40.81/40.99 cut (((e20) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e20) = (op2 (e23) (e20)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2ef. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2dc. % 40.81/40.99 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 40.81/40.99 cut (((op2 (e23) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2f0]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H2f0 zenon_H2ed). % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 apply (zenon_L147_); trivial. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 apply zenon_H2dd. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L169_ *) % 40.81/40.99 assert (zenon_L170_ : ((h2 (e10)) = (op2 (e21) (e21))) -> ((op1 (e13) (e12)) = (e10)) -> ((e20) = (op2 (e21) (e21))) -> (~((e20) = (h2 (op1 (e13) (e12))))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H13 zenon_H2f1 zenon_H14 zenon_H2f2. % 40.81/40.99 elim (classic ((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12))))); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f4 ]. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12)))) = ((e20) = (h2 (op1 (e13) (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2f2. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2f3. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2f4]. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e10)) = (op2 (e21) (e21))) = ((h2 (op1 (e13) (e12))) = (e20))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2f5. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H13. % 40.81/40.99 cut (((op2 (e21) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 40.81/40.99 cut (((h2 (e10)) = (h2 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2f6]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12))))); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f4 ]. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12)))) = ((h2 (e10)) = (h2 (op1 (e13) (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2f6. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2f3. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (h2 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2f4]. % 40.81/40.99 cut (((h2 (op1 (e13) (e12))) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2f7]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e13) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2f8]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H2f8 zenon_H2f1). % 40.81/40.99 apply zenon_H2f4. apply refl_equal. % 40.81/40.99 apply zenon_H2f4. apply refl_equal. % 40.81/40.99 apply zenon_H15. apply sym_equal. exact zenon_H14. % 40.81/40.99 apply zenon_H2f4. apply refl_equal. % 40.81/40.99 apply zenon_H2f4. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L170_ *) % 40.81/40.99 assert (zenon_L171_ : ((op2 (e23) (e22)) = (e20)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> ((op1 (e13) (e12)) = (e10)) -> (~((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2f9 zenon_H231 zenon_H98 zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H2f1 zenon_H2fa. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12))))); [ zenon_intro zenon_H2fb | zenon_intro zenon_H2fc ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12)))) = ((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2fa. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2fb. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2fc]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (h2 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2fd]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e23) (e22)) = (e20)) = ((op2 (h2 (e13)) (h2 (e12))) = (h2 (op1 (e13) (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2fd. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2f9. % 40.81/40.99 cut (((e20) = (h2 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 40.81/40.99 cut (((op2 (e23) (e22)) = (op2 (h2 (e13)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2fe]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12))))); [ zenon_intro zenon_H2fb | zenon_intro zenon_H2fc ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12)))) = ((op2 (e23) (e22)) = (op2 (h2 (e13)) (h2 (e12))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H2fe. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H2fb. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (op2 (h2 (e13)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2fc]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e12))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H2ff]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/40.99 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L121_); trivial. % 40.81/40.99 apply (zenon_L62_); trivial. % 40.81/40.99 apply zenon_H2fc. apply refl_equal. % 40.81/40.99 apply zenon_H2fc. apply refl_equal. % 40.81/40.99 apply (zenon_L170_); trivial. % 40.81/40.99 apply zenon_H2fc. apply refl_equal. % 40.81/40.99 apply zenon_H2fc. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L171_ *) % 40.81/40.99 assert (zenon_L172_ : (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e12)) = (e11)) -> False). % 40.81/40.99 do 0 intro. intros zenon_H300 zenon_H57 zenon_H301. % 40.81/40.99 cut (((op1 (e11) (e12)) = (e11)) = ((op1 (e11) (e12)) = (op1 (e13) (e12)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H300. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H57. % 40.81/40.99 cut (((e11) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H302]. % 40.81/40.99 cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H303]. % 40.81/40.99 congruence. % 40.81/40.99 apply zenon_H303. apply refl_equal. % 40.81/40.99 apply zenon_H302. apply sym_equal. exact zenon_H301. % 40.81/40.99 (* end of lemma zenon_L172_ *) % 40.81/40.99 assert (zenon_L173_ : ((op1 (e13) (e12)) = (e13)) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H68 zenon_H206 zenon_H304. % 40.81/40.99 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H11e | zenon_intro zenon_H6b ]. % 40.81/40.99 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e12) (e12)) = (op1 (e13) (e12)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H304. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H11e. % 40.81/40.99 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 40.81/40.99 cut (((op1 (e13) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H305]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e13) (e12)) = (e13)) = ((op1 (e13) (e12)) = (op1 (e12) (e12)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H305. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H68. % 40.81/40.99 cut (((e13) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 40.81/40.99 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 40.81/40.99 congruence. % 40.81/40.99 apply zenon_H6b. apply refl_equal. % 40.81/40.99 apply zenon_H20a. apply sym_equal. exact zenon_H206. % 40.81/40.99 apply zenon_H6b. apply refl_equal. % 40.81/40.99 apply zenon_H6b. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L173_ *) % 40.81/40.99 assert (zenon_L174_ : (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op2 (e23) (e22)) = (e20)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((op1 (e11) (e12)) = (e11)) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e11)) = (e13)) -> ((op1 (e11) (e10)) = (e13)) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H20c zenon_H1fc zenon_H201 zenon_H304 zenon_H11d zenon_H300 zenon_H2f9 zenon_H231 zenon_H98 zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H2fa zenon_H306 zenon_H2cc zenon_H30 zenon_H57 zenon_H2ca zenon_H2c zenon_H1f6 zenon_H6c zenon_H5f zenon_H73 zenon_H18 zenon_H23 zenon_H4f zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H37 zenon_H133 zenon_H168 zenon_H82 zenon_H117 zenon_H41 zenon_H167 zenon_H5a zenon_H64 zenon_H67. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20c); [ zenon_intro zenon_H1fb | zenon_intro zenon_H20d ]. % 40.81/40.99 apply (zenon_L109_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H200 | zenon_intro zenon_H20e ]. % 40.81/40.99 apply (zenon_L110_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H20e); [ zenon_intro zenon_H206 | zenon_intro zenon_H13a ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H306); [ zenon_intro zenon_H2f1 | zenon_intro zenon_H307 ]. % 40.81/40.99 apply (zenon_L171_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H307); [ zenon_intro zenon_H301 | zenon_intro zenon_H308 ]. % 40.81/40.99 apply (zenon_L172_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H308); [ zenon_intro zenon_H11c | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L65_); trivial. % 40.81/40.99 apply (zenon_L173_); trivial. % 40.81/40.99 apply (zenon_L158_); trivial. % 40.81/40.99 (* end of lemma zenon_L174_ *) % 40.81/40.99 assert (zenon_L175_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e11) = (e13))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op2 (e23) (e22)) = (e20)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H3d zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H216 zenon_H1fc zenon_H17 zenon_H133 zenon_H57 zenon_H69 zenon_H273 zenon_H20c zenon_H201 zenon_H304 zenon_H11d zenon_H300 zenon_H2f9 zenon_H231 zenon_H98 zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H2fa zenon_H306 zenon_H2cc zenon_H2ca zenon_H6c zenon_H5f zenon_H73 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H168 zenon_H117 zenon_H41 zenon_H167 zenon_H5a zenon_H64 zenon_H67 zenon_H22 zenon_H219 zenon_H30 zenon_H23 zenon_H18 zenon_H37. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.99 apply (zenon_L5_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H24 | zenon_intro zenon_H21a ]. % 40.81/40.99 apply (zenon_L5_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H21b ]. % 40.81/40.99 apply (zenon_L174_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H1fb | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L138_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.99 apply (zenon_L8_); trivial. % 40.81/40.99 apply (zenon_L9_); trivial. % 40.81/40.99 (* end of lemma zenon_L175_ *) % 40.81/40.99 assert (zenon_L176_ : (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e11) = (e12))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((op1 (e13) (e13)) = (e13)) -> ((op1 (e11) (e12)) = (e11)) -> (~((e11) = (e13))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e21) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e21) (e23)) = (e21)) -> (~((e21) = (e23))) -> ((e20) = (op2 (e21) (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H309 zenon_Hc3 zenon_Hb6 zenon_H1a8 zenon_H37 zenon_H18 zenon_H23 zenon_H30 zenon_H219 zenon_H22 zenon_H67 zenon_H64 zenon_H5a zenon_H167 zenon_H41 zenon_H117 zenon_H168 zenon_H140 zenon_H161 zenon_H150 zenon_H15c zenon_H73 zenon_H5f zenon_H6c zenon_H2ca zenon_H2cc zenon_H306 zenon_H2fa zenon_H13 zenon_Hc4 zenon_H104 zenon_H231 zenon_H300 zenon_H11d zenon_H304 zenon_H201 zenon_H20c zenon_H273 zenon_H69 zenon_H57 zenon_H133 zenon_H17 zenon_H1fc zenon_H216 zenon_H8b zenon_H4e zenon_H82 zenon_H4f zenon_H7c zenon_H87 zenon_H3d zenon_H2df zenon_Hf7 zenon_H1d2 zenon_He8 zenon_Hdc zenon_H98 zenon_H190 zenon_Hd9 zenon_Hd7 zenon_H18b zenon_H14 zenon_Hac zenon_H198 zenon_H264 zenon_H26c. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H309); [ zenon_intro zenon_H2ed | zenon_intro zenon_H30a ]. % 40.81/40.99 apply (zenon_L169_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H30a); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H30b ]. % 40.81/40.99 apply (zenon_L94_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H30b); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H26a ]. % 40.81/40.99 apply (zenon_L175_); trivial. % 40.81/40.99 apply (zenon_L164_); trivial. % 40.81/40.99 (* end of lemma zenon_L176_ *) % 40.81/40.99 assert (zenon_L177_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((h4 (e13)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e23)) -> (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> ((h2 (e10)) = (op2 (e21) (e21))) -> ((e20) = (op2 (e21) (e21))) -> (~((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H294 zenon_H26c zenon_H264 zenon_Hde zenon_H216 zenon_H1fc zenon_H273 zenon_H20c zenon_H201 zenon_H304 zenon_H11d zenon_H300 zenon_H231 zenon_H98 zenon_H104 zenon_Hc4 zenon_H13 zenon_H14 zenon_H2fa zenon_H306 zenon_H2cc zenon_H2ca zenon_H219 zenon_H1a8 zenon_Hb6 zenon_Hc3 zenon_H309 zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.99 apply (zenon_L2_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.99 apply (zenon_L10_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.99 apply (zenon_L11_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.99 apply (zenon_L18_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.99 apply (zenon_L116_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.99 apply (zenon_L21_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H309); [ zenon_intro zenon_H2ed | zenon_intro zenon_H30a ]. % 40.81/40.99 apply (zenon_L169_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H30a); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H30b ]. % 40.81/40.99 apply (zenon_L94_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H30b); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H26a ]. % 40.81/40.99 apply (zenon_L175_); trivial. % 40.81/40.99 apply (zenon_L135_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L17_); trivial. % 40.81/40.99 apply (zenon_L83_); trivial. % 40.81/40.99 apply (zenon_L25_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.99 apply (zenon_L26_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L27_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 (* end of lemma zenon_L177_ *) % 40.81/40.99 assert (zenon_L178_ : (~((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))) -> ((op1 (e13) (e13)) = (e13)) -> ((op2 (e23) (e23)) = (e23)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H30c zenon_H69 zenon_Hde zenon_H231 zenon_H98. % 40.81/40.99 cut (((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) = ((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H30c. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H231. % 40.81/40.99 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e13)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 40.81/40.99 cut (((h2 (e13)) = (h2 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H30e]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e13) (e13))) = (h2 (op1 (e13) (e13))))); [ zenon_intro zenon_H30f | zenon_intro zenon_H310 ]. % 40.81/40.99 cut (((h2 (op1 (e13) (e13))) = (h2 (op1 (e13) (e13)))) = ((h2 (e13)) = (h2 (op1 (e13) (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H30e. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H30f. % 40.81/40.99 cut (((h2 (op1 (e13) (e13))) = (h2 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H310]. % 40.81/40.99 cut (((h2 (op1 (e13) (e13))) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H311]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H312]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H312 zenon_H69). % 40.81/40.99 apply zenon_H310. apply refl_equal. % 40.81/40.99 apply zenon_H310. apply refl_equal. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13))))); [ zenon_intro zenon_H313 | zenon_intro zenon_H314 ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13)))) = ((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e13)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H30d. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H313. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H314]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H315]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e23) (e23)) = (e23)) = ((op2 (h2 (e13)) (h2 (e13))) = (op2 (op2 (e21) (e21)) (e21)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H315. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_Hde. % 40.81/40.99 cut (((e23) = (op2 (op2 (e21) (e21)) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H282]. % 40.81/40.99 cut (((op2 (e23) (e23)) = (op2 (h2 (e13)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H316]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13))))); [ zenon_intro zenon_H313 | zenon_intro zenon_H314 ]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13)))) = ((op2 (e23) (e23)) = (op2 (h2 (e13)) (h2 (e13))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H316. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H313. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (h2 (e13)) (h2 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H314]. % 40.81/40.99 cut (((op2 (h2 (e13)) (h2 (e13))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H317]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.99 cut (((h2 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L121_); trivial. % 40.81/40.99 apply (zenon_L121_); trivial. % 40.81/40.99 apply zenon_H314. apply refl_equal. % 40.81/40.99 apply zenon_H314. apply refl_equal. % 40.81/40.99 exact (zenon_H282 zenon_H98). % 40.81/40.99 apply zenon_H314. apply refl_equal. % 40.81/40.99 apply zenon_H314. apply refl_equal. % 40.81/40.99 (* end of lemma zenon_L178_ *) % 40.81/40.99 assert (zenon_L179_ : (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e12) = (e13))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e11) (e11))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e12) (e12)) = (e13)) -> (~((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))) -> ((op2 (e23) (e23)) = (e23)) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H318 zenon_H87 zenon_H7c zenon_H4f zenon_H82 zenon_H4e zenon_H8b zenon_H73 zenon_H18 zenon_H23 zenon_H304 zenon_H206 zenon_H30c zenon_Hde zenon_H231 zenon_H98. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H318); [ zenon_intro zenon_H88 | zenon_intro zenon_H319 ]. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H72 | zenon_intro zenon_H31a ]. % 40.81/40.99 apply (zenon_L25_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H31a); [ zenon_intro zenon_H68 | zenon_intro zenon_H69 ]. % 40.81/40.99 apply (zenon_L173_); trivial. % 40.81/40.99 apply (zenon_L178_); trivial. % 40.81/40.99 (* end of lemma zenon_L179_ *) % 40.81/40.99 assert (zenon_L180_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> ((op2 (e23) (e23)) = (e23)) -> (~((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H294 zenon_H98 zenon_H231 zenon_Hde zenon_H30c zenon_H318 zenon_H304 zenon_H2cc zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.99 apply (zenon_L2_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.99 apply (zenon_L10_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.99 apply (zenon_L11_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/40.99 apply (zenon_L18_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H168); [ zenon_intro zenon_H83 | zenon_intro zenon_H179 ]. % 40.81/40.99 apply (zenon_L28_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H179); [ zenon_intro zenon_H138 | zenon_intro zenon_H17a ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2cc); [ zenon_intro zenon_H2f | zenon_intro zenon_H2cd ]. % 40.81/40.99 apply (zenon_L8_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2cd); [ zenon_intro zenon_H214 | zenon_intro zenon_H2ce ]. % 40.81/40.99 apply (zenon_L114_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2ce); [ zenon_intro zenon_H206 | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L179_); trivial. % 40.81/40.99 apply (zenon_L73_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H17a); [ zenon_intro zenon_H116 | zenon_intro zenon_H148 ]. % 40.81/40.99 apply (zenon_L64_); trivial. % 40.81/40.99 apply (zenon_L76_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/40.99 apply (zenon_L21_); trivial. % 40.81/40.99 apply (zenon_L178_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/40.99 apply (zenon_L17_); trivial. % 40.81/40.99 apply (zenon_L83_); trivial. % 40.81/40.99 apply (zenon_L25_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.99 apply (zenon_L26_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L27_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 (* end of lemma zenon_L180_ *) % 40.81/40.99 assert (zenon_L181_ : (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> ((e20) = (op2 (e21) (e21))) -> ((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e23)))) -> (~((e21) = (e23))) -> ((op2 (e21) (e23)) = (e21)) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((e21) = (e22))) -> ((op2 (e20) (e20)) = (e20)) -> (((~((op2 (e20) (op2 (e20) (e20))) = (e20)))/\((~((op2 (e20) (op2 (e20) (e21))) = (e21)))/\((~((op2 (e20) (op2 (e20) (e22))) = (e22)))/\(~((op2 (e20) (op2 (e20) (e23))) = (e23))))))\/(((~((op2 (e21) (op2 (e21) (e20))) = (e20)))/\((~((op2 (e21) (op2 (e21) (e21))) = (e21)))/\((~((op2 (e21) (op2 (e21) (e22))) = (e22)))/\(~((op2 (e21) (op2 (e21) (e23))) = (e23))))))\/(((~((op2 (e22) (op2 (e22) (e20))) = (e20)))/\((~((op2 (e22) (op2 (e22) (e21))) = (e21)))/\((~((op2 (e22) (op2 (e22) (e22))) = (e22)))/\(~((op2 (e22) (op2 (e22) (e23))) = (e23))))))\/((~((op2 (e23) (op2 (e23) (e20))) = (e20)))/\((~((op2 (e23) (op2 (e23) (e21))) = (e21)))/\((~((op2 (e23) (op2 (e23) (e22))) = (e22)))/\(~((op2 (e23) (op2 (e23) (e23))) = (e23))))))))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> ((e23) = (op2 (op2 (e21) (e21)) (e21))) -> ((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) -> (~((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e11) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e13)) = (e12))))) -> (~((e11) = (e12))) -> (((~((op1 (e10) (op1 (e10) (e10))) = (e10)))/\((~((op1 (e10) (op1 (e10) (e11))) = (e11)))/\((~((op1 (e10) (op1 (e10) (e12))) = (e12)))/\(~((op1 (e10) (op1 (e10) (e13))) = (e13))))))\/(((~((op1 (e11) (op1 (e11) (e10))) = (e10)))/\((~((op1 (e11) (op1 (e11) (e11))) = (e11)))/\((~((op1 (e11) (op1 (e11) (e12))) = (e12)))/\(~((op1 (e11) (op1 (e11) (e13))) = (e13))))))\/(((~((op1 (e12) (op1 (e12) (e10))) = (e10)))/\((~((op1 (e12) (op1 (e12) (e11))) = (e11)))/\((~((op1 (e12) (op1 (e12) (e12))) = (e12)))/\(~((op1 (e12) (op1 (e12) (e13))) = (e13))))))\/((~((op1 (e13) (op1 (e13) (e10))) = (e10)))/\((~((op1 (e13) (op1 (e13) (e11))) = (e11)))/\((~((op1 (e13) (op1 (e13) (e12))) = (e12)))/\(~((op1 (e13) (op1 (e13) (e13))) = (e13))))))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e10)) = (e12))\/((op1 (e10) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (op1 (e11) (e11)) (e11))) -> ((e10) = (op1 (e11) (e11))) -> ((e12) = (op1 (op1 (op1 (e11) (e11)) (e11)) (op1 (e11) (e11)))) -> (~((op1 (e12) (e10)) = (op1 (e13) (e10)))) -> (~((e12) = (e13))) -> False). % 40.81/40.99 do 0 intro. intros zenon_H2df zenon_H1d2 zenon_He8 zenon_H14 zenon_Hc4 zenon_H1b4 zenon_H1a8 zenon_H1b9 zenon_H198 zenon_Hac zenon_H18b zenon_Hd7 zenon_Hdc zenon_H1c0 zenon_Hf7 zenon_Hd9 zenon_H126 zenon_Hb6 zenon_H1bf zenon_H294 zenon_H98 zenon_H231 zenon_H30c zenon_H318 zenon_H304 zenon_H2cc zenon_H15c zenon_H150 zenon_H161 zenon_H140 zenon_H133 zenon_H168 zenon_H117 zenon_H167 zenon_H73 zenon_H6f zenon_H42 zenon_H56 zenon_H59 zenon_H6c zenon_H22 zenon_H47 zenon_H5f zenon_H53 zenon_H61 zenon_H64 zenon_H67 zenon_H3d zenon_H17 zenon_H30 zenon_H37 zenon_H79 zenon_H8b zenon_H4e zenon_H82 zenon_H23 zenon_H18 zenon_H4f zenon_H7c zenon_H87. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2df); [ zenon_intro zenon_Hfd | zenon_intro zenon_H2e0 ]. % 40.81/40.99 apply (zenon_L163_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2e0); [ zenon_intro zenon_He7 | zenon_intro zenon_H2e1 ]. % 40.81/40.99 apply (zenon_L55_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H2e1); [ zenon_intro zenon_Hdd | zenon_intro zenon_Hde ]. % 40.81/40.99 apply (zenon_L98_); trivial. % 40.81/40.99 apply (zenon_L180_); trivial. % 40.81/40.99 (* end of lemma zenon_L181_ *) % 40.81/40.99 apply NNPP. intro zenon_G. % 40.81/40.99 apply (zenon_and_s _ _ ax1). zenon_intro zenon_H53. zenon_intro zenon_H31b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H31b). zenon_intro zenon_H31d. zenon_intro zenon_H31c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H31c). zenon_intro zenon_H31f. zenon_intro zenon_H31e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H24c. zenon_intro zenon_H320. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H320). zenon_intro zenon_H322. zenon_intro zenon_H321. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H324. zenon_intro zenon_H323. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H323). zenon_intro zenon_H326. zenon_intro zenon_H325. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H325). zenon_intro zenon_H328. zenon_intro zenon_H327. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_H2b2. zenon_intro zenon_H329. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H329). zenon_intro zenon_H32b. zenon_intro zenon_H32a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H32a). zenon_intro zenon_H32d. zenon_intro zenon_H32c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H32c). zenon_intro zenon_H32f. zenon_intro zenon_H32e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H32e). zenon_intro zenon_H331. zenon_intro zenon_H330. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H330). zenon_intro zenon_H161. zenon_intro zenon_H332. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H332). zenon_intro zenon_H306. zenon_intro zenon_H333. % 40.81/40.99 apply (zenon_and_s _ _ ax2). zenon_intro zenon_H335. zenon_intro zenon_H334. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H334). zenon_intro zenon_H337. zenon_intro zenon_H336. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H339. zenon_intro zenon_H338. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H33b. zenon_intro zenon_H33a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H33a). zenon_intro zenon_H33d. zenon_intro zenon_H33c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H33c). zenon_intro zenon_H8b. zenon_intro zenon_H33e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H33e). zenon_intro zenon_H3d. zenon_intro zenon_H33f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H33f). zenon_intro zenon_H219. zenon_intro zenon_H340. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H342. zenon_intro zenon_H341. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H341). zenon_intro zenon_H344. zenon_intro zenon_H343. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H343). zenon_intro zenon_H346. zenon_intro zenon_H345. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H345). zenon_intro zenon_H348. zenon_intro zenon_H347. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H347). zenon_intro zenon_H168. zenon_intro zenon_H349. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H349). zenon_intro zenon_H34b. zenon_intro zenon_H34a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H216. zenon_intro zenon_H34c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H34c). zenon_intro zenon_H34e. zenon_intro zenon_H34d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H34d). zenon_intro zenon_H350. zenon_intro zenon_H34f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H34f). zenon_intro zenon_H352. zenon_intro zenon_H351. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H354. zenon_intro zenon_H353. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H353). zenon_intro zenon_H356. zenon_intro zenon_H355. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H355). zenon_intro zenon_H358. zenon_intro zenon_H357. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H357). zenon_intro zenon_H122. zenon_intro zenon_H359. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H20c. zenon_intro zenon_H35a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H35a). zenon_intro zenon_H2cc. zenon_intro zenon_H35b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_H35d. zenon_intro zenon_H35c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H35c). zenon_intro zenon_H252. zenon_intro zenon_H35e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H360. zenon_intro zenon_H35f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H35f). zenon_intro zenon_H362. zenon_intro zenon_H361. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H361). zenon_intro zenon_H364. zenon_intro zenon_H363. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H363). zenon_intro zenon_H366. zenon_intro zenon_H365. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H365). zenon_intro zenon_H318. zenon_intro zenon_H140. % 40.81/40.99 apply (zenon_and_s _ _ ax3). zenon_intro zenon_Hc8. zenon_intro zenon_H367. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H367). zenon_intro zenon_H369. zenon_intro zenon_H368. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H368). zenon_intro zenon_H36b. zenon_intro zenon_H36a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_H25f. zenon_intro zenon_H36c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_H36e. zenon_intro zenon_H36d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H36d). zenon_intro zenon_H370. zenon_intro zenon_H36f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_H372. zenon_intro zenon_H371. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H374. zenon_intro zenon_H373. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_H2b5. zenon_intro zenon_H375. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_H377. zenon_intro zenon_H376. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H376). zenon_intro zenon_H379. zenon_intro zenon_H378. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H378). zenon_intro zenon_H37b. zenon_intro zenon_H37a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H37a). zenon_intro zenon_H37d. zenon_intro zenon_H37c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_H1b9. zenon_intro zenon_H37e. % 40.81/40.99 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H380. zenon_intro zenon_H37f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H37f). zenon_intro zenon_H382. zenon_intro zenon_H381. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H381). zenon_intro zenon_H384. zenon_intro zenon_H383. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H383). zenon_intro zenon_H386. zenon_intro zenon_H385. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H385). zenon_intro zenon_H388. zenon_intro zenon_H387. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H387). zenon_intro zenon_H100. zenon_intro zenon_H389. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H389). zenon_intro zenon_Hb2. zenon_intro zenon_H38a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H38a). zenon_intro zenon_H295. zenon_intro zenon_H38b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H38b). zenon_intro zenon_H38d. zenon_intro zenon_H38c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_H38f. zenon_intro zenon_H38e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H391. zenon_intro zenon_H390. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_H393. zenon_intro zenon_H392. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H392). zenon_intro zenon_H1c0. zenon_intro zenon_H394. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H396. zenon_intro zenon_H395. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H395). zenon_intro zenon_H1f2. zenon_intro zenon_H397. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H397). zenon_intro zenon_H399. zenon_intro zenon_H398. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H398). zenon_intro zenon_H39b. zenon_intro zenon_H39a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H39a). zenon_intro zenon_H39d. zenon_intro zenon_H39c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H39f. zenon_intro zenon_H39e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_H3a1. zenon_intro zenon_H3a0. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H3a3. zenon_intro zenon_H3a2. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H3a5. zenon_intro zenon_H3a4. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a4). zenon_intro zenon_H1e8. zenon_intro zenon_H3a6. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H3a8. zenon_intro zenon_H3a7. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a7). zenon_intro zenon_H309. zenon_intro zenon_H3a9. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3a9). zenon_intro zenon_H270. zenon_intro zenon_H3aa. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_H3ac. zenon_intro zenon_H3ab. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ab). zenon_intro zenon_H3ae. zenon_intro zenon_H3ad. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H3b0. zenon_intro zenon_H3af. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3af). zenon_intro zenon_H3b2. zenon_intro zenon_H3b1. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b1). zenon_intro zenon_H2df. zenon_intro zenon_H198. % 40.81/40.99 apply (zenon_and_s _ _ ax5). zenon_intro zenon_H47. zenon_intro zenon_H3b3. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H29f. zenon_intro zenon_H3b4. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b4). zenon_intro zenon_H4e. zenon_intro zenon_H3b5. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b5). zenon_intro zenon_H1fc. zenon_intro zenon_H3b6. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b6). zenon_intro zenon_H82. zenon_intro zenon_H3b7. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H7c. zenon_intro zenon_H3b8. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b8). zenon_intro zenon_H17. zenon_intro zenon_H3b9. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3b9). zenon_intro zenon_H201. zenon_intro zenon_H3ba. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ba). zenon_intro zenon_H73. zenon_intro zenon_H3bb. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3bb). zenon_intro zenon_H3bd. zenon_intro zenon_H3bc. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H150. zenon_intro zenon_H3be. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H3c0. zenon_intro zenon_H3bf. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3bf). zenon_intro zenon_H3c2. zenon_intro zenon_H3c1. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3c1). zenon_intro zenon_H3c4. zenon_intro zenon_H3c3. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3c3). zenon_intro zenon_H3c6. zenon_intro zenon_H3c5. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3c5). zenon_intro zenon_H3c8. zenon_intro zenon_H3c7. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3c7). zenon_intro zenon_H300. zenon_intro zenon_H3c9. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3c9). zenon_intro zenon_H304. zenon_intro zenon_H3ca. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H3cc. zenon_intro zenon_H3cb. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3cb). zenon_intro zenon_H22d. zenon_intro zenon_H3cd. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_H3cf. zenon_intro zenon_H3ce. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ce). zenon_intro zenon_H3d1. zenon_intro zenon_H3d0. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d0). zenon_intro zenon_H273. zenon_intro zenon_H3d2. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H3d4. zenon_intro zenon_H3d3. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H22. zenon_intro zenon_H3d5. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_H42. zenon_intro zenon_H3d6. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H5f. zenon_intro zenon_H3d7. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H30. zenon_intro zenon_H3d8. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H37. zenon_intro zenon_H3d9. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H248. zenon_intro zenon_H3da. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H3dc. zenon_intro zenon_H3db. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H56. zenon_intro zenon_H3dd. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H61. zenon_intro zenon_H3de. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H3e0. zenon_intro zenon_H3df. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H227. zenon_intro zenon_H3e1. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H3e3. zenon_intro zenon_H3e2. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_H3e5. zenon_intro zenon_H3e4. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H3e7. zenon_intro zenon_H3e6. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H3e9. zenon_intro zenon_H3e8. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3e8). zenon_intro zenon_H59. zenon_intro zenon_H3ea. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_H64. zenon_intro zenon_H3eb. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_H2ca. zenon_intro zenon_H3ec. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ec). zenon_intro zenon_H15c. zenon_intro zenon_H3ed. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_H11d. zenon_intro zenon_H3ee. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_H3f0. zenon_intro zenon_H3ef. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_H3f2. zenon_intro zenon_H3f1. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_H3f3. zenon_intro zenon_H67. % 40.81/40.99 apply (zenon_and_s _ _ ax6). zenon_intro zenon_Hbc. zenon_intro zenon_H3f4. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H2b6. zenon_intro zenon_H3f5. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f5). zenon_intro zenon_Hc3. zenon_intro zenon_H3f6. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_H1d8. zenon_intro zenon_H3f7. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f7). zenon_intro zenon_Hf7. zenon_intro zenon_H3f8. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_Hf1. zenon_intro zenon_H3f9. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3f9). zenon_intro zenon_H8e. zenon_intro zenon_H3fa. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_H1dd. zenon_intro zenon_H3fb. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3fb). zenon_intro zenon_He8. zenon_intro zenon_H3fc. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3fc). zenon_intro zenon_H3fe. zenon_intro zenon_H3fd. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3fd). zenon_intro zenon_H1a8. zenon_intro zenon_H3ff. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H3ff). zenon_intro zenon_H401. zenon_intro zenon_H400. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H400). zenon_intro zenon_H403. zenon_intro zenon_H402. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H402). zenon_intro zenon_H405. zenon_intro zenon_H404. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H404). zenon_intro zenon_H407. zenon_intro zenon_H406. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H406). zenon_intro zenon_H409. zenon_intro zenon_H408. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H40b. zenon_intro zenon_H40a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H40d. zenon_intro zenon_H40c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H40c). zenon_intro zenon_H40f. zenon_intro zenon_H40e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H40e). zenon_intro zenon_H223. zenon_intro zenon_H410. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H410). zenon_intro zenon_H26c. zenon_intro zenon_H411. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H411). zenon_intro zenon_H413. zenon_intro zenon_H412. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H412). zenon_intro zenon_H286. zenon_intro zenon_H414. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H414). zenon_intro zenon_H416. zenon_intro zenon_H415. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H415). zenon_intro zenon_H97. zenon_intro zenon_H417. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H417). zenon_intro zenon_Hb7. zenon_intro zenon_H418. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H418). zenon_intro zenon_Hd4. zenon_intro zenon_H419. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H419). zenon_intro zenon_Ha5. zenon_intro zenon_H41a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_Hac. zenon_intro zenon_H41b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H41b). zenon_intro zenon_H25b. zenon_intro zenon_H41c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H41c). zenon_intro zenon_H41e. zenon_intro zenon_H41d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hcb. zenon_intro zenon_H41f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H41f). zenon_intro zenon_Hd6. zenon_intro zenon_H420. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H420). zenon_intro zenon_H422. zenon_intro zenon_H421. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H421). zenon_intro zenon_H21d. zenon_intro zenon_H423. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H423). zenon_intro zenon_H425. zenon_intro zenon_H424. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H424). zenon_intro zenon_H427. zenon_intro zenon_H426. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H426). zenon_intro zenon_H429. zenon_intro zenon_H428. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H428). zenon_intro zenon_H42b. zenon_intro zenon_H42a. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H42a). zenon_intro zenon_Hce. zenon_intro zenon_H42c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H42c). zenon_intro zenon_Hd9. zenon_intro zenon_H42d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H42d). zenon_intro zenon_H42f. zenon_intro zenon_H42e. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H42e). zenon_intro zenon_H1b4. zenon_intro zenon_H430. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H430). zenon_intro zenon_H12c. zenon_intro zenon_H431. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H431). zenon_intro zenon_H433. zenon_intro zenon_H432. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H432). zenon_intro zenon_H435. zenon_intro zenon_H434. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H434). zenon_intro zenon_H436. zenon_intro zenon_Hdc. % 40.81/40.99 apply (zenon_and_s _ _ ax7). zenon_intro zenon_H438. zenon_intro zenon_H437. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H437). zenon_intro zenon_H43a. zenon_intro zenon_H439. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H439). zenon_intro zenon_H24f. zenon_intro zenon_H43b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H43b). zenon_intro zenon_H117. zenon_intro zenon_H43c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H43c). zenon_intro zenon_H133. zenon_intro zenon_H87. % 40.81/40.99 apply (zenon_and_s _ _ ax8). zenon_intro zenon_H43e. zenon_intro zenon_H43d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H43d). zenon_intro zenon_H440. zenon_intro zenon_H43f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H43f). zenon_intro zenon_H442. zenon_intro zenon_H441. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H441). zenon_intro zenon_H126. zenon_intro zenon_H443. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H443). zenon_intro zenon_H18b. zenon_intro zenon_Hfc. % 40.81/40.99 apply (zenon_and_s _ _ ax10). zenon_intro zenon_H294. zenon_intro zenon_H444. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H444). zenon_intro zenon_H79. zenon_intro zenon_H445. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H445). zenon_intro zenon_H6f. zenon_intro zenon_H446. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H446). zenon_intro zenon_H6c. zenon_intro zenon_H447. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H447). zenon_intro zenon_H167. zenon_intro zenon_H448. % 40.81/40.99 apply (zenon_and_s _ _ ax11). zenon_intro zenon_H44a. zenon_intro zenon_H449. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H449). zenon_intro zenon_Hee. zenon_intro zenon_H44b. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H44b). zenon_intro zenon_He4. zenon_intro zenon_H44c. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H44c). zenon_intro zenon_He1. zenon_intro zenon_H44d. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H44d). zenon_intro zenon_H1bf. zenon_intro zenon_H44e. % 40.81/40.99 apply (zenon_and_s _ _ ax12). zenon_intro zenon_H18. zenon_intro zenon_H44f. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H44f). zenon_intro zenon_H4f. zenon_intro zenon_H23. % 40.81/40.99 apply (zenon_and_s _ _ ax13). zenon_intro zenon_H14. zenon_intro zenon_H450. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H450). zenon_intro zenon_Hc4. zenon_intro zenon_H98. % 40.81/40.99 apply (zenon_and_s _ _ ax15). zenon_intro zenon_H234. zenon_intro zenon_H451. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H451). zenon_intro zenon_H13. zenon_intro zenon_H452. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H452). zenon_intro zenon_H104. zenon_intro zenon_H231. % 40.81/40.99 apply (zenon_and_s _ _ ax17). zenon_intro zenon_H454. zenon_intro zenon_H453. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H453). zenon_intro zenon_H456. zenon_intro zenon_H455. % 40.81/40.99 apply (zenon_and_s _ _ zenon_H455). zenon_intro zenon_H457. zenon_intro zenon_H264. % 40.81/40.99 apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H459. zenon_intro zenon_H458. % 40.81/40.99 apply (zenon_notor_s _ _ zenon_H458). zenon_intro zenon_H45b. zenon_intro zenon_H45a. % 40.81/40.99 apply (zenon_notand_s _ _ zenon_H45b); [ zenon_intro zenon_H45d | zenon_intro zenon_H45c ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.99 cut (((h2 (e10)) = (op2 (e21) (e21))) = ((h2 (op1 (e10) (e10))) = (op2 (h2 (e10)) (h2 (e10))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H45d. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H13. % 40.81/40.99 cut (((op2 (e21) (e21)) = (op2 (h2 (e10)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H45f]. % 40.81/40.99 cut (((h2 (e10)) = (h2 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H460]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e10) (e10))) = (h2 (op1 (e10) (e10))))); [ zenon_intro zenon_H461 | zenon_intro zenon_H462 ]. % 40.81/40.99 cut (((h2 (op1 (e10) (e10))) = (h2 (op1 (e10) (e10)))) = ((h2 (e10)) = (h2 (op1 (e10) (e10))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H460. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H461. % 40.81/40.99 cut (((h2 (op1 (e10) (e10))) = (h2 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H462]. % 40.81/40.99 cut (((h2 (op1 (e10) (e10))) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H463]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H171 zenon_H41). % 40.81/40.99 apply zenon_H462. apply refl_equal. % 40.81/40.99 apply zenon_H462. apply refl_equal. % 40.81/40.99 elim (classic ((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10))))); [ zenon_intro zenon_H464 | zenon_intro zenon_H465 ]. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10)))) = ((op2 (e21) (e21)) = (op2 (h2 (e10)) (h2 (e10))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H45f. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H464. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H465]. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H466]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op2 (e20) (e20)) = (e20)) = ((op2 (h2 (e10)) (h2 (e10))) = (op2 (e21) (e21)))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H466. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_Hb6. % 40.81/40.99 cut (((e20) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2d3]. % 40.81/40.99 cut (((op2 (e20) (e20)) = (op2 (h2 (e10)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H467]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10))))); [ zenon_intro zenon_H464 | zenon_intro zenon_H465 ]. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10)))) = ((op2 (e20) (e20)) = (op2 (h2 (e10)) (h2 (e10))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H467. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H464. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (h2 (e10)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H465]. % 40.81/40.99 cut (((op2 (h2 (e10)) (h2 (e10))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H468]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.81/40.99 cut (((h2 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12]. % 40.81/40.99 congruence. % 40.81/40.99 apply (zenon_L1_); trivial. % 40.81/40.99 apply (zenon_L1_); trivial. % 40.81/40.99 apply zenon_H465. apply refl_equal. % 40.81/40.99 apply zenon_H465. apply refl_equal. % 40.81/40.99 exact (zenon_H2d3 zenon_H14). % 40.81/40.99 apply zenon_H465. apply refl_equal. % 40.81/40.99 apply zenon_H465. apply refl_equal. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/40.99 apply (zenon_L26_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/40.99 apply (zenon_L27_); trivial. % 40.81/40.99 apply (zenon_L31_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.81/40.99 apply (zenon_L56_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.81/40.99 apply (zenon_L57_); trivial. % 40.81/40.99 apply (zenon_L61_); trivial. % 40.81/40.99 apply (zenon_notand_s _ _ zenon_H45c); [ zenon_intro zenon_H46b | zenon_intro zenon_H46a ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H24 | zenon_intro zenon_H3e ]. % 40.81/40.99 apply (zenon_L5_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2c | zenon_intro zenon_H3f ]. % 40.81/40.99 cut (((h2 (e13)) = (op2 (op2 (e21) (e21)) (e21))) = ((h2 (op1 (e10) (e11))) = (op2 (h2 (e10)) (h2 (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H46b. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H231. % 40.81/40.99 cut (((op2 (op2 (e21) (e21)) (e21)) = (op2 (h2 (e10)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H46c]. % 40.81/40.99 cut (((h2 (e13)) = (h2 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H46d]. % 40.81/40.99 congruence. % 40.81/40.99 elim (classic ((h2 (op1 (e10) (e11))) = (h2 (op1 (e10) (e11))))); [ zenon_intro zenon_H46e | zenon_intro zenon_H46f ]. % 40.81/40.99 cut (((h2 (op1 (e10) (e11))) = (h2 (op1 (e10) (e11)))) = ((h2 (e13)) = (h2 (op1 (e10) (e11))))). % 40.81/40.99 intro zenon_D_pnotp. % 40.81/40.99 apply zenon_H46d. % 40.81/40.99 rewrite <- zenon_D_pnotp. % 40.81/40.99 exact zenon_H46e. % 40.81/40.99 cut (((h2 (op1 (e10) (e11))) = (h2 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H46f]. % 40.81/40.99 cut (((h2 (op1 (e10) (e11))) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H470]. % 40.81/40.99 congruence. % 40.81/40.99 cut (((op1 (e10) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 40.81/40.99 congruence. % 40.81/40.99 exact (zenon_H2e zenon_H2c). % 40.81/40.99 apply zenon_H46f. apply refl_equal. % 40.81/40.99 apply zenon_H46f. apply refl_equal. % 40.81/40.99 cut (((e21) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H471]. % 40.81/40.99 cut (((op2 (e21) (e21)) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H472]. % 40.81/40.99 congruence. % 40.81/40.99 apply zenon_H472. apply sym_equal. exact zenon_H13. % 40.81/40.99 apply zenon_H471. apply sym_equal. exact zenon_H234. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H2f | zenon_intro zenon_H36 ]. % 40.81/40.99 apply (zenon_L8_); trivial. % 40.81/40.99 apply (zenon_L9_); trivial. % 40.81/40.99 apply (zenon_notand_s _ _ zenon_H46a); [ zenon_intro zenon_H107 | zenon_intro zenon_H473 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.81/40.99 apply (zenon_L32_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.81/40.99 apply (zenon_L40_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.81/40.99 apply (zenon_L41_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/40.99 apply (zenon_L2_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/40.99 apply (zenon_L10_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/40.99 apply (zenon_L11_); trivial. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/40.99 apply (zenon_or_s _ _ zenon_H3a5); [ zenon_intro zenon_H109 | zenon_intro zenon_H474 ]. % 40.81/41.00 apply (zenon_L66_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H474); [ zenon_intro zenon_H125 | zenon_intro zenon_H475 ]. % 40.81/41.00 apply (zenon_L67_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H475); [ zenon_intro zenon_Hd0 | zenon_intro zenon_H12b ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L68_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/41.00 apply (zenon_L17_); trivial. % 40.81/41.00 apply (zenon_L83_); trivial. % 40.81/41.00 apply (zenon_L25_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/41.00 apply (zenon_L26_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/41.00 apply (zenon_L27_); trivial. % 40.81/41.00 apply (zenon_L31_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L99_); trivial. % 40.81/41.00 apply (zenon_L55_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.81/41.00 apply (zenon_L56_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.81/41.00 apply (zenon_L57_); trivial. % 40.81/41.00 apply (zenon_L61_); trivial. % 40.81/41.00 apply (zenon_notand_s _ _ zenon_H473); [ zenon_intro zenon_H233 | zenon_intro zenon_H476 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.81/41.00 apply (zenon_L32_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.81/41.00 apply (zenon_L40_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.81/41.00 apply (zenon_L41_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.81/41.00 apply (zenon_L48_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.81/41.00 apply (zenon_L107_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.81/41.00 apply (zenon_L51_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/41.00 apply (zenon_L2_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/41.00 apply (zenon_L10_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/41.00 apply (zenon_L11_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/41.00 apply (zenon_L18_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/41.00 apply (zenon_L116_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/41.00 apply (zenon_L21_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H3a5); [ zenon_intro zenon_H109 | zenon_intro zenon_H474 ]. % 40.81/41.00 apply (zenon_L136_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H474); [ zenon_intro zenon_H125 | zenon_intro zenon_H475 ]. % 40.81/41.00 apply (zenon_L67_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H475); [ zenon_intro zenon_Hd0 | zenon_intro zenon_H12b ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L68_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/41.00 apply (zenon_L17_); trivial. % 40.81/41.00 apply (zenon_L83_); trivial. % 40.81/41.00 apply (zenon_L25_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/41.00 apply (zenon_L26_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/41.00 apply (zenon_L27_); trivial. % 40.81/41.00 apply (zenon_L31_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L99_); trivial. % 40.81/41.00 apply (zenon_L55_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.81/41.00 apply (zenon_L56_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.81/41.00 apply (zenon_L57_); trivial. % 40.81/41.00 apply (zenon_L61_); trivial. % 40.81/41.00 apply (zenon_notand_s _ _ zenon_H476); [ zenon_intro zenon_H278 | zenon_intro zenon_H477 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.81/41.00 apply (zenon_L32_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.81/41.00 apply (zenon_L40_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.81/41.00 apply (zenon_L41_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.81/41.00 apply (zenon_L48_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.81/41.00 apply (zenon_L107_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.81/41.00 apply (zenon_L51_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/41.00 apply (zenon_L2_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/41.00 apply (zenon_L10_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/41.00 apply (zenon_L11_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.81/41.00 apply (zenon_L18_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.81/41.00 apply (zenon_L116_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.81/41.00 apply (zenon_L21_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.81/41.00 apply (zenon_L35_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H99 | zenon_intro zenon_H297 ]. % 40.81/41.00 apply (zenon_L35_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H298 ]. % 40.81/41.00 apply (zenon_L139_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H298); [ zenon_intro zenon_H1d7 | zenon_intro zenon_Hfd ]. % 40.81/41.00 apply (zenon_L141_); trivial. % 40.81/41.00 apply (zenon_L61_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.81/41.00 apply (zenon_L38_); trivial. % 40.81/41.00 apply (zenon_L39_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/41.00 apply (zenon_L17_); trivial. % 40.81/41.00 apply (zenon_L83_); trivial. % 40.81/41.00 apply (zenon_L25_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/41.00 apply (zenon_L26_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/41.00 apply (zenon_L27_); trivial. % 40.81/41.00 apply (zenon_L31_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L99_); trivial. % 40.81/41.00 apply (zenon_L55_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.81/41.00 apply (zenon_L56_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.81/41.00 apply (zenon_L57_); trivial. % 40.81/41.00 apply (zenon_L61_); trivial. % 40.81/41.00 apply (zenon_notand_s _ _ zenon_H477); [ zenon_intro zenon_H479 | zenon_intro zenon_H478 ]. % 40.81/41.00 cut (((h2 (e10)) = (op2 (e21) (e21))) = ((h2 (op1 (e11) (e11))) = (op2 (h2 (e11)) (h2 (e11))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H479. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H13. % 40.81/41.00 cut (((op2 (e21) (e21)) = (op2 (h2 (e11)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H47a]. % 40.81/41.00 cut (((h2 (e10)) = (h2 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H47b]. % 40.81/41.00 congruence. % 40.81/41.00 elim (classic ((h2 (op1 (e11) (e11))) = (h2 (op1 (e11) (e11))))); [ zenon_intro zenon_H47c | zenon_intro zenon_H47d ]. % 40.81/41.00 cut (((h2 (op1 (e11) (e11))) = (h2 (op1 (e11) (e11)))) = ((h2 (e10)) = (h2 (op1 (e11) (e11))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H47b. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H47c. % 40.81/41.00 cut (((h2 (op1 (e11) (e11))) = (h2 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H47d]. % 40.81/41.00 cut (((h2 (op1 (e11) (e11))) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H47e]. % 40.81/41.00 congruence. % 40.81/41.00 cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 40.81/41.00 congruence. % 40.81/41.00 apply zenon_H21. apply sym_equal. exact zenon_H18. % 40.81/41.00 apply zenon_H47d. apply refl_equal. % 40.81/41.00 apply zenon_H47d. apply refl_equal. % 40.81/41.00 cut (((e21) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H471]. % 40.81/41.00 cut (((e21) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H471]. % 40.81/41.00 congruence. % 40.81/41.00 apply zenon_H471. apply sym_equal. exact zenon_H234. % 40.81/41.00 apply zenon_H471. apply sym_equal. exact zenon_H234. % 40.81/41.00 apply (zenon_notand_s _ _ zenon_H478); [ zenon_intro zenon_H480 | zenon_intro zenon_H47f ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.81/41.00 apply (zenon_L32_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.81/41.00 apply (zenon_L40_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.81/41.00 apply (zenon_L41_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.81/41.00 apply (zenon_L2_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.81/41.00 apply (zenon_L10_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.81/41.00 apply (zenon_L11_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.81/41.00 cut (((h2 (e11)) = (e21)) = ((h2 (op1 (e11) (e12))) = (op2 (h2 (e11)) (h2 (e12))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H480. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H234. % 40.81/41.00 cut (((e21) = (op2 (h2 (e11)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H481]. % 40.81/41.00 cut (((h2 (e11)) = (h2 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H482]. % 40.81/41.00 congruence. % 40.81/41.00 elim (classic ((h2 (op1 (e11) (e12))) = (h2 (op1 (e11) (e12))))); [ zenon_intro zenon_H483 | zenon_intro zenon_H484 ]. % 40.81/41.00 cut (((h2 (op1 (e11) (e12))) = (h2 (op1 (e11) (e12)))) = ((h2 (e11)) = (h2 (op1 (e11) (e12))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H482. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H483. % 40.81/41.00 cut (((h2 (op1 (e11) (e12))) = (h2 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H484]. % 40.81/41.00 cut (((h2 (op1 (e11) (e12))) = (h2 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H485]. % 40.81/41.00 congruence. % 40.81/41.00 cut (((op1 (e11) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H486]. % 40.81/41.00 congruence. % 40.81/41.00 exact (zenon_H486 zenon_H57). % 40.81/41.00 apply zenon_H484. apply refl_equal. % 40.81/41.00 apply zenon_H484. apply refl_equal. % 40.81/41.00 elim (classic ((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12))))); [ zenon_intro zenon_H487 | zenon_intro zenon_H488 ]. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12)))) = ((e21) = (op2 (h2 (e11)) (h2 (e12))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H481. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H487. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H488]. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H489]. % 40.81/41.00 congruence. % 40.81/41.00 cut (((op2 (e21) (e22)) = (e21)) = ((op2 (h2 (e11)) (h2 (e12))) = (e21))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H489. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_Hcc. % 40.81/41.00 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 40.81/41.00 cut (((op2 (e21) (e22)) = (op2 (h2 (e11)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H48a]. % 40.81/41.00 congruence. % 40.81/41.00 elim (classic ((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12))))); [ zenon_intro zenon_H487 | zenon_intro zenon_H488 ]. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12)))) = ((op2 (e21) (e22)) = (op2 (h2 (e11)) (h2 (e12))))). % 40.81/41.00 intro zenon_D_pnotp. % 40.81/41.00 apply zenon_H48a. % 40.81/41.00 rewrite <- zenon_D_pnotp. % 40.81/41.00 exact zenon_H487. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (op2 (h2 (e11)) (h2 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H488]. % 40.81/41.00 cut (((op2 (h2 (e11)) (h2 (e12))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H48b]. % 40.81/41.00 congruence. % 40.81/41.00 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.81/41.00 cut (((h2 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 40.81/41.00 congruence. % 40.81/41.00 exact (zenon_H285 zenon_H234). % 40.81/41.00 apply (zenon_L62_); trivial. % 40.81/41.00 apply zenon_H488. apply refl_equal. % 40.81/41.00 apply zenon_H488. apply refl_equal. % 40.81/41.00 apply zenon_H95. apply refl_equal. % 40.81/41.00 apply zenon_H488. apply refl_equal. % 40.81/41.00 apply zenon_H488. apply refl_equal. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.81/41.00 apply (zenon_L17_); trivial. % 40.81/41.00 apply (zenon_L83_); trivial. % 40.81/41.00 apply (zenon_L25_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.81/41.00 apply (zenon_L26_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.81/41.00 apply (zenon_L27_); trivial. % 40.81/41.00 apply (zenon_L31_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.81/41.00 apply (zenon_L47_); trivial. % 40.81/41.00 apply (zenon_L99_); trivial. % 40.81/41.00 apply (zenon_L55_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.81/41.00 apply (zenon_L56_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.81/41.00 apply (zenon_L57_); trivial. % 40.81/41.00 apply (zenon_L61_); trivial. % 40.81/41.00 apply (zenon_notand_s _ _ zenon_H47f); [ zenon_intro zenon_H289 | zenon_intro zenon_H48c ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.81/41.00 apply (zenon_L32_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.81/41.00 apply (zenon_L40_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.81/41.00 apply (zenon_L41_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.81/41.00 apply (zenon_L48_); trivial. % 40.81/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.85/41.00 apply (zenon_L107_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.85/41.00 apply (zenon_L51_); trivial. % 40.85/41.00 apply (zenon_L146_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H48c); [ zenon_intro zenon_H2ac | zenon_intro zenon_H48d ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.85/41.00 apply (zenon_L41_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.85/41.00 apply (zenon_L48_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.85/41.00 apply (zenon_L2_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.85/41.00 apply (zenon_L10_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.85/41.00 apply (zenon_L11_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.85/41.00 apply (zenon_L18_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.85/41.00 apply (zenon_L116_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.85/41.00 apply (zenon_L21_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_H99 | zenon_intro zenon_Hb3 ]. % 40.85/41.00 apply (zenon_L35_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hb3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hb4 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.85/41.00 apply (zenon_L153_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.85/41.00 apply (zenon_L105_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.85/41.00 apply (zenon_L106_); trivial. % 40.85/41.00 apply (zenon_L86_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hb4); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Hab ]. % 40.85/41.00 apply (zenon_L38_); trivial. % 40.85/41.00 apply (zenon_L39_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.85/41.00 apply (zenon_L17_); trivial. % 40.85/41.00 apply (zenon_L83_); trivial. % 40.85/41.00 apply (zenon_L25_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.85/41.00 apply (zenon_L26_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.85/41.00 apply (zenon_L27_); trivial. % 40.85/41.00 apply (zenon_L31_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.85/41.00 apply (zenon_L51_); trivial. % 40.85/41.00 apply (zenon_L154_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H48d); [ zenon_intro zenon_H48f | zenon_intro zenon_H48e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.85/41.00 apply (zenon_L2_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.85/41.00 apply (zenon_L10_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.85/41.00 cut (((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((h2 (op1 (e12) (e11))) = (op2 (h2 (e12)) (h2 (e11))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H48f. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H104. % 40.85/41.00 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e12)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H490]. % 40.85/41.00 cut (((h2 (e12)) = (h2 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H491]. % 40.85/41.00 congruence. % 40.85/41.00 elim (classic ((h2 (op1 (e12) (e11))) = (h2 (op1 (e12) (e11))))); [ zenon_intro zenon_H492 | zenon_intro zenon_H493 ]. % 40.85/41.00 cut (((h2 (op1 (e12) (e11))) = (h2 (op1 (e12) (e11)))) = ((h2 (e12)) = (h2 (op1 (e12) (e11))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H491. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H492. % 40.85/41.00 cut (((h2 (op1 (e12) (e11))) = (h2 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H493]. % 40.85/41.00 cut (((h2 (op1 (e12) (e11))) = (h2 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H494]. % 40.85/41.00 congruence. % 40.85/41.00 cut (((op1 (e12) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H495]. % 40.85/41.00 congruence. % 40.85/41.00 exact (zenon_H495 zenon_H5a). % 40.85/41.00 apply zenon_H493. apply refl_equal. % 40.85/41.00 apply zenon_H493. apply refl_equal. % 40.85/41.00 elim (classic ((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11))))); [ zenon_intro zenon_H496 | zenon_intro zenon_H497 ]. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11)))) = ((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e12)) (h2 (e11))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H490. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H496. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H497]. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H498]. % 40.85/41.00 congruence. % 40.85/41.00 cut (((op2 (e22) (e21)) = (e22)) = ((op2 (h2 (e12)) (h2 (e11))) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H498. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_Hcf. % 40.85/41.00 cut (((e22) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H113]. % 40.85/41.00 cut (((op2 (e22) (e21)) = (op2 (h2 (e12)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H499]. % 40.85/41.00 congruence. % 40.85/41.00 elim (classic ((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11))))); [ zenon_intro zenon_H496 | zenon_intro zenon_H497 ]. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11)))) = ((op2 (e22) (e21)) = (op2 (h2 (e12)) (h2 (e11))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H499. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H496. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (h2 (e12)) (h2 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H497]. % 40.85/41.00 cut (((op2 (h2 (e12)) (h2 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H49a]. % 40.85/41.00 congruence. % 40.85/41.00 cut (((h2 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 40.85/41.00 cut (((h2 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 40.85/41.00 congruence. % 40.85/41.00 apply (zenon_L62_); trivial. % 40.85/41.00 exact (zenon_H285 zenon_H234). % 40.85/41.00 apply zenon_H497. apply refl_equal. % 40.85/41.00 apply zenon_H497. apply refl_equal. % 40.85/41.00 exact (zenon_H113 zenon_Hc4). % 40.85/41.00 apply zenon_H497. apply refl_equal. % 40.85/41.00 apply zenon_H497. apply refl_equal. % 40.85/41.00 apply (zenon_L25_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H48e); [ zenon_intro zenon_H2bd | zenon_intro zenon_H49b ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.85/41.00 apply (zenon_L41_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.85/41.00 apply (zenon_L2_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.85/41.00 apply (zenon_L10_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.85/41.00 apply (zenon_L11_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.85/41.00 apply (zenon_L18_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.85/41.00 apply (zenon_L116_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.85/41.00 apply (zenon_L21_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H3a8); [ zenon_intro zenon_Ha4 | zenon_intro zenon_H49c ]. % 40.85/41.00 apply (zenon_L38_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H49c); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H49d ]. % 40.85/41.00 apply (zenon_L106_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H49d); [ zenon_intro zenon_H1e2 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L159_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.85/41.00 apply (zenon_L17_); trivial. % 40.85/41.00 apply (zenon_L83_); trivial. % 40.85/41.00 apply (zenon_L25_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.85/41.00 apply (zenon_L26_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.85/41.00 apply (zenon_L27_); trivial. % 40.85/41.00 apply (zenon_L31_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H49b); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H49e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.85/41.00 apply (zenon_L41_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.85/41.00 apply (zenon_L48_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.85/41.00 apply (zenon_L2_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.85/41.00 apply (zenon_L10_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.85/41.00 apply (zenon_L11_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.85/41.00 apply (zenon_L18_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.85/41.00 apply (zenon_L116_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.85/41.00 apply (zenon_L21_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.85/41.00 apply (zenon_L58_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.85/41.00 apply (zenon_L165_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.85/41.00 apply (zenon_L105_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.85/41.00 apply (zenon_L106_); trivial. % 40.85/41.00 apply (zenon_L86_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.85/41.00 apply (zenon_L67_); trivial. % 40.85/41.00 apply (zenon_L92_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.85/41.00 apply (zenon_L17_); trivial. % 40.85/41.00 apply (zenon_L83_); trivial. % 40.85/41.00 apply (zenon_L25_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.85/41.00 apply (zenon_L26_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.85/41.00 apply (zenon_L27_); trivial. % 40.85/41.00 apply (zenon_L31_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.85/41.00 apply (zenon_L51_); trivial. % 40.85/41.00 apply (zenon_L166_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H49e); [ zenon_intro zenon_H4a0 | zenon_intro zenon_H49f ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H50 | zenon_intro zenon_H8c ]. % 40.85/41.00 apply (zenon_L14_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H83 | zenon_intro zenon_H8d ]. % 40.85/41.00 apply (zenon_L28_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H7d | zenon_intro zenon_H89 ]. % 40.85/41.00 apply (zenon_L27_); trivial. % 40.85/41.00 cut (((h2 (e12)) = (op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21)))) = ((h2 (op1 (e13) (e10))) = (op2 (h2 (e13)) (h2 (e10))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H4a0. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H104. % 40.85/41.00 cut (((op2 (op2 (op2 (e21) (e21)) (e21)) (op2 (e21) (e21))) = (op2 (h2 (e13)) (h2 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H4a1]. % 40.85/41.00 cut (((h2 (e12)) = (h2 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H4a2]. % 40.85/41.00 congruence. % 40.85/41.00 elim (classic ((h2 (op1 (e13) (e10))) = (h2 (op1 (e13) (e10))))); [ zenon_intro zenon_H4a3 | zenon_intro zenon_H4a4 ]. % 40.85/41.00 cut (((h2 (op1 (e13) (e10))) = (h2 (op1 (e13) (e10)))) = ((h2 (e12)) = (h2 (op1 (e13) (e10))))). % 40.85/41.00 intro zenon_D_pnotp. % 40.85/41.00 apply zenon_H4a2. % 40.85/41.00 rewrite <- zenon_D_pnotp. % 40.85/41.00 exact zenon_H4a3. % 40.85/41.00 cut (((h2 (op1 (e13) (e10))) = (h2 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H4a4]. % 40.85/41.00 cut (((h2 (op1 (e13) (e10))) = (h2 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H4a5]. % 40.85/41.00 congruence. % 40.85/41.00 cut (((op1 (e13) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 40.85/41.00 congruence. % 40.85/41.00 exact (zenon_H8a zenon_H89). % 40.85/41.00 apply zenon_H4a4. apply refl_equal. % 40.85/41.00 apply zenon_H4a4. apply refl_equal. % 40.85/41.00 cut (((op2 (e21) (e21)) = (h2 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H472]. % 40.85/41.00 cut (((op2 (op2 (e21) (e21)) (e21)) = (h2 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H4a6]. % 40.85/41.00 congruence. % 40.85/41.00 apply zenon_H4a6. apply sym_equal. exact zenon_H231. % 40.85/41.00 apply zenon_H472. apply sym_equal. exact zenon_H13. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H49f); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H4a7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1b9); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1bd ]. % 40.85/41.00 apply (zenon_L94_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1bd); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1be ]. % 40.85/41.00 apply (zenon_L168_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1be); [ zenon_intro zenon_H1b3 | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_L96_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H4a7); [ zenon_intro zenon_H2fa | zenon_intro zenon_H4a8 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.85/41.00 apply (zenon_L41_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.85/41.00 apply (zenon_L48_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H41 | zenon_intro zenon_H296 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H79); [ zenon_intro zenon_H19 | zenon_intro zenon_H7a ]. % 40.85/41.00 apply (zenon_L2_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7a); [ zenon_intro zenon_H2a | zenon_intro zenon_H7b ]. % 40.85/41.00 apply (zenon_L10_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H7b); [ zenon_intro zenon_H5a | zenon_intro zenon_H72 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6f); [ zenon_intro zenon_H40 | zenon_intro zenon_H70 ]. % 40.85/41.00 apply (zenon_L11_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H70); [ zenon_intro zenon_H57 | zenon_intro zenon_H71 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H5e | zenon_intro zenon_H6d ]. % 40.85/41.00 apply (zenon_L18_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ]. % 40.85/41.00 apply (zenon_L116_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H65 | zenon_intro zenon_H69 ]. % 40.85/41.00 apply (zenon_L21_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1c9 ]. % 40.85/41.00 apply (zenon_L58_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H190 | zenon_intro zenon_H1ca ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.85/41.00 apply (zenon_L176_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.85/41.00 apply (zenon_L105_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.85/41.00 apply (zenon_L106_); trivial. % 40.85/41.00 apply (zenon_L86_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H125 | zenon_intro zenon_H1a0 ]. % 40.85/41.00 apply (zenon_L67_); trivial. % 40.85/41.00 apply (zenon_L92_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H5b | zenon_intro zenon_H68 ]. % 40.85/41.00 apply (zenon_L17_); trivial. % 40.85/41.00 apply (zenon_L83_); trivial. % 40.85/41.00 apply (zenon_L25_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H45 | zenon_intro zenon_H299 ]. % 40.85/41.00 apply (zenon_L26_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H7d | zenon_intro zenon_H88 ]. % 40.85/41.00 apply (zenon_L27_); trivial. % 40.85/41.00 apply (zenon_L31_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.85/41.00 apply (zenon_L51_); trivial. % 40.85/41.00 apply (zenon_L177_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H4a8); [ zenon_intro zenon_H30c | zenon_intro zenon_H4a9 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H44a); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H45e ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H8f | zenon_intro zenon_Hef ]. % 40.85/41.00 apply (zenon_L32_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hef); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf0 ]. % 40.85/41.00 apply (zenon_L40_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_Hcf | zenon_intro zenon_He7 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hb5 | zenon_intro zenon_He5 ]. % 40.85/41.00 apply (zenon_L41_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hcc | zenon_intro zenon_He6 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hd3 | zenon_intro zenon_He2 ]. % 40.85/41.00 apply (zenon_L48_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hd7 | zenon_intro zenon_He3 ]. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1f3 ]. % 40.85/41.00 apply (zenon_L181_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f3); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f4 ]. % 40.85/41.00 apply (zenon_L105_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H18a ]. % 40.85/41.00 apply (zenon_L106_); trivial. % 40.85/41.00 apply (zenon_L86_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ]. % 40.85/41.00 apply (zenon_L51_); trivial. % 40.85/41.00 apply (zenon_L180_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hdd ]. % 40.85/41.00 apply (zenon_L47_); trivial. % 40.85/41.00 apply (zenon_L99_); trivial. % 40.85/41.00 apply (zenon_L55_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H45e); [ zenon_intro zenon_Hba | zenon_intro zenon_H469 ]. % 40.85/41.00 apply (zenon_L56_); trivial. % 40.85/41.00 apply (zenon_or_s _ _ zenon_H469); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hfd ]. % 40.85/41.00 apply (zenon_L57_); trivial. % 40.85/41.00 apply (zenon_L61_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H4a9); [ zenon_intro zenon_H4ab | zenon_intro zenon_H4aa ]. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4ab). zenon_intro zenon_H12. zenon_intro zenon_H4ac. % 40.85/41.00 apply (zenon_L1_); trivial. % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H4aa); [ zenon_intro zenon_H4ae | zenon_intro zenon_H4ad ]. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4ae). zenon_intro zenon_H4b0. zenon_intro zenon_H4af. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4af). zenon_intro zenon_H285. zenon_intro zenon_H4b1. % 40.85/41.00 exact (zenon_H285 zenon_H234). % 40.85/41.00 apply (zenon_notand_s _ _ zenon_H4ad); [ zenon_intro zenon_H4b3 | zenon_intro zenon_H4b2 ]. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4b3). zenon_intro zenon_H4b5. zenon_intro zenon_H4b4. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4b4). zenon_intro zenon_H4b7. zenon_intro zenon_H4b6. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4b6). zenon_intro zenon_H103. zenon_intro zenon_H4b8. % 40.85/41.00 apply (zenon_L62_); trivial. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4b2). zenon_intro zenon_H4ba. zenon_intro zenon_H4b9. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4b9). zenon_intro zenon_H4bc. zenon_intro zenon_H4bb. % 40.85/41.00 apply (zenon_notor_s _ _ zenon_H4bb). zenon_intro zenon_H4bd. zenon_intro zenon_H230. % 40.85/41.00 apply (zenon_L121_); trivial. % 40.85/41.00 Qed. % 40.85/41.00 % SZS output end Proof % 40.85/41.00 (* END-PROOF *) % 40.85/41.00 nodes searched: 2099471 % 40.85/41.00 max branch formulas: 1977 % 40.85/41.00 proof nodes created: 21256 % 40.85/41.00 formulas created: 1060701 % 40.85/41.00 %------------------------------------------------------------------------------