%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG110+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n032.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:27 EDT 2022 % Result : Theorem 29.61s 29.84s % Output : Proof 29.69s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.06/0.10 % Problem : ALG110+1 : TPTP v8.1.0. Released v2.7.0. % 0.06/0.11 % Command : run_zenon %s %d % 0.11/0.30 % Computer : n032.cluster.edu % 0.11/0.30 % Model : x86_64 x86_64 % 0.11/0.30 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.11/0.30 % Memory : 8042.1875MB % 0.11/0.30 % OS : Linux 3.10.0-693.el7.x86_64 % 0.11/0.30 % CPULimit : 300 % 0.11/0.30 % WCLimit : 600 % 0.11/0.30 % DateTime : Wed Jun 8 12:22:51 EDT 2022 % 0.11/0.30 % CPUTime : % 29.61/29.84 (* PROOF-FOUND *) % 29.61/29.84 % SZS status Theorem % 29.61/29.84 (* BEGIN-PROOF *) % 29.61/29.84 % SZS output start Proof % 29.61/29.84 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))))))))))))))))))))))))))). % 29.61/29.84 Proof. % 29.61/29.84 assert (zenon_L1_ : (((op2 (e20) (e20)) = (e20))/\(~((op2 (e20) (e20)) = (e20)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H12. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H12). zenon_intro zenon_H14. zenon_intro zenon_H13. % 29.61/29.84 exact (zenon_H13 zenon_H14). % 29.61/29.84 (* end of lemma zenon_L1_ *) % 29.61/29.84 assert (zenon_L2_ : (((op2 (e20) (e21)) = (e20))/\(~((op2 (e21) (e20)) = (e21)))) -> (~((op2 (e20) (e21)) = (e20))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H15 zenon_H16. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H15). zenon_intro zenon_H18. zenon_intro zenon_H17. % 29.61/29.84 exact (zenon_H16 zenon_H18). % 29.61/29.84 (* end of lemma zenon_L2_ *) % 29.61/29.84 assert (zenon_L3_ : (((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H19. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H19). zenon_intro zenon_H1b. zenon_intro zenon_H1a. % 29.61/29.84 exact (zenon_H1a zenon_H1b). % 29.61/29.84 (* end of lemma zenon_L3_ *) % 29.61/29.84 assert (zenon_L4_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H1c zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 29.61/29.84 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H1e. apply sym_equal. exact zenon_H1d. % 29.61/29.84 apply zenon_H1e. apply sym_equal. exact zenon_H1d. % 29.61/29.84 (* end of lemma zenon_L4_ *) % 29.61/29.84 assert (zenon_L5_ : (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e23)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H1f zenon_H20 zenon_H21 zenon_H1d. % 29.61/29.84 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H1f. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H20. % 29.61/29.84 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.61/29.84 cut (((e20) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H23 | zenon_intro zenon_H24 ]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e20) = (op2 (e20) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H22. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H23. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H25]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H25 zenon_H21). % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 apply (zenon_L4_); trivial. % 29.61/29.84 (* end of lemma zenon_L5_ *) % 29.61/29.84 assert (zenon_L6_ : (((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H26 zenon_H1d zenon_H20 zenon_H1f. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H26). zenon_intro zenon_H21. zenon_intro zenon_H27. % 29.61/29.84 apply (zenon_L5_); trivial. % 29.61/29.84 (* end of lemma zenon_L6_ *) % 29.61/29.84 assert (zenon_L7_ : (~((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H28 zenon_H1d zenon_H20. % 29.61/29.84 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 29.61/29.84 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H29. apply sym_equal. exact zenon_H20. % 29.61/29.84 apply zenon_H1e. apply sym_equal. exact zenon_H1d. % 29.61/29.84 (* end of lemma zenon_L7_ *) % 29.61/29.84 assert (zenon_L8_ : ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e21) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H2a zenon_H2b zenon_H1d zenon_H20 zenon_H2c. % 29.61/29.84 elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ]. % 29.61/29.84 cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H2c. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H2d. % 29.61/29.84 cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 29.61/29.84 cut (((op2 (e21) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H2f]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e21) (e23)) = (op2 (e20) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H2f. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H2a. % 29.61/29.84 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 29.61/29.84 cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H30]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ]. % 29.61/29.84 cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e21) = (op2 (e21) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H30. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H2d. % 29.61/29.84 cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 29.61/29.84 cut (((op2 (e21) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H31]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H31 zenon_H2b). % 29.61/29.84 apply zenon_H2e. apply refl_equal. % 29.61/29.84 apply zenon_H2e. apply refl_equal. % 29.61/29.84 apply (zenon_L7_); trivial. % 29.61/29.84 apply zenon_H2e. apply refl_equal. % 29.61/29.84 apply zenon_H2e. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L8_ *) % 29.61/29.84 assert (zenon_L9_ : (((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H32 zenon_H1d zenon_H20 zenon_H2a zenon_H2c. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H32). zenon_intro zenon_H2b. zenon_intro zenon_H33. % 29.61/29.84 apply (zenon_L8_); trivial. % 29.61/29.84 (* end of lemma zenon_L9_ *) % 29.61/29.84 assert (zenon_L10_ : (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> ((op2 (e22) (e23)) = (e22)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H34 zenon_H35 zenon_H36. % 29.61/29.84 cut (((op2 (e22) (e21)) = (e22)) = ((op2 (e22) (e21)) = (op2 (e22) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H34. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H35. % 29.61/29.84 cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 29.61/29.84 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H38. apply refl_equal. % 29.61/29.84 apply zenon_H37. apply sym_equal. exact zenon_H36. % 29.61/29.84 (* end of lemma zenon_L10_ *) % 29.61/29.84 assert (zenon_L11_ : (((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H39 zenon_H35 zenon_H34. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.61/29.84 apply (zenon_L10_); trivial. % 29.61/29.84 (* end of lemma zenon_L11_ *) % 29.61/29.84 assert (zenon_L12_ : (((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H3b. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H3b). zenon_intro zenon_H3d. zenon_intro zenon_H3c. % 29.61/29.84 exact (zenon_H3c zenon_H3d). % 29.61/29.84 (* end of lemma zenon_L12_ *) % 29.61/29.84 assert (zenon_L13_ : ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e21)) = (e22)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H3e zenon_H1f zenon_H2c zenon_H2a zenon_H20 zenon_H1d zenon_H34 zenon_H35. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.61/29.84 apply (zenon_L6_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.61/29.84 apply (zenon_L9_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.61/29.84 apply (zenon_L11_); trivial. % 29.61/29.84 apply (zenon_L12_); trivial. % 29.61/29.84 (* end of lemma zenon_L13_ *) % 29.61/29.84 assert (zenon_L14_ : (((op2 (e22) (e21)) = (e22))/\(~((op2 (e21) (e22)) = (e21)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H41 zenon_H1d zenon_H20 zenon_H1f zenon_H2a zenon_H2c zenon_H34 zenon_H3e. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H41). zenon_intro zenon_H35. zenon_intro zenon_H42. % 29.61/29.84 apply (zenon_L13_); trivial. % 29.61/29.84 (* end of lemma zenon_L14_ *) % 29.61/29.84 assert (zenon_L15_ : (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((op1 (e10) (e11)) = (e10)) -> ((op1 (e10) (e12)) = (e10)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H43 zenon_H44 zenon_H45. % 29.61/29.84 cut (((op1 (e10) (e11)) = (e10)) = ((op1 (e10) (e11)) = (op1 (e10) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H43. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H44. % 29.61/29.84 cut (((e10) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H46]. % 29.61/29.84 cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H47. apply refl_equal. % 29.61/29.84 apply zenon_H46. apply sym_equal. exact zenon_H45. % 29.61/29.84 (* end of lemma zenon_L15_ *) % 29.61/29.84 assert (zenon_L16_ : (~((e11) = (e11))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H48. % 29.61/29.84 apply zenon_H48. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L16_ *) % 29.61/29.84 assert (zenon_L17_ : (~((e10) = (e11))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e11) (e12)) = (e10)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H49 zenon_H4a zenon_H4b. % 29.61/29.84 cut (((op1 (e11) (e12)) = (e11)) = ((e10) = (e11))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H49. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H4a. % 29.61/29.84 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 29.61/29.84 cut (((op1 (e11) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H4c zenon_H4b). % 29.61/29.84 apply zenon_H48. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L17_ *) % 29.61/29.84 assert (zenon_L18_ : (~((e13) = (e13))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H4d. % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L18_ *) % 29.61/29.84 assert (zenon_L19_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e13))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H4e zenon_H4f zenon_H50. % 29.61/29.84 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H51 | zenon_intro zenon_H4d ]. % 29.61/29.84 cut (((e13) = (e13)) = ((e10) = (e13))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H50. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H51. % 29.61/29.84 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.61/29.84 cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H52]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e13) = (op1 (e12) (e12))) = ((e13) = (e10))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H52. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H4e. % 29.61/29.84 cut (((op1 (e12) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H53]. % 29.61/29.84 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 exact (zenon_H53 zenon_H4f). % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L19_ *) % 29.61/29.84 assert (zenon_L20_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H54 zenon_H4e. % 29.61/29.84 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 29.61/29.84 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H55. apply sym_equal. exact zenon_H4e. % 29.61/29.84 apply zenon_H55. apply sym_equal. exact zenon_H4e. % 29.61/29.84 (* end of lemma zenon_L20_ *) % 29.61/29.84 assert (zenon_L21_ : (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H56 zenon_H57 zenon_H58 zenon_H4e. % 29.61/29.84 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e12)) = (op1 (e13) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H56. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H57. % 29.61/29.84 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.61/29.84 cut (((e10) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H59]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e10) = (op1 (e13) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H59. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H5a. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H5c zenon_H58). % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 apply (zenon_L20_); trivial. % 29.61/29.84 (* end of lemma zenon_L21_ *) % 29.61/29.84 assert (zenon_L22_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((op1 (e11) (e12)) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e13))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H5d zenon_H44 zenon_H43 zenon_H4a zenon_H49 zenon_H50 zenon_H56 zenon_H57 zenon_H4e. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H5d); [ zenon_intro zenon_H45 | zenon_intro zenon_H5e ]. % 29.61/29.84 apply (zenon_L15_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H5e); [ zenon_intro zenon_H4b | zenon_intro zenon_H5f ]. % 29.61/29.84 apply (zenon_L17_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H4f | zenon_intro zenon_H58 ]. % 29.61/29.84 apply (zenon_L19_); trivial. % 29.61/29.84 apply (zenon_L21_); trivial. % 29.61/29.84 (* end of lemma zenon_L22_ *) % 29.61/29.84 assert (zenon_L23_ : (((op1 (e12) (e12)) = (e12))/\(~((op1 (e12) (e12)) = (e12)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H60. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H60). zenon_intro zenon_H62. zenon_intro zenon_H61. % 29.61/29.84 exact (zenon_H61 zenon_H62). % 29.61/29.84 (* end of lemma zenon_L23_ *) % 29.61/29.84 assert (zenon_L24_ : (((op1 (e13) (e12)) = (e13))/\(~((op1 (e12) (e13)) = (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H63 zenon_H4e zenon_H64. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H63). zenon_intro zenon_H66. zenon_intro zenon_H65. % 29.61/29.84 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e12) (e12)) = (op1 (e13) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H64. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H5a. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H67]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e13) = (op1 (e12) (e12))) = ((op1 (e13) (e12)) = (op1 (e12) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H67. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H4e. % 29.61/29.84 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 29.61/29.84 cut (((e13) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H69]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H5a | zenon_intro zenon_H5b ]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e13) = (op1 (e13) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H69. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H5a. % 29.61/29.84 cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 29.61/29.84 cut (((op1 (e13) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H6a zenon_H66). % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 apply zenon_H68. apply refl_equal. % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 apply zenon_H5b. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L24_ *) % 29.61/29.84 assert (zenon_L25_ : (((op1 (e10) (e11)) = (e10))/\(~((op1 (e11) (e10)) = (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((e10) = (e11))) -> (~((e10) = (e13))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((((op1 (e10) (e12)) = (e10))/\(~((op1 (e12) (e10)) = (e12))))\/((((op1 (e11) (e12)) = (e11))/\(~((op1 (e12) (e11)) = (e12))))\/((((op1 (e12) (e12)) = (e12))/\(~((op1 (e12) (e12)) = (e12))))\/(((op1 (e13) (e12)) = (e13))/\(~((op1 (e12) (e13)) = (e12))))))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H6b zenon_H43 zenon_H49 zenon_H50 zenon_H4e zenon_H56 zenon_H57 zenon_H5d zenon_H64 zenon_H6c. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H6b). zenon_intro zenon_H44. zenon_intro zenon_H6d. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.61/29.84 apply (zenon_L15_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H72). zenon_intro zenon_H4a. zenon_intro zenon_H73. % 29.61/29.84 apply (zenon_L22_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.61/29.84 apply (zenon_L23_); trivial. % 29.61/29.84 apply (zenon_L24_); trivial. % 29.61/29.84 (* end of lemma zenon_L25_ *) % 29.61/29.84 assert (zenon_L26_ : (((op1 (e11) (e11)) = (e11))/\(~((op1 (e11) (e11)) = (e11)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H74. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H75. % 29.61/29.84 exact (zenon_H75 zenon_H76). % 29.61/29.84 (* end of lemma zenon_L26_ *) % 29.61/29.84 assert (zenon_L27_ : (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e10) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H77 zenon_H57 zenon_H78 zenon_H4e. % 29.61/29.84 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H77. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H57. % 29.61/29.84 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.61/29.84 cut (((e10) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H79]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H7a | zenon_intro zenon_H7b ]. % 29.61/29.84 cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e10) = (op1 (e10) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H79. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H7a. % 29.61/29.84 cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7b]. % 29.61/29.84 cut (((op1 (e10) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H7c zenon_H78). % 29.61/29.84 apply zenon_H7b. apply refl_equal. % 29.61/29.84 apply zenon_H7b. apply refl_equal. % 29.61/29.84 apply (zenon_L20_); trivial. % 29.61/29.84 (* end of lemma zenon_L27_ *) % 29.61/29.84 assert (zenon_L28_ : (((op1 (e10) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H7d zenon_H4e zenon_H57 zenon_H77. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H7d). zenon_intro zenon_H78. zenon_intro zenon_H7e. % 29.61/29.84 apply (zenon_L27_); trivial. % 29.61/29.84 (* end of lemma zenon_L28_ *) % 29.61/29.84 assert (zenon_L29_ : (~((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H7f zenon_H4e zenon_H57. % 29.61/29.84 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 29.61/29.84 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H80]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H80. apply sym_equal. exact zenon_H57. % 29.61/29.84 apply zenon_H55. apply sym_equal. exact zenon_H4e. % 29.61/29.84 (* end of lemma zenon_L29_ *) % 29.61/29.84 assert (zenon_L30_ : ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((op1 (e11) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H81 zenon_H82 zenon_H4e zenon_H57 zenon_H83. % 29.61/29.84 elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ]. % 29.61/29.84 cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H83. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H84. % 29.61/29.84 cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 29.61/29.84 cut (((op1 (e11) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e11) (e13)) = (op1 (e10) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H86. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H81. % 29.61/29.84 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 29.61/29.84 cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ]. % 29.61/29.84 cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e11) = (op1 (e11) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H87. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H84. % 29.61/29.84 cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 29.61/29.84 cut (((op1 (e11) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H88 zenon_H82). % 29.61/29.84 apply zenon_H85. apply refl_equal. % 29.61/29.84 apply zenon_H85. apply refl_equal. % 29.61/29.84 apply (zenon_L29_); trivial. % 29.61/29.84 apply zenon_H85. apply refl_equal. % 29.61/29.84 apply zenon_H85. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L30_ *) % 29.61/29.84 assert (zenon_L31_ : (((op1 (e11) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H89 zenon_H4e zenon_H57 zenon_H81 zenon_H83. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H89). zenon_intro zenon_H82. zenon_intro zenon_H8a. % 29.61/29.84 apply (zenon_L30_); trivial. % 29.61/29.84 (* end of lemma zenon_L31_ *) % 29.61/29.84 assert (zenon_L32_ : (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e12) (e13)) = (e12)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H8b zenon_H8c zenon_H8d. % 29.61/29.84 cut (((op1 (e12) (e11)) = (e12)) = ((op1 (e12) (e11)) = (op1 (e12) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H8b. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H8c. % 29.61/29.84 cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 29.61/29.84 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H8f. apply refl_equal. % 29.61/29.84 apply zenon_H8e. apply sym_equal. exact zenon_H8d. % 29.61/29.84 (* end of lemma zenon_L32_ *) % 29.61/29.84 assert (zenon_L33_ : (((op1 (e12) (e13)) = (e12))/\(~((op1 (e13) (e12)) = (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H90 zenon_H8c zenon_H8b. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H90). zenon_intro zenon_H8d. zenon_intro zenon_H6a. % 29.61/29.84 apply (zenon_L32_); trivial. % 29.61/29.84 (* end of lemma zenon_L33_ *) % 29.61/29.84 assert (zenon_L34_ : (((op1 (e13) (e13)) = (e13))/\(~((op1 (e13) (e13)) = (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H91. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H91). zenon_intro zenon_H93. zenon_intro zenon_H92. % 29.61/29.84 exact (zenon_H92 zenon_H93). % 29.61/29.84 (* end of lemma zenon_L34_ *) % 29.61/29.84 assert (zenon_L35_ : ((((op1 (e10) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13))))\/((((op1 (e11) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13))))\/((((op1 (e12) (e13)) = (e12))/\(~((op1 (e13) (e12)) = (e13))))\/(((op1 (e13) (e13)) = (e13))/\(~((op1 (e13) (e13)) = (e13))))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((op1 (e12) (e11)) = (e12)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H94 zenon_H77 zenon_H83 zenon_H81 zenon_H57 zenon_H4e zenon_H8b zenon_H8c. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H7d | zenon_intro zenon_H95 ]. % 29.61/29.84 apply (zenon_L28_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H89 | zenon_intro zenon_H96 ]. % 29.61/29.84 apply (zenon_L31_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H96); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ]. % 29.61/29.84 apply (zenon_L33_); trivial. % 29.61/29.84 apply (zenon_L34_); trivial. % 29.61/29.84 (* end of lemma zenon_L35_ *) % 29.61/29.84 assert (zenon_L36_ : (((op1 (e12) (e11)) = (e12))/\(~((op1 (e11) (e12)) = (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((((op1 (e10) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13))))\/((((op1 (e11) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13))))\/((((op1 (e12) (e13)) = (e12))/\(~((op1 (e13) (e12)) = (e13))))\/(((op1 (e13) (e13)) = (e13))/\(~((op1 (e13) (e13)) = (e13))))))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H97 zenon_H4e zenon_H57 zenon_H77 zenon_H81 zenon_H83 zenon_H8b zenon_H94. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H97). zenon_intro zenon_H8c. zenon_intro zenon_H98. % 29.61/29.84 apply (zenon_L35_); trivial. % 29.61/29.84 (* end of lemma zenon_L36_ *) % 29.61/29.84 assert (zenon_L37_ : (~((h3 (e10)) = (e20))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H99 zenon_H9a zenon_H20. % 29.61/29.84 cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (e10)) = (e20))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H99. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H9a. % 29.61/29.84 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 29.61/29.84 cut (((h3 (e10)) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H9b. apply refl_equal. % 29.61/29.84 apply zenon_H29. apply sym_equal. exact zenon_H20. % 29.61/29.84 (* end of lemma zenon_L37_ *) % 29.61/29.84 assert (zenon_L38_ : ((op1 (e13) (e11)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H9c zenon_H9d zenon_H9e. % 29.61/29.84 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H9f | zenon_intro zenon_Ha0 ]. % 29.61/29.84 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e10) (e11)) = (op1 (e13) (e11)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H9e. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H9f. % 29.61/29.84 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 29.61/29.84 cut (((op1 (e13) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op1 (e13) (e11)) = (e13)) = ((op1 (e13) (e11)) = (op1 (e10) (e11)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Ha1. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H9c. % 29.61/29.84 cut (((e13) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 29.61/29.84 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_Ha0. apply refl_equal. % 29.61/29.84 apply zenon_Ha2. apply sym_equal. exact zenon_H9d. % 29.61/29.84 apply zenon_Ha0. apply refl_equal. % 29.61/29.84 apply zenon_Ha0. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L38_ *) % 29.61/29.84 assert (zenon_L39_ : (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e12)) = (e13)) -> False). % 29.61/29.84 do 0 intro. intros zenon_Ha3 zenon_H4e zenon_Ha4. % 29.61/29.84 cut (((e13) = (op1 (e12) (e12))) = ((op1 (e10) (e12)) = (op1 (e12) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Ha3. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H4e. % 29.61/29.84 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 29.61/29.84 cut (((e13) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ]. % 29.61/29.84 cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((e13) = (op1 (e10) (e12)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Ha5. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Ha6. % 29.61/29.84 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 29.61/29.84 cut (((op1 (e10) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Ha8 zenon_Ha4). % 29.61/29.84 apply zenon_Ha7. apply refl_equal. % 29.61/29.84 apply zenon_Ha7. apply refl_equal. % 29.61/29.84 apply zenon_H68. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L39_ *) % 29.61/29.84 assert (zenon_L40_ : ((op1 (e10) (e13)) = (e11)) -> ((op1 (e10) (e13)) = (e13)) -> (~((e11) = (e13))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Ha9 zenon_Haa zenon_Hab. % 29.61/29.84 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H51 | zenon_intro zenon_H4d ]. % 29.61/29.84 cut (((e13) = (e13)) = ((e11) = (e13))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hab. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H51. % 29.61/29.84 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.61/29.84 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op1 (e10) (e13)) = (e11)) = ((e13) = (e11))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hac. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Ha9. % 29.61/29.84 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 29.61/29.84 cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Had zenon_Haa). % 29.61/29.84 apply zenon_H48. apply refl_equal. % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 apply zenon_H4d. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L40_ *) % 29.61/29.84 assert (zenon_L41_ : ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((op1 (e12) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H81 zenon_Hae zenon_H4e zenon_H57 zenon_Haf. % 29.61/29.84 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Hb1 ]. % 29.61/29.84 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Haf. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hb0. % 29.61/29.84 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 29.61/29.84 cut (((op1 (e12) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb2]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e12) (e13)) = (op1 (e10) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hb2. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H81. % 29.61/29.84 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 29.61/29.84 cut (((e11) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Hb1 ]. % 29.61/29.84 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e11) = (op1 (e12) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hb3. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hb0. % 29.61/29.84 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 29.61/29.84 cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hb4 zenon_Hae). % 29.61/29.84 apply zenon_Hb1. apply refl_equal. % 29.61/29.84 apply zenon_Hb1. apply refl_equal. % 29.61/29.84 apply (zenon_L29_); trivial. % 29.61/29.84 apply zenon_Hb1. apply refl_equal. % 29.61/29.84 apply zenon_Hb1. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L41_ *) % 29.61/29.84 assert (zenon_L42_ : ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((op1 (e13) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H81 zenon_Hb5 zenon_H4e zenon_H57 zenon_H77. % 29.61/29.84 elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 29.61/29.84 cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H77. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hb6. % 29.61/29.84 cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 29.61/29.84 cut (((op1 (e13) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e13) (e13)) = (op1 (e10) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hb8. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H81. % 29.61/29.84 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 29.61/29.84 cut (((e11) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb9]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 29.61/29.84 cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e11) = (op1 (e13) (e13)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hb9. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hb6. % 29.61/29.84 cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 29.61/29.84 cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hba]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hba zenon_Hb5). % 29.61/29.84 apply zenon_Hb7. apply refl_equal. % 29.61/29.84 apply zenon_Hb7. apply refl_equal. % 29.61/29.84 apply (zenon_L29_); trivial. % 29.61/29.84 apply zenon_Hb7. apply refl_equal. % 29.61/29.84 apply zenon_Hb7. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L42_ *) % 29.61/29.84 assert (zenon_L43_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e13))) -> ((op1 (e10) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hbb zenon_Hab zenon_Haa zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.61/29.84 apply (zenon_L40_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.61/29.84 exact (zenon_H88 zenon_H82). % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.61/29.84 apply (zenon_L41_); trivial. % 29.61/29.84 apply (zenon_L42_); trivial. % 29.61/29.84 (* end of lemma zenon_L43_ *) % 29.61/29.84 assert (zenon_L44_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e20)) = (e23)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((h3 (op1 (e10) (e10))) = (op2 (h3 (e10)) (h3 (e10))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e13))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hbe zenon_H20 zenon_H9a zenon_H1d zenon_Hbf zenon_Hc0 zenon_Hc1 zenon_H9e zenon_H9c zenon_Ha3 zenon_Hbb zenon_Hab zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc2 ]. % 29.61/29.84 cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e10) (e10))) = (op2 (h3 (e10)) (h3 (e10))))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hc1. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hc0. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 29.61/29.84 cut (((h3 (e13)) = (h3 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hc5]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10))))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 29.61/29.84 cut (((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10)))) = ((h3 (e13)) = (h3 (op1 (e10) (e10))))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hc5. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hc6. % 29.61/29.84 cut (((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 29.61/29.84 cut (((h3 (op1 (e10) (e10))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hc8]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op1 (e10) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hc9 zenon_Hc3). % 29.61/29.84 apply zenon_Hc7. apply refl_equal. % 29.61/29.84 apply zenon_Hc7. apply refl_equal. % 29.61/29.84 elim (classic ((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ]. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10)))) = ((op2 (e22) (e22)) = (op2 (h3 (e10)) (h3 (e10))))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hc4. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hca. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op2 (e20) (e20)) = (e23)) = ((op2 (h3 (e10)) (h3 (e10))) = (op2 (e22) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hcc. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hbf. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hce]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ]. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10)))) = ((op2 (e20) (e20)) = (op2 (h3 (e10)) (h3 (e10))))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hce. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hca. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 29.61/29.84 cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.61/29.84 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.61/29.84 congruence. % 29.61/29.84 apply (zenon_L37_); trivial. % 29.61/29.84 apply (zenon_L37_); trivial. % 29.61/29.84 apply zenon_Hcb. apply refl_equal. % 29.61/29.84 apply zenon_Hcb. apply refl_equal. % 29.61/29.84 exact (zenon_Hcd zenon_H1d). % 29.61/29.84 apply zenon_Hcb. apply refl_equal. % 29.61/29.84 apply zenon_Hcb. apply refl_equal. % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hd0 ]. % 29.61/29.84 apply (zenon_L38_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_Hd0); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Haa ]. % 29.61/29.84 apply (zenon_L39_); trivial. % 29.61/29.84 apply (zenon_L43_); trivial. % 29.61/29.84 (* end of lemma zenon_L44_ *) % 29.61/29.84 assert (zenon_L45_ : ((op2 (e23) (e21)) = (e23)) -> ((op2 (e20) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hd1 zenon_Hd2 zenon_Hd3. % 29.61/29.84 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ]. % 29.61/29.84 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e20) (e21)) = (op2 (e23) (e21)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hd3. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hd4. % 29.61/29.84 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 29.61/29.84 cut (((op2 (e23) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op2 (e23) (e21)) = (e23)) = ((op2 (e23) (e21)) = (op2 (e20) (e21)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hd6. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hd1. % 29.61/29.84 cut (((e23) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 29.61/29.84 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_Hd5. apply refl_equal. % 29.61/29.84 apply zenon_Hd7. apply sym_equal. exact zenon_Hd2. % 29.61/29.84 apply zenon_Hd5. apply refl_equal. % 29.61/29.84 apply zenon_Hd5. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L45_ *) % 29.61/29.84 assert (zenon_L46_ : (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e22)) = (e23)) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hd8 zenon_H1d zenon_Hd9. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e20) (e22)) = (op2 (e22) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hd8. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 29.61/29.84 cut (((e23) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hdb]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_Hdc | zenon_intro zenon_Hdd ]. % 29.61/29.84 cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((e23) = (op2 (e20) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hdb. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hdc. % 29.61/29.84 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 29.61/29.84 cut (((op2 (e20) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hde]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hde zenon_Hd9). % 29.61/29.84 apply zenon_Hdd. apply refl_equal. % 29.61/29.84 apply zenon_Hdd. apply refl_equal. % 29.61/29.84 apply zenon_Hda. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L46_ *) % 29.61/29.84 assert (zenon_L47_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e20)) = (e23)) -> (~((op2 (e22) (e22)) = (op2 (e20) (e20)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H1d zenon_Hbf zenon_Hdf. % 29.61/29.84 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ]. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((op2 (e22) (e22)) = (op2 (e20) (e20)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hdf. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_He0. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He2]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e20) (e20)) = (op2 (e22) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_He2. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 29.61/29.84 cut (((e23) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He3]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e20) (e20)) = (op2 (e20) (e20)))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ]. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (e20) (e20))) = ((e23) = (op2 (e20) (e20)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_He3. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_He0. % 29.61/29.84 cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 29.61/29.84 cut (((op2 (e20) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_He4 zenon_Hbf). % 29.61/29.84 apply zenon_He1. apply refl_equal. % 29.61/29.84 apply zenon_He1. apply refl_equal. % 29.61/29.84 apply zenon_Hda. apply refl_equal. % 29.61/29.84 apply zenon_He1. apply refl_equal. % 29.61/29.84 apply zenon_He1. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L47_ *) % 29.61/29.84 assert (zenon_L48_ : ((op2 (e20) (e23)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e20)) = (e23)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_He5 zenon_H1d zenon_Hbf zenon_He6. % 29.61/29.84 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H23 | zenon_intro zenon_H24 ]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((op2 (e20) (e20)) = (op2 (e20) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_He6. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H23. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He7]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e20) (e23)) = (op2 (e20) (e20)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_He7. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 29.61/29.84 cut (((e23) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H23 | zenon_intro zenon_H24 ]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e23) = (op2 (e20) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_He8. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H23. % 29.61/29.84 cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H24]. % 29.61/29.84 cut (((op2 (e20) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_He9 zenon_He5). % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 apply (zenon_L47_); trivial. % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 apply zenon_H24. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L48_ *) % 29.61/29.84 assert (zenon_L49_ : (~((e21) = (e21))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hea. % 29.61/29.84 apply zenon_Hea. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L49_ *) % 29.61/29.84 assert (zenon_L50_ : ((op2 (e21) (e20)) = (e21)) -> ((op2 (e21) (e20)) = (e23)) -> (~((e21) = (e23))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Heb zenon_Hec zenon_Hed. % 29.61/29.84 elim (classic ((e23) = (e23))); [ zenon_intro zenon_Hee | zenon_intro zenon_Hef ]. % 29.61/29.84 cut (((e23) = (e23)) = ((e21) = (e23))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hed. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hee. % 29.61/29.84 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.61/29.84 cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((op2 (e21) (e20)) = (e21)) = ((e23) = (e21))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hf0. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Heb. % 29.61/29.84 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 29.61/29.84 cut (((op2 (e21) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hf1]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hf1 zenon_Hec). % 29.61/29.84 apply zenon_Hea. apply refl_equal. % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L50_ *) % 29.61/29.84 assert (zenon_L51_ : (~((op2 (e22) (e20)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e20)) = (e23)) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hf2 zenon_H1d zenon_Hf3. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e22) (e20)) = (op2 (e22) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hf2. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 29.61/29.84 cut (((e23) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hf6 ]. % 29.61/29.84 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e23) = (op2 (e22) (e20)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hf4. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hf5. % 29.61/29.84 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 29.61/29.84 cut (((op2 (e22) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hf7]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hf7 zenon_Hf3). % 29.61/29.84 apply zenon_Hf6. apply refl_equal. % 29.61/29.84 apply zenon_Hf6. apply refl_equal. % 29.61/29.84 apply zenon_Hda. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L51_ *) % 29.61/29.84 assert (zenon_L52_ : (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((op2 (e20) (e21)) = (e20)) -> ((op2 (e20) (e22)) = (e20)) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hf8 zenon_H18 zenon_Hf9. % 29.61/29.84 cut (((op2 (e20) (e21)) = (e20)) = ((op2 (e20) (e21)) = (op2 (e20) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hf8. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H18. % 29.61/29.84 cut (((e20) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hfa]. % 29.61/29.84 cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_Hfb. apply refl_equal. % 29.61/29.84 apply zenon_Hfa. apply sym_equal. exact zenon_Hf9. % 29.61/29.84 (* end of lemma zenon_L52_ *) % 29.61/29.84 assert (zenon_L53_ : (~((e20) = (e21))) -> ((op2 (e21) (e22)) = (e21)) -> ((op2 (e21) (e22)) = (e20)) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hfc zenon_Hfd zenon_Hfe. % 29.61/29.84 cut (((op2 (e21) (e22)) = (e21)) = ((e20) = (e21))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_Hfc. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hfd. % 29.61/29.84 cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 29.61/29.84 cut (((op2 (e21) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hff]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_Hff zenon_Hfe). % 29.61/29.84 apply zenon_Hea. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L53_ *) % 29.61/29.84 assert (zenon_L54_ : (~((e23) = (e23))) -> False). % 29.61/29.84 do 0 intro. intros zenon_Hef. % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L54_ *) % 29.61/29.84 assert (zenon_L55_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e22)) = (e20)) -> (~((e20) = (e23))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H1d zenon_H100 zenon_H101. % 29.61/29.84 elim (classic ((e23) = (e23))); [ zenon_intro zenon_Hee | zenon_intro zenon_Hef ]. % 29.61/29.84 cut (((e23) = (e23)) = ((e20) = (e23))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H101. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_Hee. % 29.61/29.84 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.61/29.84 cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H102]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((e23) = (e20))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H102. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H103]. % 29.61/29.84 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 exact (zenon_H103 zenon_H100). % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 apply zenon_Hef. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L55_ *) % 29.61/29.84 assert (zenon_L56_ : (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H104 zenon_H20 zenon_H105 zenon_H1d. % 29.61/29.84 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e22)) = (op2 (e23) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H104. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H20. % 29.61/29.84 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.61/29.84 cut (((e20) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H106]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e20) = (op2 (e23) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H106. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H107. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H108]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H109]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H109 zenon_H105). % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 apply (zenon_L4_); trivial. % 29.61/29.84 (* end of lemma zenon_L56_ *) % 29.61/29.84 assert (zenon_L57_ : (((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H10a. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H10a). zenon_intro zenon_H10c. zenon_intro zenon_H10b. % 29.61/29.84 exact (zenon_H10b zenon_H10c). % 29.61/29.84 (* end of lemma zenon_L57_ *) % 29.61/29.84 assert (zenon_L58_ : (((op2 (e23) (e22)) = (e23))/\(~((op2 (e22) (e23)) = (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H10d zenon_H1d zenon_H10e. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H10d). zenon_intro zenon_H110. zenon_intro zenon_H10f. % 29.61/29.84 elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((op2 (e22) (e22)) = (op2 (e23) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H10e. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H107. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H108]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H111]. % 29.61/29.84 congruence. % 29.61/29.84 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e23) (e22)) = (op2 (e22) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H111. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H1d. % 29.61/29.84 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 29.61/29.84 cut (((e23) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H112]. % 29.61/29.84 congruence. % 29.61/29.84 elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e23) = (op2 (e23) (e22)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H112. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H107. % 29.61/29.84 cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H108]. % 29.61/29.84 cut (((op2 (e23) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 29.61/29.84 congruence. % 29.61/29.84 exact (zenon_H3a zenon_H110). % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 apply zenon_Hda. apply refl_equal. % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 apply zenon_H108. apply refl_equal. % 29.61/29.84 (* end of lemma zenon_L58_ *) % 29.61/29.84 assert (zenon_L59_ : (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e20)) = (e23)) -> ((op2 (e23) (e21)) = (e23)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H113 zenon_H114 zenon_Hd1. % 29.61/29.84 cut (((op2 (e23) (e20)) = (e23)) = ((op2 (e23) (e20)) = (op2 (e23) (e21)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H113. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H114. % 29.61/29.84 cut (((e23) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H115]. % 29.61/29.84 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 29.61/29.84 congruence. % 29.61/29.84 apply zenon_H116. apply refl_equal. % 29.61/29.84 apply zenon_H115. apply sym_equal. exact zenon_Hd1. % 29.61/29.84 (* end of lemma zenon_L59_ *) % 29.61/29.84 assert (zenon_L60_ : (((op2 (e23) (e21)) = (e23))/\(~((op2 (e21) (e23)) = (e21)))) -> ((op2 (e23) (e20)) = (e23)) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H117 zenon_H114 zenon_H113. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.61/29.84 apply (zenon_L59_); trivial. % 29.61/29.84 (* end of lemma zenon_L60_ *) % 29.61/29.84 assert (zenon_L61_ : ((((op2 (e20) (e21)) = (e20))/\(~((op2 (e21) (e20)) = (e21))))\/((((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21))))\/((((op2 (e22) (e21)) = (e22))/\(~((op2 (e21) (e22)) = (e21))))\/(((op2 (e23) (e21)) = (e23))/\(~((op2 (e21) (e23)) = (e21))))))) -> ((((op2 (e20) (e22)) = (e20))/\(~((op2 (e22) (e20)) = (e22))))\/((((op2 (e21) (e22)) = (e21))/\(~((op2 (e22) (e21)) = (e22))))\/((((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22))))\/(((op2 (e23) (e22)) = (e23))/\(~((op2 (e22) (e23)) = (e22))))))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((e20) = (e23))) -> (~((e20) = (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e23) (e20)) = (e23)) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H118 zenon_H119 zenon_H10e zenon_H11a zenon_H104 zenon_H101 zenon_Hfc zenon_Hf8 zenon_H3e zenon_H34 zenon_H2c zenon_H2a zenon_H1f zenon_H20 zenon_H1d zenon_H114 zenon_H113. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H15). zenon_intro zenon_H18. zenon_intro zenon_H17. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11d | zenon_intro zenon_H11c ]. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_Hf9. zenon_intro zenon_H11e. % 29.61/29.84 apply (zenon_L52_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ]. % 29.61/29.84 apply (zenon_and_s _ _ zenon_H120). zenon_intro zenon_Hfd. zenon_intro zenon_H121. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hf9 | zenon_intro zenon_H122 ]. % 29.61/29.84 apply (zenon_L52_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_Hfe | zenon_intro zenon_H123 ]. % 29.61/29.84 apply (zenon_L53_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H123); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ]. % 29.61/29.84 apply (zenon_L55_); trivial. % 29.61/29.84 apply (zenon_L56_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H11f); [ zenon_intro zenon_H10a | zenon_intro zenon_H10d ]. % 29.61/29.84 apply (zenon_L57_); trivial. % 29.61/29.84 apply (zenon_L58_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.61/29.84 apply (zenon_L3_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.61/29.84 apply (zenon_L14_); trivial. % 29.61/29.84 apply (zenon_L60_); trivial. % 29.61/29.84 (* end of lemma zenon_L61_ *) % 29.61/29.84 assert (zenon_L62_ : (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e20)) = (e23))\/(((op2 (e22) (e20)) = (e23))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e23)) = (e23)) -> (~((e21) = (e23))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e22)))) -> ((((op2 (e20) (e21)) = (e20))/\(~((op2 (e21) (e20)) = (e21))))\/((((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21))))\/((((op2 (e22) (e21)) = (e22))/\(~((op2 (e21) (e22)) = (e21))))\/(((op2 (e23) (e21)) = (e23))/\(~((op2 (e21) (e23)) = (e21))))))) -> ((((op2 (e20) (e22)) = (e20))/\(~((op2 (e22) (e20)) = (e22))))\/((((op2 (e21) (e22)) = (e21))/\(~((op2 (e22) (e21)) = (e22))))\/((((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22))))\/(((op2 (e23) (e22)) = (e23))/\(~((op2 (e22) (e23)) = (e22))))))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((e20) = (e23))) -> (~((e20) = (e21))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> False). % 29.61/29.84 do 0 intro. intros zenon_H125 zenon_He6 zenon_He5 zenon_Hed zenon_Heb zenon_Hf2 zenon_H118 zenon_H119 zenon_H10e zenon_H11a zenon_H104 zenon_H101 zenon_Hfc zenon_Hf8 zenon_H3e zenon_H34 zenon_H2c zenon_H2a zenon_H1f zenon_H20 zenon_H1d zenon_H113. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H125); [ zenon_intro zenon_Hbf | zenon_intro zenon_H126 ]. % 29.61/29.84 apply (zenon_L48_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H126); [ zenon_intro zenon_Hec | zenon_intro zenon_H127 ]. % 29.61/29.84 apply (zenon_L50_); trivial. % 29.61/29.84 apply (zenon_or_s _ _ zenon_H127); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H114 ]. % 29.61/29.84 apply (zenon_L51_); trivial. % 29.61/29.84 apply (zenon_L61_); trivial. % 29.61/29.84 (* end of lemma zenon_L62_ *) % 29.61/29.84 assert (zenon_L63_ : (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e22)) -> ((op2 (e22) (e23)) = (e22)) -> False). % 29.61/29.84 do 0 intro. intros zenon_H128 zenon_H129 zenon_H36. % 29.61/29.84 cut (((op2 (e22) (e20)) = (e22)) = ((op2 (e22) (e20)) = (op2 (e22) (e23)))). % 29.61/29.84 intro zenon_D_pnotp. % 29.61/29.84 apply zenon_H128. % 29.61/29.84 rewrite <- zenon_D_pnotp. % 29.61/29.84 exact zenon_H129. % 29.61/29.84 cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H37]. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_Hf6. apply refl_equal. % 29.61/29.85 apply zenon_H37. apply sym_equal. exact zenon_H36. % 29.61/29.85 (* end of lemma zenon_L63_ *) % 29.61/29.85 assert (zenon_L64_ : (((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23)))) -> ((op2 (e22) (e20)) = (e22)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H39 zenon_H129 zenon_H128. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.61/29.85 apply (zenon_L63_); trivial. % 29.61/29.85 (* end of lemma zenon_L64_ *) % 29.61/29.85 assert (zenon_L65_ : ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e22)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H3e zenon_H1f zenon_H2c zenon_H2a zenon_H20 zenon_H1d zenon_H128 zenon_H129. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.61/29.85 apply (zenon_L6_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.61/29.85 apply (zenon_L9_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.61/29.85 apply (zenon_L64_); trivial. % 29.61/29.85 apply (zenon_L12_); trivial. % 29.61/29.85 (* end of lemma zenon_L65_ *) % 29.61/29.85 assert (zenon_L66_ : (((op2 (e22) (e20)) = (e22))/\(~((op2 (e20) (e22)) = (e20)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H12a zenon_H1d zenon_H20 zenon_H1f zenon_H2a zenon_H2c zenon_H128 zenon_H3e. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H12a). zenon_intro zenon_H129. zenon_intro zenon_H12b. % 29.61/29.85 apply (zenon_L65_); trivial. % 29.61/29.85 (* end of lemma zenon_L66_ *) % 29.61/29.85 assert (zenon_L67_ : (((op2 (e23) (e20)) = (e23))/\(~((op2 (e20) (e23)) = (e20)))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (~((e20) = (e21))) -> (~((e20) = (e23))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((((op2 (e20) (e22)) = (e20))/\(~((op2 (e22) (e20)) = (e22))))\/((((op2 (e21) (e22)) = (e21))/\(~((op2 (e22) (e21)) = (e22))))\/((((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22))))\/(((op2 (e23) (e22)) = (e23))/\(~((op2 (e22) (e23)) = (e22))))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e23)))) -> ((((op2 (e20) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23))))\/((((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23))))\/((((op2 (e22) (e23)) = (e22))/\(~((op2 (e23) (e22)) = (e23))))\/(((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23))))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((((op2 (e20) (e21)) = (e20))/\(~((op2 (e21) (e20)) = (e21))))\/((((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21))))\/((((op2 (e22) (e21)) = (e22))/\(~((op2 (e21) (e22)) = (e21))))\/(((op2 (e23) (e21)) = (e23))/\(~((op2 (e21) (e23)) = (e21))))))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H12c zenon_Hf8 zenon_Hfc zenon_H101 zenon_H1d zenon_H104 zenon_H20 zenon_H11a zenon_H10e zenon_H119 zenon_H1f zenon_H2a zenon_H2c zenon_H34 zenon_H3e zenon_H113 zenon_H118. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H12c). zenon_intro zenon_H114. zenon_intro zenon_H25. % 29.61/29.85 apply (zenon_L61_); trivial. % 29.61/29.85 (* end of lemma zenon_L67_ *) % 29.61/29.85 assert (zenon_L68_ : (((op1 (e10) (e10)) = (e10))/\(~((op1 (e10) (e10)) = (e10)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H12d. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H12d). zenon_intro zenon_H12f. zenon_intro zenon_H12e. % 29.61/29.85 exact (zenon_H12e zenon_H12f). % 29.61/29.85 (* end of lemma zenon_L68_ *) % 29.61/29.85 assert (zenon_L69_ : (~((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e21) (e20)))) -> ((op2 (e20) (e23)) = (e21)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e20)) = (e21)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H130 zenon_H131 zenon_H20 zenon_H1d zenon_Heb. % 29.61/29.85 cut (((op2 (e20) (e23)) = (e21)) = ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e21) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H130. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H131. % 29.61/29.85 cut (((e21) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H132]. % 29.61/29.85 cut (((op2 (e20) (e23)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [ zenon_intro zenon_H134 | zenon_intro zenon_H135 ]. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e20) (e23)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H133. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H134. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L7_); trivial. % 29.61/29.85 apply zenon_H135. apply refl_equal. % 29.61/29.85 apply zenon_H135. apply refl_equal. % 29.61/29.85 apply zenon_H132. apply sym_equal. exact zenon_Heb. % 29.61/29.85 (* end of lemma zenon_L69_ *) % 29.61/29.85 assert (zenon_L70_ : ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e22) (e20)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H2a zenon_H136 zenon_H131 zenon_Heb zenon_H20 zenon_H1d zenon_H137. % 29.61/29.85 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hf6 ]. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((op2 (e21) (e20)) = (op2 (e22) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H137. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Hf5. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H138]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e22) (e20)) = (op2 (e21) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H138. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H2a. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 29.61/29.85 cut (((e21) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H139]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hf6 ]. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e21) = (op2 (e22) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H139. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Hf5. % 29.61/29.85 cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 29.61/29.85 cut (((op2 (e22) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H13a]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H13a zenon_H136). % 29.61/29.85 apply zenon_Hf6. apply refl_equal. % 29.61/29.85 apply zenon_Hf6. apply refl_equal. % 29.61/29.85 apply (zenon_L69_); trivial. % 29.61/29.85 apply zenon_Hf6. apply refl_equal. % 29.61/29.85 apply zenon_Hf6. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L70_ *) % 29.61/29.85 assert (zenon_L71_ : ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e22) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H2a zenon_H13b zenon_H1d zenon_H20 zenon_H13c. % 29.61/29.85 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H13d | zenon_intro zenon_H13e ]. % 29.61/29.85 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H13c. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H13d. % 29.61/29.85 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.61/29.85 cut (((op2 (e22) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e22) (e23)) = (op2 (e20) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H13f. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H2a. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 29.61/29.85 cut (((e21) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H140]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H13d | zenon_intro zenon_H13e ]. % 29.61/29.85 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e21) = (op2 (e22) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H140. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H13d. % 29.61/29.85 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.61/29.85 cut (((op2 (e22) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H141]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H141 zenon_H13b). % 29.61/29.85 apply zenon_H13e. apply refl_equal. % 29.61/29.85 apply zenon_H13e. apply refl_equal. % 29.61/29.85 apply (zenon_L7_); trivial. % 29.61/29.85 apply zenon_H13e. apply refl_equal. % 29.61/29.85 apply zenon_H13e. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L71_ *) % 29.61/29.85 assert (zenon_L72_ : ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e23) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H2a zenon_H142 zenon_H1d zenon_H20 zenon_H1f. % 29.61/29.85 elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H143 | zenon_intro zenon_H144 ]. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1f. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H143. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H144]. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H145]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e23) (e23)) = (op2 (e20) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H145. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H2a. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 29.61/29.85 cut (((e21) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H146]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H143 | zenon_intro zenon_H144 ]. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((e21) = (op2 (e23) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H146. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H143. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H144]. % 29.61/29.85 cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H147]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H147 zenon_H142). % 29.61/29.85 apply zenon_H144. apply refl_equal. % 29.61/29.85 apply zenon_H144. apply refl_equal. % 29.61/29.85 apply (zenon_L7_); trivial. % 29.61/29.85 apply zenon_H144. apply refl_equal. % 29.61/29.85 apply zenon_H144. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L72_ *) % 29.61/29.85 assert (zenon_L73_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e22) (e20)) = (e21)) -> (~((op2 (e21) (e23)) = (e21))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H148 zenon_H137 zenon_Heb zenon_H136 zenon_H31 zenon_H13c zenon_H2a zenon_H1d zenon_H20 zenon_H1f. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H148); [ zenon_intro zenon_H131 | zenon_intro zenon_H149 ]. % 29.61/29.85 apply (zenon_L70_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H2b | zenon_intro zenon_H14a ]. % 29.61/29.85 exact (zenon_H31 zenon_H2b). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13b | zenon_intro zenon_H142 ]. % 29.61/29.85 apply (zenon_L71_); trivial. % 29.61/29.85 apply (zenon_L72_); trivial. % 29.61/29.85 (* end of lemma zenon_L73_ *) % 29.61/29.85 assert (zenon_L74_ : (~((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e22) (e21)))) -> ((op2 (e20) (e23)) = (e21)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e21)) = (e21)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H14b zenon_H131 zenon_H20 zenon_H1d zenon_H14c. % 29.61/29.85 cut (((op2 (e20) (e23)) = (e21)) = ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e22) (e21)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H14b. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H131. % 29.61/29.85 cut (((e21) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H14d]. % 29.61/29.85 cut (((op2 (e20) (e23)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H133]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [ zenon_intro zenon_H134 | zenon_intro zenon_H135 ]. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e20) (e23)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H133. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H134. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H135]. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L7_); trivial. % 29.61/29.85 apply zenon_H135. apply refl_equal. % 29.61/29.85 apply zenon_H135. apply refl_equal. % 29.61/29.85 apply zenon_H14d. apply sym_equal. exact zenon_H14c. % 29.61/29.85 (* end of lemma zenon_L74_ *) % 29.61/29.85 assert (zenon_L75_ : (~((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e11) (e10)))) -> ((op1 (e10) (e13)) = (e11)) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e10)) = (e11)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H14e zenon_Ha9 zenon_H57 zenon_H4e zenon_H14f. % 29.61/29.85 cut (((op1 (e10) (e13)) = (e11)) = ((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e11) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H14e. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Ha9. % 29.61/29.85 cut (((e11) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H150]. % 29.61/29.85 cut (((op1 (e10) (e13)) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [ zenon_intro zenon_H152 | zenon_intro zenon_H153 ]. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e10) (e13)) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H151. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H152. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H153]. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L29_); trivial. % 29.61/29.85 apply zenon_H153. apply refl_equal. % 29.61/29.85 apply zenon_H153. apply refl_equal. % 29.61/29.85 apply zenon_H150. apply sym_equal. exact zenon_H14f. % 29.61/29.85 (* end of lemma zenon_L75_ *) % 29.61/29.85 assert (zenon_L76_ : ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((op1 (e12) (e10)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H81 zenon_H154 zenon_Ha9 zenon_H14f zenon_H57 zenon_H4e zenon_H155. % 29.61/29.85 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((op1 (e11) (e10)) = (op1 (e12) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H155. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H156. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H158]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e12) (e10)) = (op1 (e11) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H158. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H81. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14e]. % 29.61/29.85 cut (((e11) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H159]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e11) = (op1 (e12) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H159. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H156. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H15a]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H15a zenon_H154). % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 apply (zenon_L75_); trivial. % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L76_ *) % 29.61/29.85 assert (zenon_L77_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e12) (e10)) = (e11)) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_Hbb zenon_H155 zenon_H14f zenon_H154 zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.61/29.85 apply (zenon_L76_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.61/29.85 exact (zenon_H88 zenon_H82). % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.61/29.85 apply (zenon_L41_); trivial. % 29.61/29.85 apply (zenon_L42_); trivial. % 29.61/29.85 (* end of lemma zenon_L77_ *) % 29.61/29.85 assert (zenon_L78_ : (~((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e12) (e11)))) -> ((op1 (e10) (e13)) = (e11)) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e11)) = (e11)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H15b zenon_Ha9 zenon_H57 zenon_H4e zenon_H15c. % 29.61/29.85 cut (((op1 (e10) (e13)) = (e11)) = ((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e12) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H15b. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Ha9. % 29.61/29.85 cut (((e11) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 29.61/29.85 cut (((op1 (e10) (e13)) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H151]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [ zenon_intro zenon_H152 | zenon_intro zenon_H153 ]. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e10) (e13)) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H151. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H152. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H153]. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L29_); trivial. % 29.61/29.85 apply zenon_H153. apply refl_equal. % 29.61/29.85 apply zenon_H153. apply refl_equal. % 29.61/29.85 apply zenon_H15d. apply sym_equal. exact zenon_H15c. % 29.61/29.85 (* end of lemma zenon_L78_ *) % 29.61/29.85 assert (zenon_L79_ : (~((h3 (e11)) = (e21))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H15e zenon_H15f zenon_H2a. % 29.61/29.85 cut (((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((h3 (e11)) = (e21))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H15e. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H15f. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H160]. % 29.61/29.85 cut (((h3 (e11)) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H161]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H161. apply refl_equal. % 29.61/29.85 apply zenon_H160. apply sym_equal. exact zenon_H2a. % 29.61/29.85 (* end of lemma zenon_L79_ *) % 29.61/29.85 assert (zenon_L80_ : (~((e22) = (e22))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H162. % 29.61/29.85 apply zenon_H162. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L80_ *) % 29.61/29.85 assert (zenon_L81_ : (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((op1 (e10) (e11)) = (e12)) -> ((op2 (e20) (e21)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H163 zenon_H164 zenon_H165 zenon_H166 zenon_H9a zenon_H20 zenon_H15f zenon_H2a. % 29.61/29.85 cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H163. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H164. % 29.61/29.85 cut (((e22) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 29.61/29.85 cut (((h3 (e12)) = (h3 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H168]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11))))); [ zenon_intro zenon_H169 | zenon_intro zenon_H16a ]. % 29.61/29.85 cut (((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11)))) = ((h3 (e12)) = (h3 (op1 (e10) (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H168. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H169. % 29.61/29.85 cut (((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H16a]. % 29.61/29.85 cut (((h3 (op1 (e10) (e11))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H16b]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((op1 (e10) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H16c]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H16c zenon_H165). % 29.61/29.85 apply zenon_H16a. apply refl_equal. % 29.61/29.85 apply zenon_H16a. apply refl_equal. % 29.61/29.85 elim (classic ((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [ zenon_intro zenon_H16d | zenon_intro zenon_H16e ]. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11)))) = ((e22) = (op2 (h3 (e10)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H167. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H16d. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H16e]. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H16f]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((op2 (e20) (e21)) = (e22)) = ((op2 (h3 (e10)) (h3 (e11))) = (e22))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H16f. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H166. % 29.61/29.85 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H162]. % 29.61/29.85 cut (((op2 (e20) (e21)) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H170]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [ zenon_intro zenon_H16d | zenon_intro zenon_H16e ]. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11)))) = ((op2 (e20) (e21)) = (op2 (h3 (e10)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H170. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H16d. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H16e]. % 29.61/29.85 cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H171]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.61/29.85 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L37_); trivial. % 29.61/29.85 apply (zenon_L79_); trivial. % 29.61/29.85 apply zenon_H16e. apply refl_equal. % 29.61/29.85 apply zenon_H16e. apply refl_equal. % 29.61/29.85 apply zenon_H162. apply refl_equal. % 29.61/29.85 apply zenon_H16e. apply refl_equal. % 29.61/29.85 apply zenon_H16e. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L81_ *) % 29.61/29.85 assert (zenon_L82_ : (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (e10))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e12) (e11)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e21)) = (e22)) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H172 zenon_H173 zenon_H4e zenon_H57 zenon_H15c zenon_Ha9 zenon_H81 zenon_H174 zenon_H2a zenon_H15f zenon_H20 zenon_H9a zenon_H166 zenon_H164 zenon_H163 zenon_H9c zenon_H9e. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H172); [ zenon_intro zenon_H44 | zenon_intro zenon_H175 ]. % 29.61/29.85 exact (zenon_H173 zenon_H44). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H175); [ zenon_intro zenon_H177 | zenon_intro zenon_H176 ]. % 29.61/29.85 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e10) (e11)) = (op1 (e12) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H174. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H81. % 29.61/29.85 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15b]. % 29.61/29.85 cut (((e11) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H178]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_H179 | zenon_intro zenon_H47 ]. % 29.61/29.85 cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e11) = (op1 (e10) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H178. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H179. % 29.61/29.85 cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H47]. % 29.61/29.85 cut (((op1 (e10) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17a]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H17a zenon_H177). % 29.61/29.85 apply zenon_H47. apply refl_equal. % 29.61/29.85 apply zenon_H47. apply refl_equal. % 29.61/29.85 apply (zenon_L78_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H176); [ zenon_intro zenon_H165 | zenon_intro zenon_H9d ]. % 29.61/29.85 apply (zenon_L81_); trivial. % 29.61/29.85 apply (zenon_L38_); trivial. % 29.61/29.85 (* end of lemma zenon_L82_ *) % 29.61/29.85 assert (zenon_L83_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((op2 (e20) (e21)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e12) (e11)) = (e11)) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_Hbb zenon_H9e zenon_H9c zenon_H163 zenon_H164 zenon_H166 zenon_H9a zenon_H20 zenon_H15f zenon_H2a zenon_H174 zenon_H15c zenon_H173 zenon_H172 zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.61/29.85 apply (zenon_L82_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.61/29.85 exact (zenon_H88 zenon_H82). % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.61/29.85 apply (zenon_L41_); trivial. % 29.61/29.85 apply (zenon_L42_); trivial. % 29.61/29.85 (* end of lemma zenon_L83_ *) % 29.61/29.85 assert (zenon_L84_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e12)) = (e11)) -> (~((e11) = (e13))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H4e zenon_H17b zenon_Hab. % 29.61/29.85 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H51 | zenon_intro zenon_H4d ]. % 29.61/29.85 cut (((e13) = (e13)) = ((e11) = (e13))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_Hab. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H51. % 29.61/29.85 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.61/29.85 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e13) = (op1 (e12) (e12))) = ((e13) = (e11))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_Hac. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H4e. % 29.61/29.85 cut (((op1 (e12) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17c]. % 29.61/29.85 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H4d. apply refl_equal. % 29.61/29.85 exact (zenon_H17c zenon_H17b). % 29.61/29.85 apply zenon_H4d. apply refl_equal. % 29.61/29.85 apply zenon_H4d. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L84_ *) % 29.61/29.85 assert (zenon_L85_ : (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (e10))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e21)) = (e22)) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e13))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H17d zenon_H14f zenon_H155 zenon_H77 zenon_H88 zenon_H172 zenon_H173 zenon_H174 zenon_H2a zenon_H15f zenon_H20 zenon_H9a zenon_H166 zenon_H164 zenon_H163 zenon_H9c zenon_H9e zenon_Hbb zenon_Hab zenon_H81 zenon_H4e zenon_H57 zenon_Haf. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H17d); [ zenon_intro zenon_H154 | zenon_intro zenon_H17e ]. % 29.61/29.85 apply (zenon_L77_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H17e); [ zenon_intro zenon_H15c | zenon_intro zenon_H17f ]. % 29.61/29.85 apply (zenon_L83_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H17f); [ zenon_intro zenon_H17b | zenon_intro zenon_Hae ]. % 29.61/29.85 apply (zenon_L84_); trivial. % 29.61/29.85 apply (zenon_L41_); trivial. % 29.61/29.85 (* end of lemma zenon_L85_ *) % 29.61/29.85 assert (zenon_L86_ : (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> (~((op2 (e20) (e21)) = (e20))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op2 (e23) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H180 zenon_H16 zenon_H1d zenon_H14c zenon_H131 zenon_H181 zenon_Haf zenon_H57 zenon_H4e zenon_H81 zenon_Hab zenon_Hbb zenon_H9e zenon_H9c zenon_H163 zenon_H164 zenon_H9a zenon_H20 zenon_H15f zenon_H2a zenon_H174 zenon_H173 zenon_H172 zenon_H88 zenon_H77 zenon_H155 zenon_H14f zenon_H17d zenon_Hd1 zenon_Hd3. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H180); [ zenon_intro zenon_H18 | zenon_intro zenon_H182 ]. % 29.61/29.85 exact (zenon_H16 zenon_H18). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H182); [ zenon_intro zenon_H184 | zenon_intro zenon_H183 ]. % 29.61/29.85 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e20) (e21)) = (op2 (e22) (e21)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H181. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H2a. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H14b]. % 29.61/29.85 cut (((e21) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H185]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H186 | zenon_intro zenon_Hfb ]. % 29.61/29.85 cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e21) = (op2 (e20) (e21)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H185. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H186. % 29.61/29.85 cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 29.61/29.85 cut (((op2 (e20) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H187]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H187 zenon_H184). % 29.61/29.85 apply zenon_Hfb. apply refl_equal. % 29.61/29.85 apply zenon_Hfb. apply refl_equal. % 29.61/29.85 apply (zenon_L74_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H166 | zenon_intro zenon_Hd2 ]. % 29.61/29.85 apply (zenon_L85_); trivial. % 29.61/29.85 apply (zenon_L45_); trivial. % 29.61/29.85 (* end of lemma zenon_L86_ *) % 29.61/29.85 assert (zenon_L87_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (e10))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e13))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e22) (e21)) = (e21)) -> (~((op2 (e20) (e21)) = (e20))) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> (~((op2 (e21) (e23)) = (e21))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H148 zenon_Hd3 zenon_Hd1 zenon_H17d zenon_H14f zenon_H155 zenon_H77 zenon_H88 zenon_H172 zenon_H173 zenon_H174 zenon_H15f zenon_H9a zenon_H164 zenon_H163 zenon_H9c zenon_H9e zenon_Hbb zenon_Hab zenon_H81 zenon_H4e zenon_H57 zenon_Haf zenon_H181 zenon_H14c zenon_H16 zenon_H180 zenon_H31 zenon_H13c zenon_H2a zenon_H1d zenon_H20 zenon_H1f. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H148); [ zenon_intro zenon_H131 | zenon_intro zenon_H149 ]. % 29.61/29.85 apply (zenon_L86_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H2b | zenon_intro zenon_H14a ]. % 29.61/29.85 exact (zenon_H31 zenon_H2b). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13b | zenon_intro zenon_H142 ]. % 29.61/29.85 apply (zenon_L71_); trivial. % 29.61/29.85 apply (zenon_L72_); trivial. % 29.61/29.85 (* end of lemma zenon_L87_ *) % 29.61/29.85 assert (zenon_L88_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e22)) = (e21)) -> (~((e21) = (e23))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1d zenon_H188 zenon_Hed. % 29.61/29.85 elim (classic ((e23) = (e23))); [ zenon_intro zenon_Hee | zenon_intro zenon_Hef ]. % 29.61/29.85 cut (((e23) = (e23)) = ((e21) = (e23))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_Hed. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Hee. % 29.61/29.85 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.61/29.85 cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e23) = (op2 (e22) (e22))) = ((e23) = (e21))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_Hf0. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1d. % 29.61/29.85 cut (((op2 (e22) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H189]. % 29.61/29.85 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_Hef. apply refl_equal. % 29.61/29.85 exact (zenon_H189 zenon_H188). % 29.61/29.85 apply zenon_Hef. apply refl_equal. % 29.61/29.85 apply zenon_Hef. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L88_ *) % 29.61/29.85 assert (zenon_L89_ : (((op1 (e12) (e10)) = (e12))/\(~((op1 (e10) (e12)) = (e10)))) -> (~((e10) = (e11))) -> (~((e10) = (e13))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((((op1 (e10) (e12)) = (e10))/\(~((op1 (e12) (e10)) = (e12))))\/((((op1 (e11) (e12)) = (e11))/\(~((op1 (e12) (e11)) = (e12))))\/((((op1 (e12) (e12)) = (e12))/\(~((op1 (e12) (e12)) = (e12))))\/(((op1 (e13) (e12)) = (e13))/\(~((op1 (e12) (e13)) = (e12))))))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H18a zenon_H49 zenon_H50 zenon_H4e zenon_H56 zenon_H57 zenon_H5d zenon_H64 zenon_H6c. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H18a). zenon_intro zenon_H18c. zenon_intro zenon_H18b. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.61/29.85 exact (zenon_H18b zenon_H45). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H72). zenon_intro zenon_H4a. zenon_intro zenon_H73. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H5d); [ zenon_intro zenon_H45 | zenon_intro zenon_H5e ]. % 29.61/29.85 exact (zenon_H18b zenon_H45). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H5e); [ zenon_intro zenon_H4b | zenon_intro zenon_H5f ]. % 29.61/29.85 apply (zenon_L17_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H4f | zenon_intro zenon_H58 ]. % 29.61/29.85 apply (zenon_L19_); trivial. % 29.61/29.85 apply (zenon_L21_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.61/29.85 apply (zenon_L23_); trivial. % 29.61/29.85 apply (zenon_L24_); trivial. % 29.61/29.85 (* end of lemma zenon_L89_ *) % 29.61/29.85 assert (zenon_L90_ : (((op1 (e10) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13)))) -> (~((op1 (e10) (e13)) = (e10))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H7d zenon_H7c. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H7d). zenon_intro zenon_H78. zenon_intro zenon_H7e. % 29.61/29.85 exact (zenon_H7c zenon_H78). % 29.61/29.85 (* end of lemma zenon_L90_ *) % 29.61/29.85 assert (zenon_L91_ : (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e10)) = (e13)) -> ((op1 (e13) (e11)) = (e13)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H18d zenon_H18e zenon_H9c. % 29.61/29.85 cut (((op1 (e13) (e10)) = (e13)) = ((op1 (e13) (e10)) = (op1 (e13) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H18d. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H18e. % 29.61/29.85 cut (((e13) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H18f]. % 29.61/29.85 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H190. apply refl_equal. % 29.61/29.85 apply zenon_H18f. apply sym_equal. exact zenon_H9c. % 29.61/29.85 (* end of lemma zenon_L91_ *) % 29.61/29.85 assert (zenon_L92_ : (((op1 (e13) (e10)) = (e13))/\(~((op1 (e10) (e13)) = (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((e10) = (e11))) -> (~((e10) = (e13))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((((op1 (e10) (e12)) = (e10))/\(~((op1 (e12) (e10)) = (e12))))\/((((op1 (e11) (e12)) = (e11))/\(~((op1 (e12) (e11)) = (e12))))\/((((op1 (e12) (e12)) = (e12))/\(~((op1 (e12) (e12)) = (e12))))\/(((op1 (e13) (e12)) = (e13))/\(~((op1 (e12) (e13)) = (e12))))))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e13)))) -> ((((op1 (e10) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13))))\/((((op1 (e11) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13))))\/((((op1 (e12) (e13)) = (e12))/\(~((op1 (e13) (e12)) = (e13))))\/(((op1 (e13) (e13)) = (e13))/\(~((op1 (e13) (e13)) = (e13))))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((((op1 (e10) (e11)) = (e10))/\(~((op1 (e11) (e10)) = (e11))))\/((((op1 (e11) (e11)) = (e11))/\(~((op1 (e11) (e11)) = (e11))))\/((((op1 (e12) (e11)) = (e12))/\(~((op1 (e11) (e12)) = (e11))))\/(((op1 (e13) (e11)) = (e13))/\(~((op1 (e11) (e13)) = (e11))))))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H191 zenon_H43 zenon_H49 zenon_H50 zenon_H4e zenon_H56 zenon_H57 zenon_H5d zenon_H64 zenon_H6c zenon_H81 zenon_H83 zenon_H8b zenon_H94 zenon_H18d zenon_H192. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H191). zenon_intro zenon_H18e. zenon_intro zenon_H7c. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.61/29.85 apply (zenon_L25_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.61/29.85 apply (zenon_L26_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H97). zenon_intro zenon_H8c. zenon_intro zenon_H98. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H7d | zenon_intro zenon_H95 ]. % 29.61/29.85 apply (zenon_L90_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H89 | zenon_intro zenon_H96 ]. % 29.61/29.85 apply (zenon_L31_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H96); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ]. % 29.61/29.85 apply (zenon_L33_); trivial. % 29.61/29.85 apply (zenon_L34_); trivial. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.61/29.85 apply (zenon_L91_); trivial. % 29.61/29.85 (* end of lemma zenon_L92_ *) % 29.61/29.85 assert (zenon_L93_ : (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e11) (e12)) = (e11)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H196 zenon_H14f zenon_H4a. % 29.61/29.85 cut (((op1 (e11) (e10)) = (e11)) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H196. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H14f. % 29.61/29.85 cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H197]. % 29.61/29.85 cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H198]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H198. apply refl_equal. % 29.61/29.85 apply zenon_H197. apply sym_equal. exact zenon_H4a. % 29.61/29.85 (* end of lemma zenon_L93_ *) % 29.61/29.85 assert (zenon_L94_ : (((op1 (e11) (e12)) = (e11))/\(~((op1 (e12) (e11)) = (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H72 zenon_H14f zenon_H196. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H72). zenon_intro zenon_H4a. zenon_intro zenon_H73. % 29.61/29.85 apply (zenon_L93_); trivial. % 29.61/29.85 (* end of lemma zenon_L94_ *) % 29.61/29.85 assert (zenon_L95_ : (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H199 zenon_Heb zenon_Hfd. % 29.61/29.85 cut (((op2 (e21) (e20)) = (e21)) = ((op2 (e21) (e20)) = (op2 (e21) (e22)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H199. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Heb. % 29.61/29.85 cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H19a]. % 29.61/29.85 cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H19b]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H19b. apply refl_equal. % 29.61/29.85 apply zenon_H19a. apply sym_equal. exact zenon_Hfd. % 29.61/29.85 (* end of lemma zenon_L95_ *) % 29.61/29.85 assert (zenon_L96_ : (((op2 (e21) (e22)) = (e21))/\(~((op2 (e22) (e21)) = (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H120 zenon_Heb zenon_H199. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H120). zenon_intro zenon_Hfd. zenon_intro zenon_H121. % 29.61/29.85 apply (zenon_L95_); trivial. % 29.61/29.85 (* end of lemma zenon_L96_ *) % 29.61/29.85 assert (zenon_L97_ : (~((h3 (op1 (e10) (e13))) = (op2 (h3 (e10)) (h3 (e13))))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op1 (e10) (e13)) = (e11)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H19c zenon_H15f zenon_Ha9 zenon_Hc0 zenon_H9a. % 29.61/29.85 cut (((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((h3 (op1 (e10) (e13))) = (op2 (h3 (e10)) (h3 (e13))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H19c. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H15f. % 29.61/29.85 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e10)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H19d]. % 29.61/29.85 cut (((h3 (e11)) = (h3 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H19e]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13))))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ]. % 29.61/29.85 cut (((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13)))) = ((h3 (e11)) = (h3 (op1 (e10) (e13))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H19e. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H19f. % 29.61/29.85 cut (((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1a0]. % 29.61/29.85 cut (((h3 (op1 (e10) (e13))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1a1]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1a2 zenon_Ha9). % 29.61/29.85 apply zenon_H1a0. apply refl_equal. % 29.61/29.85 apply zenon_H1a0. apply refl_equal. % 29.61/29.85 cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1a4]. % 29.61/29.85 congruence. % 29.61/29.85 apply zenon_H1a4. apply sym_equal. exact zenon_H9a. % 29.61/29.85 apply zenon_H1a3. apply sym_equal. exact zenon_Hc0. % 29.61/29.85 (* end of lemma zenon_L97_ *) % 29.61/29.85 assert (zenon_L98_ : (((op2 (e21) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23)))) -> (~((op2 (e21) (e23)) = (e21))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H32 zenon_H31. % 29.61/29.85 apply (zenon_and_s _ _ zenon_H32). zenon_intro zenon_H2b. zenon_intro zenon_H33. % 29.61/29.85 exact (zenon_H31 zenon_H2b). % 29.61/29.85 (* end of lemma zenon_L98_ *) % 29.61/29.85 assert (zenon_L99_ : (~((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op1 (e11) (e11)) = (e10)) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1a5 zenon_H9a zenon_H1a6 zenon_H1a7 zenon_H20 zenon_H15f zenon_H2a. % 29.61/29.85 cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1a5. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H9a. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1a8]. % 29.61/29.85 cut (((h3 (e10)) = (h3 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1a9]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ]. % 29.61/29.85 cut (((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11)))) = ((h3 (e10)) = (h3 (op1 (e11) (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1a9. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1aa. % 29.61/29.85 cut (((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 29.61/29.85 cut (((h3 (op1 (e11) (e11))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1ac]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1ad]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1ad zenon_H1a6). % 29.61/29.85 apply zenon_H1ab. apply refl_equal. % 29.61/29.85 apply zenon_H1ab. apply refl_equal. % 29.61/29.85 elim (classic ((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ]. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1a8. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1ae. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1af]. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1b0]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((op2 (e21) (e21)) = (e20)) = ((op2 (h3 (e11)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1b0. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1a7. % 29.61/29.85 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 29.61/29.85 cut (((op2 (e21) (e21)) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1b2]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ]. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11)))) = ((op2 (e21) (e21)) = (op2 (h3 (e11)) (h3 (e11))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1b2. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1ae. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H1af]. % 29.61/29.85 cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b3]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.61/29.85 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L79_); trivial. % 29.61/29.85 apply (zenon_L79_); trivial. % 29.61/29.85 apply zenon_H1af. apply refl_equal. % 29.61/29.85 apply zenon_H1af. apply refl_equal. % 29.61/29.85 exact (zenon_H1b1 zenon_H20). % 29.61/29.85 apply zenon_H1af. apply refl_equal. % 29.61/29.85 apply zenon_H1af. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L99_ *) % 29.61/29.85 assert (zenon_L100_ : (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e13) (e10)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1b4 zenon_H57 zenon_H1b5 zenon_H4e. % 29.61/29.85 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e10)) = (op1 (e13) (e13)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1b4. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H57. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.61/29.85 cut (((e10) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1b6]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H190 ]. % 29.61/29.85 cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e10) = (op1 (e13) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1b6. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1b7. % 29.61/29.85 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.61/29.85 cut (((op1 (e13) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1b8]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1b8 zenon_H1b5). % 29.61/29.85 apply zenon_H190. apply refl_equal. % 29.61/29.85 apply zenon_H190. apply refl_equal. % 29.61/29.85 apply (zenon_L20_); trivial. % 29.61/29.85 (* end of lemma zenon_L100_ *) % 29.61/29.85 assert (zenon_L101_ : (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e13) (e11)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1b9 zenon_H57 zenon_H1ba zenon_H4e. % 29.61/29.85 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e11)) = (op1 (e13) (e13)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1b9. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H57. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.61/29.85 cut (((e10) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1bb]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H9f | zenon_intro zenon_Ha0 ]. % 29.61/29.85 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e10) = (op1 (e13) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1bb. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H9f. % 29.61/29.85 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 29.61/29.85 cut (((op1 (e13) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1bc]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1bc zenon_H1ba). % 29.61/29.85 apply zenon_Ha0. apply refl_equal. % 29.61/29.85 apply zenon_Ha0. apply refl_equal. % 29.61/29.85 apply (zenon_L20_); trivial. % 29.61/29.85 (* end of lemma zenon_L101_ *) % 29.61/29.85 assert (zenon_L102_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e10)))) -> ((op1 (e13) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e10)) = (e10)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1bd zenon_H1be zenon_H4e zenon_H1bf. % 29.61/29.85 cut (((op1 (e13) (e13)) = (e10)) = ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1bd. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1be. % 29.61/29.85 cut (((e10) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1c0]. % 29.61/29.85 cut (((op1 (e13) (e13)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1c1]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c3 ]. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e13)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1c1. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1c2. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L20_); trivial. % 29.61/29.85 apply zenon_H1c3. apply refl_equal. % 29.61/29.85 apply zenon_H1c3. apply refl_equal. % 29.61/29.85 apply zenon_H1c0. apply sym_equal. exact zenon_H1bf. % 29.61/29.85 (* end of lemma zenon_L102_ *) % 29.61/29.85 assert (zenon_L103_ : (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e12) (e11)) = (e10)) -> ((op1 (e12) (e10)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e11)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1c4 zenon_H1b4 zenon_H1b9 zenon_H56 zenon_H57 zenon_H1c5 zenon_H1bf zenon_H4e zenon_H1c6. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1c7 ]. % 29.61/29.85 apply (zenon_L100_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1ba | zenon_intro zenon_H1c8 ]. % 29.61/29.85 apply (zenon_L101_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H58 | zenon_intro zenon_H1be ]. % 29.61/29.85 apply (zenon_L21_); trivial. % 29.61/29.85 elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8f ]. % 29.61/29.85 cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e12) (e10)) = (op1 (e12) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1c6. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1c9. % 29.61/29.85 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 29.61/29.85 cut (((op1 (e12) (e11)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1ca]. % 29.61/29.85 congruence. % 29.61/29.85 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e12) (e11)) = (op1 (e12) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1ca. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H57. % 29.61/29.85 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 29.61/29.85 cut (((e10) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1cb]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8f ]. % 29.61/29.85 cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e10) = (op1 (e12) (e11)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1cb. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1c9. % 29.61/29.85 cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 29.61/29.85 cut (((op1 (e12) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1cc]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1cc zenon_H1c5). % 29.61/29.85 apply zenon_H8f. apply refl_equal. % 29.61/29.85 apply zenon_H8f. apply refl_equal. % 29.61/29.85 apply (zenon_L102_); trivial. % 29.61/29.85 apply zenon_H8f. apply refl_equal. % 29.61/29.85 apply zenon_H8f. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L103_ *) % 29.61/29.85 assert (zenon_L104_ : (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e10)) = (e13)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1cd zenon_H4e zenon_H1ce. % 29.61/29.85 cut (((e13) = (op1 (e12) (e12))) = ((op1 (e12) (e10)) = (op1 (e12) (e12)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1cd. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H4e. % 29.61/29.85 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 29.61/29.85 cut (((e13) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H156 | zenon_intro zenon_H157 ]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e13) = (op1 (e12) (e10)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1cf. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H156. % 29.61/29.85 cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 29.61/29.85 cut (((op1 (e12) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d0]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1d0 zenon_H1ce). % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 apply zenon_H157. apply refl_equal. % 29.61/29.85 apply zenon_H68. apply refl_equal. % 29.61/29.85 (* end of lemma zenon_L104_ *) % 29.61/29.85 assert (zenon_L105_ : (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e11)))) -> ((op1 (e12) (e11)) = (e10)) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e12) (e10)) = (e12))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1d1 zenon_H1c6 zenon_H1c5 zenon_H56 zenon_H1b9 zenon_H1b4 zenon_H1c4 zenon_H155 zenon_H57 zenon_H14f zenon_Ha9 zenon_H81 zenon_H70 zenon_H1cd zenon_H4e. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d1); [ zenon_intro zenon_H1bf | zenon_intro zenon_H1d2 ]. % 29.61/29.85 apply (zenon_L103_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d2); [ zenon_intro zenon_H154 | zenon_intro zenon_H1d3 ]. % 29.61/29.85 apply (zenon_L76_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d3); [ zenon_intro zenon_H18c | zenon_intro zenon_H1ce ]. % 29.61/29.85 exact (zenon_H70 zenon_H18c). % 29.61/29.85 apply (zenon_L104_); trivial. % 29.61/29.85 (* end of lemma zenon_L105_ *) % 29.61/29.85 assert (zenon_L106_ : (((op1 (e10) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/((op1 (e13) (e11)) = (e10))))) -> (~((op1 (e10) (e11)) = (e10))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e21)) = (e20)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e11)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e12) (e10)) = (e12))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1d4 zenon_H173 zenon_H2a zenon_H15f zenon_H20 zenon_H1a7 zenon_H9a zenon_H1a5 zenon_H77 zenon_H81 zenon_Haf zenon_H88 zenon_H1d1 zenon_H1c6 zenon_H56 zenon_H1b4 zenon_H1c4 zenon_H155 zenon_H14f zenon_H70 zenon_H1cd zenon_Hbb zenon_H1b9 zenon_H57 zenon_H4e. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d4); [ zenon_intro zenon_H44 | zenon_intro zenon_H1d5 ]. % 29.61/29.85 exact (zenon_H173 zenon_H44). % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d5); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H1d6 ]. % 29.61/29.85 apply (zenon_L99_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_H1d6); [ zenon_intro zenon_H1c5 | zenon_intro zenon_H1ba ]. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.61/29.85 apply (zenon_L105_); trivial. % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.61/29.85 exact (zenon_H88 zenon_H82). % 29.61/29.85 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.61/29.85 apply (zenon_L41_); trivial. % 29.61/29.85 apply (zenon_L42_); trivial. % 29.61/29.85 apply (zenon_L101_); trivial. % 29.61/29.85 (* end of lemma zenon_L106_ *) % 29.61/29.85 assert (zenon_L107_ : (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e23) (e20)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1d7 zenon_H20 zenon_H1d8 zenon_H1d. % 29.61/29.85 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e20)) = (op2 (e23) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1d7. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H20. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.61/29.85 cut (((e20) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d9]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H1da | zenon_intro zenon_H116 ]. % 29.61/29.85 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e20) = (op2 (e23) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1d9. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1da. % 29.61/29.85 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 29.61/29.85 cut (((op2 (e23) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1db zenon_H1d8). % 29.61/29.85 apply zenon_H116. apply refl_equal. % 29.61/29.85 apply zenon_H116. apply refl_equal. % 29.61/29.85 apply (zenon_L4_); trivial. % 29.61/29.85 (* end of lemma zenon_L107_ *) % 29.61/29.85 assert (zenon_L108_ : (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e23) (e21)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1dc zenon_H20 zenon_H1dd zenon_H1d. % 29.61/29.85 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e21)) = (op2 (e23) (e23)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1dc. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H20. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.61/29.85 cut (((e20) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1de]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ]. % 29.61/29.85 cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e20) = (op2 (e23) (e21)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1de. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_Hd4. % 29.61/29.85 cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 29.61/29.85 cut (((op2 (e23) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 29.61/29.85 congruence. % 29.61/29.85 exact (zenon_H1df zenon_H1dd). % 29.61/29.85 apply zenon_Hd5. apply refl_equal. % 29.61/29.85 apply zenon_Hd5. apply refl_equal. % 29.61/29.85 apply (zenon_L4_); trivial. % 29.61/29.85 (* end of lemma zenon_L108_ *) % 29.61/29.85 assert (zenon_L109_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e20)))) -> ((op2 (e23) (e23)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e20)) = (e20)) -> False). % 29.61/29.85 do 0 intro. intros zenon_H1e0 zenon_H1e1 zenon_H1d zenon_H1e2. % 29.61/29.85 cut (((op2 (e23) (e23)) = (e20)) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e20)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1e0. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1e1. % 29.61/29.85 cut (((e20) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1e3]. % 29.61/29.85 cut (((op2 (e23) (e23)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 29.61/29.85 congruence. % 29.61/29.85 elim (classic ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ]. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e23)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1e4. % 29.61/29.85 rewrite <- zenon_D_pnotp. % 29.61/29.85 exact zenon_H1e5. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1e6]. % 29.61/29.85 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.61/29.85 congruence. % 29.61/29.85 apply (zenon_L4_); trivial. % 29.61/29.85 apply zenon_H1e6. apply refl_equal. % 29.61/29.85 apply zenon_H1e6. apply refl_equal. % 29.61/29.85 apply zenon_H1e3. apply sym_equal. exact zenon_H1e2. % 29.61/29.85 (* end of lemma zenon_L109_ *) % 29.61/29.85 assert (zenon_L110_ : ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e22) (e21)) = (e20)) -> ((op2 (e23) (e23)) = (e20)) -> ((op2 (e22) (e20)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> False). % 29.61/29.85 do 0 intro. intros zenon_H20 zenon_H1e7 zenon_H1e1 zenon_H1e2 zenon_H1d zenon_H1e8. % 29.61/29.85 elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H38 ]. % 29.61/29.85 cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e22) (e20)) = (op2 (e22) (e21)))). % 29.61/29.85 intro zenon_D_pnotp. % 29.61/29.85 apply zenon_H1e8. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H1e9. % 29.61/29.86 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 29.61/29.86 cut (((op2 (e22) (e21)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1ea]. % 29.61/29.86 congruence. % 29.61/29.86 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e22) (e21)) = (op2 (e22) (e20)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1ea. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H20. % 29.61/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 29.61/29.86 cut (((e20) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 29.61/29.86 congruence. % 29.61/29.86 elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H38 ]. % 29.61/29.86 cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e20) = (op2 (e22) (e21)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1eb. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H1e9. % 29.61/29.86 cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 29.61/29.86 cut (((op2 (e22) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 29.61/29.86 congruence. % 29.61/29.86 exact (zenon_H1ec zenon_H1e7). % 29.61/29.86 apply zenon_H38. apply refl_equal. % 29.61/29.86 apply zenon_H38. apply refl_equal. % 29.61/29.86 apply (zenon_L109_); trivial. % 29.61/29.86 apply zenon_H38. apply refl_equal. % 29.61/29.86 apply zenon_H38. apply refl_equal. % 29.61/29.86 (* end of lemma zenon_L110_ *) % 29.61/29.86 assert (zenon_L111_ : (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e22) (e20)) = (e23))))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> ((op2 (e22) (e21)) = (e20)) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e22) (e20)) = (e22))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.61/29.86 do 0 intro. intros zenon_H1ed zenon_H1d7 zenon_H1dc zenon_H104 zenon_H1ee zenon_H1e8 zenon_H1e7 zenon_H137 zenon_H20 zenon_Heb zenon_H131 zenon_H2a zenon_H11e zenon_Hf2 zenon_H1d. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1ed); [ zenon_intro zenon_H1d8 | zenon_intro zenon_H1ef ]. % 29.61/29.86 apply (zenon_L107_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1ef); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1f0 ]. % 29.61/29.86 apply (zenon_L108_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f0); [ zenon_intro zenon_H105 | zenon_intro zenon_H1e1 ]. % 29.61/29.86 apply (zenon_L56_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1ee); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1f1 ]. % 29.61/29.86 apply (zenon_L110_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f1); [ zenon_intro zenon_H136 | zenon_intro zenon_H1f2 ]. % 29.61/29.86 apply (zenon_L70_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f2); [ zenon_intro zenon_H129 | zenon_intro zenon_Hf3 ]. % 29.61/29.86 exact (zenon_H11e zenon_H129). % 29.61/29.86 apply (zenon_L51_); trivial. % 29.61/29.86 (* end of lemma zenon_L111_ *) % 29.61/29.86 assert (zenon_L112_ : ((op2 (e22) (e23)) = (e22)) -> ((op2 (e20) (e23)) = (e22)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False). % 29.61/29.86 do 0 intro. intros zenon_H36 zenon_H1f3 zenon_H13c. % 29.61/29.86 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H13d | zenon_intro zenon_H13e ]. % 29.61/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H13c. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H13d. % 29.61/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.61/29.86 cut (((op2 (e22) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13f]. % 29.61/29.86 congruence. % 29.61/29.86 cut (((op2 (e22) (e23)) = (e22)) = ((op2 (e22) (e23)) = (op2 (e20) (e23)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H13f. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H36. % 29.61/29.86 cut (((e22) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1f4]. % 29.61/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.61/29.86 congruence. % 29.61/29.86 apply zenon_H13e. apply refl_equal. % 29.61/29.86 apply zenon_H1f4. apply sym_equal. exact zenon_H1f3. % 29.61/29.86 apply zenon_H13e. apply refl_equal. % 29.61/29.86 apply zenon_H13e. apply refl_equal. % 29.61/29.86 (* end of lemma zenon_L112_ *) % 29.61/29.86 assert (zenon_L113_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e20) (e23)) = (e21))\/(((op2 (e20) (e23)) = (e22))\/((op2 (e20) (e23)) = (e23))))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e22)))) -> (~((op2 (e22) (e20)) = (e22))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e22) (e21)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e22) (e20)) = (e23))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e23)) = (e22)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e20)) = (e23)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> False). % 29.61/29.86 do 0 intro. intros zenon_H1f5 zenon_H1f zenon_Hf2 zenon_H11e zenon_H2a zenon_Heb zenon_H20 zenon_H137 zenon_H1e7 zenon_H1e8 zenon_H1ee zenon_H104 zenon_H1dc zenon_H1d7 zenon_H1ed zenon_H13c zenon_H36 zenon_H1d zenon_Hbf zenon_He6. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_H21 | zenon_intro zenon_H1f6 ]. % 29.61/29.86 apply (zenon_L5_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H131 | zenon_intro zenon_H1f7 ]. % 29.61/29.86 apply (zenon_L111_); trivial. % 29.61/29.86 apply (zenon_or_s _ _ zenon_H1f7); [ zenon_intro zenon_H1f3 | zenon_intro zenon_He5 ]. % 29.61/29.86 apply (zenon_L112_); trivial. % 29.61/29.86 apply (zenon_L48_); trivial. % 29.61/29.86 (* end of lemma zenon_L113_ *) % 29.61/29.86 assert (zenon_L114_ : (~((op2 (e20) (e22)) = (op2 (e21) (e22)))) -> ((op2 (e20) (e22)) = (e20)) -> ((op2 (e21) (e22)) = (e20)) -> False). % 29.61/29.86 do 0 intro. intros zenon_H1f8 zenon_Hf9 zenon_Hfe. % 29.61/29.86 cut (((op2 (e20) (e22)) = (e20)) = ((op2 (e20) (e22)) = (op2 (e21) (e22)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1f8. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_Hf9. % 29.61/29.86 cut (((e20) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1f9]. % 29.61/29.86 cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 29.61/29.86 congruence. % 29.61/29.86 apply zenon_Hdd. apply refl_equal. % 29.61/29.86 apply zenon_H1f9. apply sym_equal. exact zenon_Hfe. % 29.61/29.86 (* end of lemma zenon_L114_ *) % 29.61/29.86 assert (zenon_L115_ : (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> ((op1 (e10) (e12)) = (e10)) -> ((op1 (e11) (e12)) = (e10)) -> False). % 29.61/29.86 do 0 intro. intros zenon_H1fa zenon_H45 zenon_H4b. % 29.61/29.86 cut (((op1 (e10) (e12)) = (e10)) = ((op1 (e10) (e12)) = (op1 (e11) (e12)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1fa. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H45. % 29.61/29.86 cut (((e10) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1fb]. % 29.61/29.86 cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 29.61/29.86 congruence. % 29.61/29.86 apply zenon_Ha7. apply refl_equal. % 29.61/29.86 apply zenon_H1fb. apply sym_equal. exact zenon_H4b. % 29.61/29.86 (* end of lemma zenon_L115_ *) % 29.61/29.86 assert (zenon_L116_ : (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> ((op1 (e11) (e12)) = (e12)) -> ((op2 (e21) (e22)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> False). % 29.61/29.86 do 0 intro. intros zenon_H1fc zenon_H1fd zenon_H1fe zenon_H15f zenon_H2a zenon_H164. % 29.61/29.86 cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1fc. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H164. % 29.61/29.86 cut (((e22) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1ff]. % 29.61/29.86 cut (((h3 (e12)) = (h3 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H200]. % 29.61/29.86 congruence. % 29.61/29.86 elim (classic ((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H202 ]. % 29.61/29.86 cut (((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12)))) = ((h3 (e12)) = (h3 (op1 (e11) (e12))))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H200. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H201. % 29.61/29.86 cut (((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H202]. % 29.61/29.86 cut (((h3 (op1 (e11) (e12))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H203]. % 29.61/29.86 congruence. % 29.61/29.86 cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H204]. % 29.61/29.86 congruence. % 29.61/29.86 exact (zenon_H204 zenon_H1fd). % 29.61/29.86 apply zenon_H202. apply refl_equal. % 29.61/29.86 apply zenon_H202. apply refl_equal. % 29.61/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ]. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12)))) = ((e22) = (op2 (h3 (e11)) (h3 (e12))))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H1ff. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H205. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H206]. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H207]. % 29.61/29.86 congruence. % 29.61/29.86 cut (((op2 (e21) (e22)) = (e22)) = ((op2 (h3 (e11)) (h3 (e12))) = (e22))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H207. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H1fe. % 29.61/29.86 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H162]. % 29.61/29.86 cut (((op2 (e21) (e22)) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H208]. % 29.61/29.86 congruence. % 29.61/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ]. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12)))) = ((op2 (e21) (e22)) = (op2 (h3 (e11)) (h3 (e12))))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H208. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H205. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H206]. % 29.61/29.86 cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 29.61/29.86 congruence. % 29.61/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.61/29.86 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.61/29.86 congruence. % 29.61/29.86 apply (zenon_L79_); trivial. % 29.61/29.86 exact (zenon_H20a zenon_H164). % 29.61/29.86 apply zenon_H206. apply refl_equal. % 29.61/29.86 apply zenon_H206. apply refl_equal. % 29.61/29.86 apply zenon_H162. apply refl_equal. % 29.61/29.86 apply zenon_H206. apply refl_equal. % 29.61/29.86 apply zenon_H206. apply refl_equal. % 29.61/29.86 (* end of lemma zenon_L116_ *) % 29.61/29.86 assert (zenon_L117_ : (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e12)) = (e13)) -> False). % 29.61/29.86 do 0 intro. intros zenon_H20b zenon_H4e zenon_H20c. % 29.61/29.86 cut (((e13) = (op1 (e12) (e12))) = ((op1 (e11) (e12)) = (op1 (e12) (e12)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H20b. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H4e. % 29.61/29.86 cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 29.61/29.86 cut (((e13) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20d]. % 29.61/29.86 congruence. % 29.61/29.86 elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H20e | zenon_intro zenon_H20f ]. % 29.61/29.86 cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e13) = (op1 (e11) (e12)))). % 29.61/29.86 intro zenon_D_pnotp. % 29.61/29.86 apply zenon_H20d. % 29.61/29.86 rewrite <- zenon_D_pnotp. % 29.61/29.86 exact zenon_H20e. % 29.61/29.86 cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 29.61/29.86 cut (((op1 (e11) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 29.61/29.86 congruence. % 29.61/29.86 exact (zenon_H210 zenon_H20c). % 29.61/29.86 apply zenon_H20f. apply refl_equal. % 29.61/29.86 apply zenon_H20f. apply refl_equal. % 29.61/29.86 apply zenon_H68. apply refl_equal. % 29.61/29.86 (* end of lemma zenon_L117_ *) % 29.61/29.86 assert (zenon_L118_ : (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> ((op1 (e10) (e12)) = (e10)) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e21) (e22)) = (e22)) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H211 zenon_H45 zenon_H1fa zenon_H14f zenon_H196 zenon_H164 zenon_H2a zenon_H15f zenon_H1fe zenon_H1fc zenon_H20b zenon_H4e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H211); [ zenon_intro zenon_H4b | zenon_intro zenon_H212 ]. % 29.69/29.86 apply (zenon_L115_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H212); [ zenon_intro zenon_H4a | zenon_intro zenon_H213 ]. % 29.69/29.86 apply (zenon_L93_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H213); [ zenon_intro zenon_H1fd | zenon_intro zenon_H20c ]. % 29.69/29.86 apply (zenon_L116_); trivial. % 29.69/29.86 apply (zenon_L117_); trivial. % 29.69/29.86 (* end of lemma zenon_L118_ *) % 29.69/29.86 assert (zenon_L119_ : (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e22)) = (e23)) -> False). % 29.69/29.86 do 0 intro. intros zenon_H214 zenon_H1d zenon_H215. % 29.69/29.86 cut (((e23) = (op2 (e22) (e22))) = ((op2 (e21) (e22)) = (op2 (e22) (e22)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H214. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1d. % 29.69/29.86 cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hda]. % 29.69/29.86 cut (((e23) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H216]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H217 | zenon_intro zenon_H218 ]. % 29.69/29.86 cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e23) = (op2 (e21) (e22)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H216. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H217. % 29.69/29.86 cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H218]. % 29.69/29.86 cut (((op2 (e21) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H219]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H219 zenon_H215). % 29.69/29.86 apply zenon_H218. apply refl_equal. % 29.69/29.86 apply zenon_H218. apply refl_equal. % 29.69/29.86 apply zenon_Hda. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L119_ *) % 29.69/29.86 assert (zenon_L120_ : (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e23)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H21a zenon_H20 zenon_H21b zenon_H1d. % 29.69/29.86 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H21a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H20. % 29.69/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.69/29.86 cut (((e20) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H21c]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ]. % 29.69/29.86 cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e20) = (op2 (e21) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H21c. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H2d. % 29.69/29.86 cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 29.69/29.86 cut (((op2 (e21) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H21d zenon_H21b). % 29.69/29.86 apply zenon_H2e. apply refl_equal. % 29.69/29.86 apply zenon_H2e. apply refl_equal. % 29.69/29.86 apply (zenon_L4_); trivial. % 29.69/29.86 (* end of lemma zenon_L120_ *) % 29.69/29.86 assert (zenon_L121_ : ((op2 (e22) (e23)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H36 zenon_H21e zenon_H21f. % 29.69/29.86 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H13d | zenon_intro zenon_H13e ]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e21) (e23)) = (op2 (e22) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H21f. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H13d. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H220]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e22) (e23)) = (e22)) = ((op2 (e22) (e23)) = (op2 (e21) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H220. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H36. % 29.69/29.86 cut (((e22) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H13e. apply refl_equal. % 29.69/29.86 apply zenon_H221. apply sym_equal. exact zenon_H21e. % 29.69/29.86 apply zenon_H13e. apply refl_equal. % 29.69/29.86 apply zenon_H13e. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L121_ *) % 29.69/29.86 assert (zenon_L122_ : ((op1 (e11) (e10)) = (e11)) -> ((op1 (e11) (e10)) = (e13)) -> (~((e11) = (e13))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H14f zenon_H222 zenon_Hab. % 29.69/29.86 elim (classic ((e13) = (e13))); [ zenon_intro zenon_H51 | zenon_intro zenon_H4d ]. % 29.69/29.86 cut (((e13) = (e13)) = ((e11) = (e13))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_Hab. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H51. % 29.69/29.86 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.69/29.86 cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e11) (e10)) = (e11)) = ((e13) = (e11))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_Hac. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H14f. % 29.69/29.86 cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 29.69/29.86 cut (((op1 (e11) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H223 zenon_H222). % 29.69/29.86 apply zenon_H48. apply refl_equal. % 29.69/29.86 apply zenon_H4d. apply refl_equal. % 29.69/29.86 apply zenon_H4d. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L122_ *) % 29.69/29.86 assert (zenon_L123_ : ((op1 (e13) (e11)) = (e13)) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H9c zenon_H224 zenon_H225. % 29.69/29.86 elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H9f | zenon_intro zenon_Ha0 ]. % 29.69/29.86 cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e11) (e11)) = (op1 (e13) (e11)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H225. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9f. % 29.69/29.86 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 29.69/29.86 cut (((op1 (e13) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H226]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e11)) = (e13)) = ((op1 (e13) (e11)) = (op1 (e11) (e11)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H226. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9c. % 29.69/29.86 cut (((e13) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H227]. % 29.69/29.86 cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_Ha0. apply refl_equal. % 29.69/29.86 apply zenon_H227. apply sym_equal. exact zenon_H224. % 29.69/29.86 apply zenon_Ha0. apply refl_equal. % 29.69/29.86 apply zenon_Ha0. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L123_ *) % 29.69/29.86 assert (zenon_L124_ : (~((h3 (e13)) = (e23))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H228 zenon_Hc0 zenon_H1d. % 29.69/29.86 cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (e13)) = (e23))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H228. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hc0. % 29.69/29.86 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 29.69/29.86 cut (((h3 (e13)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H229. apply refl_equal. % 29.69/29.86 apply zenon_H1e. apply sym_equal. exact zenon_H1d. % 29.69/29.86 (* end of lemma zenon_L124_ *) % 29.69/29.86 assert (zenon_L125_ : (((op1 (e11) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e11) (e12)) = (e13))\/((op1 (e11) (e13)) = (e13))))) -> (~((e11) = (e13))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> ((op2 (e21) (e23)) = (e23)) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H22a zenon_Hab zenon_H14f zenon_H225 zenon_H9c zenon_H4e zenon_H20b zenon_H22b zenon_H22c zenon_H15f zenon_H2a zenon_Hc0 zenon_H1d. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H22a); [ zenon_intro zenon_H222 | zenon_intro zenon_H22d ]. % 29.69/29.86 apply (zenon_L122_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H22d); [ zenon_intro zenon_H224 | zenon_intro zenon_H22e ]. % 29.69/29.86 apply (zenon_L123_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H22e); [ zenon_intro zenon_H20c | zenon_intro zenon_H22f ]. % 29.69/29.86 apply (zenon_L117_); trivial. % 29.69/29.86 cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H22b. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hc0. % 29.69/29.86 cut (((op2 (e22) (e22)) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 29.69/29.86 cut (((h3 (e13)) = (h3 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H231]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H233 ]. % 29.69/29.86 cut (((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13)))) = ((h3 (e13)) = (h3 (op1 (e11) (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H231. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H232. % 29.69/29.86 cut (((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H233]. % 29.69/29.86 cut (((h3 (op1 (e11) (e13))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H234]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e11) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H235 zenon_H22f). % 29.69/29.86 apply zenon_H233. apply refl_equal. % 29.69/29.86 apply zenon_H233. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [ zenon_intro zenon_H236 | zenon_intro zenon_H237 ]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13)))) = ((op2 (e22) (e22)) = (op2 (h3 (e11)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H230. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H236. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H238]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e21) (e23)) = (e23)) = ((op2 (h3 (e11)) (h3 (e13))) = (op2 (e22) (e22)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H238. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H22c. % 29.69/29.86 cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 29.69/29.86 cut (((op2 (e21) (e23)) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H239]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [ zenon_intro zenon_H236 | zenon_intro zenon_H237 ]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13)))) = ((op2 (e21) (e23)) = (op2 (h3 (e11)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H239. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H236. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H23a]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 29.69/29.86 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L79_); trivial. % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 apply zenon_H237. apply refl_equal. % 29.69/29.86 apply zenon_H237. apply refl_equal. % 29.69/29.86 exact (zenon_Hcd zenon_H1d). % 29.69/29.86 apply zenon_H237. apply refl_equal. % 29.69/29.86 apply zenon_H237. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L125_ *) % 29.69/29.86 assert (zenon_L126_ : (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> ((op1 (e12) (e10)) = (e10)) -> ((op2 (e22) (e20)) = (e20)) -> ((h3 (e12)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H23b zenon_H1bf zenon_H1e2 zenon_H164 zenon_H9a zenon_H20. % 29.69/29.86 cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H23b. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9a. % 29.69/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H23c]. % 29.69/29.86 cut (((h3 (e10)) = (h3 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H23d]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10))))); [ zenon_intro zenon_H23e | zenon_intro zenon_H23f ]. % 29.69/29.86 cut (((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10)))) = ((h3 (e10)) = (h3 (op1 (e12) (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H23d. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H23e. % 29.69/29.86 cut (((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H23f]. % 29.69/29.86 cut (((h3 (op1 (e12) (e10))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H240]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e12) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H241]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H241 zenon_H1bf). % 29.69/29.86 apply zenon_H23f. apply refl_equal. % 29.69/29.86 apply zenon_H23f. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H23c. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H242. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H244]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e22) (e20)) = (e20)) = ((op2 (h3 (e12)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H244. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1e2. % 29.69/29.86 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 29.69/29.86 cut (((op2 (e22) (e20)) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H245]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10)))) = ((op2 (e22) (e20)) = (op2 (h3 (e12)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H245. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H242. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H246]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.69/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply (zenon_L37_); trivial. % 29.69/29.86 apply zenon_H243. apply refl_equal. % 29.69/29.86 apply zenon_H243. apply refl_equal. % 29.69/29.86 exact (zenon_H1b1 zenon_H20). % 29.69/29.86 apply zenon_H243. apply refl_equal. % 29.69/29.86 apply zenon_H243. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L126_ *) % 29.69/29.86 assert (zenon_L127_ : (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op2 (e22) (e20)) = (e20)) -> (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e12) (e10)) = (e12))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H1d1 zenon_H20 zenon_H9a zenon_H164 zenon_H1e2 zenon_H23b zenon_H155 zenon_H57 zenon_H14f zenon_Ha9 zenon_H81 zenon_H70 zenon_H1cd zenon_H4e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H1d1); [ zenon_intro zenon_H1bf | zenon_intro zenon_H1d2 ]. % 29.69/29.86 apply (zenon_L126_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H1d2); [ zenon_intro zenon_H154 | zenon_intro zenon_H1d3 ]. % 29.69/29.86 apply (zenon_L76_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H1d3); [ zenon_intro zenon_H18c | zenon_intro zenon_H1ce ]. % 29.69/29.86 exact (zenon_H70 zenon_H18c). % 29.69/29.86 apply (zenon_L104_); trivial. % 29.69/29.86 (* end of lemma zenon_L127_ *) % 29.69/29.86 assert (zenon_L128_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> (~((op1 (e12) (e10)) = (e12))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> ((op2 (e22) (e20)) = (e20)) -> ((h3 (e12)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_Hbb zenon_H1cd zenon_H70 zenon_H14f zenon_H155 zenon_H23b zenon_H1e2 zenon_H164 zenon_H9a zenon_H20 zenon_H1d1 zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.69/29.86 apply (zenon_L127_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.69/29.86 exact (zenon_H88 zenon_H82). % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.69/29.86 apply (zenon_L41_); trivial. % 29.69/29.86 apply (zenon_L42_); trivial. % 29.69/29.86 (* end of lemma zenon_L128_ *) % 29.69/29.86 assert (zenon_L129_ : (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e22) (e23)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H247 zenon_H20 zenon_H248 zenon_H1d. % 29.69/29.86 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e22) (e23)) = (op2 (e23) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H247. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H20. % 29.69/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c]. % 29.69/29.86 cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H249]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H13d | zenon_intro zenon_H13e ]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e20) = (op2 (e22) (e23)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H249. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H13d. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H24a]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H24a zenon_H248). % 29.69/29.86 apply zenon_H13e. apply refl_equal. % 29.69/29.86 apply zenon_H13e. apply refl_equal. % 29.69/29.86 apply (zenon_L4_); trivial. % 29.69/29.86 (* end of lemma zenon_L129_ *) % 29.69/29.86 assert (zenon_L130_ : (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e12) (e10)) = (e13))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e12) (e10)) = (e12))) -> (~((op1 (e12) (e10)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e20)) = (e23)) -> ((op2 (e22) (e23)) = (e22)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e22))\/((op2 (e22) (e20)) = (e23))))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op2 (e22) (e20)) = (e22))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e20) (e23)) = (e21))\/(((op2 (e20) (e23)) = (e22))\/((op2 (e20) (e23)) = (e23))))) -> (~((e20) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H24b zenon_H77 zenon_H57 zenon_H4e zenon_H81 zenon_Haf zenon_H88 zenon_H1d1 zenon_H9a zenon_H164 zenon_H23b zenon_H155 zenon_H14f zenon_H70 zenon_H1cd zenon_Hbb zenon_He6 zenon_Hbf zenon_H36 zenon_H13c zenon_H1ed zenon_H1d7 zenon_H1dc zenon_H104 zenon_H1ee zenon_H1e8 zenon_H137 zenon_Heb zenon_H2a zenon_H11e zenon_Hf2 zenon_H1f zenon_H1f5 zenon_H101 zenon_H247 zenon_H20 zenon_H1d. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H24b); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H24c ]. % 29.69/29.86 apply (zenon_L128_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H24c); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H24d ]. % 29.69/29.86 apply (zenon_L113_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H24d); [ zenon_intro zenon_H100 | zenon_intro zenon_H248 ]. % 29.69/29.86 apply (zenon_L55_); trivial. % 29.69/29.86 apply (zenon_L129_); trivial. % 29.69/29.86 (* end of lemma zenon_L130_ *) % 29.69/29.86 assert (zenon_L131_ : (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> ((op1 (e12) (e11)) = (e11)) -> ((op2 (e22) (e21)) = (e21)) -> ((h3 (e12)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H24e zenon_H15c zenon_H14c zenon_H164 zenon_H15f zenon_H2a. % 29.69/29.86 cut (((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H24e. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H15f. % 29.69/29.86 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H24f]. % 29.69/29.86 cut (((h3 (e11)) = (h3 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H250]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ]. % 29.69/29.86 cut (((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11)))) = ((h3 (e11)) = (h3 (op1 (e12) (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H250. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H251. % 29.69/29.86 cut (((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H252]. % 29.69/29.86 cut (((h3 (op1 (e12) (e11))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H253]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e12) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H254]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H254 zenon_H15c). % 29.69/29.86 apply zenon_H252. apply refl_equal. % 29.69/29.86 apply zenon_H252. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [ zenon_intro zenon_H255 | zenon_intro zenon_H256 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11)))) = ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H24f. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H255. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H256]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H257]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e22) (e21)) = (e21)) = ((op2 (h3 (e12)) (h3 (e11))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H257. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H14c. % 29.69/29.86 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H258]. % 29.69/29.86 cut (((op2 (e22) (e21)) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H259]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [ zenon_intro zenon_H255 | zenon_intro zenon_H256 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11)))) = ((op2 (e22) (e21)) = (op2 (h3 (e12)) (h3 (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H259. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H255. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H256]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.69/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply (zenon_L79_); trivial. % 29.69/29.86 apply zenon_H256. apply refl_equal. % 29.69/29.86 apply zenon_H256. apply refl_equal. % 29.69/29.86 exact (zenon_H258 zenon_H2a). % 29.69/29.86 apply zenon_H256. apply refl_equal. % 29.69/29.86 apply zenon_H256. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L131_ *) % 29.69/29.86 assert (zenon_L132_ : (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op2 (e22) (e21)) = (e21)) -> (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> (~((e11) = (e13))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H17d zenon_H77 zenon_H88 zenon_H14f zenon_H155 zenon_Hbb zenon_H2a zenon_H15f zenon_H164 zenon_H14c zenon_H24e zenon_Hab zenon_H81 zenon_H4e zenon_H57 zenon_Haf. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H17d); [ zenon_intro zenon_H154 | zenon_intro zenon_H17e ]. % 29.69/29.86 apply (zenon_L77_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H17e); [ zenon_intro zenon_H15c | zenon_intro zenon_H17f ]. % 29.69/29.86 apply (zenon_L131_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H17f); [ zenon_intro zenon_H17b | zenon_intro zenon_Hae ]. % 29.69/29.86 apply (zenon_L84_); trivial. % 29.69/29.86 apply (zenon_L41_); trivial. % 29.69/29.86 (* end of lemma zenon_L132_ *) % 29.69/29.86 assert (zenon_L133_ : (((op1 (e11) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H89 zenon_H88. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H89). zenon_intro zenon_H82. zenon_intro zenon_H8a. % 29.69/29.86 exact (zenon_H88 zenon_H82). % 29.69/29.86 (* end of lemma zenon_L133_ *) % 29.69/29.86 assert (zenon_L134_ : ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e23) (e20)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H2a zenon_H25b zenon_H131 zenon_Heb zenon_H20 zenon_H1d zenon_H25c. % 29.69/29.86 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H1da | zenon_intro zenon_H116 ]. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e21) (e20)) = (op2 (e23) (e20)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H25c. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1da. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H25d]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((op2 (e23) (e20)) = (op2 (e21) (e20)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H25d. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H2a. % 29.69/29.86 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 29.69/29.86 cut (((e21) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H25e]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H1da | zenon_intro zenon_H116 ]. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e21) = (op2 (e23) (e20)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H25e. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1da. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H116]. % 29.69/29.86 cut (((op2 (e23) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H25f]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H25f zenon_H25b). % 29.69/29.86 apply zenon_H116. apply refl_equal. % 29.69/29.86 apply zenon_H116. apply refl_equal. % 29.69/29.86 apply (zenon_L69_); trivial. % 29.69/29.86 apply zenon_H116. apply refl_equal. % 29.69/29.86 apply zenon_H116. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L134_ *) % 29.69/29.86 assert (zenon_L135_ : ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((op1 (e13) (e10)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H81 zenon_H260 zenon_Ha9 zenon_H14f zenon_H57 zenon_H4e zenon_H261. % 29.69/29.86 elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H190 ]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((op1 (e11) (e10)) = (op1 (e13) (e10)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H261. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1b7. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H262]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) = ((op1 (e13) (e10)) = (op1 (e11) (e10)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H262. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H81. % 29.69/29.86 cut (((op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12))) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14e]. % 29.69/29.86 cut (((e11) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H263]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H190 ]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e11) = (op1 (e13) (e10)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H263. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1b7. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H264]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H264 zenon_H260). % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 apply (zenon_L75_); trivial. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L135_ *) % 29.69/29.86 assert (zenon_L136_ : ((h3 (e12)) = (e22)) -> ((op1 (e13) (e10)) = (e12)) -> (~((e22) = (h3 (op1 (e13) (e10))))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H164 zenon_H265 zenon_H266. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [ zenon_intro zenon_H267 | zenon_intro zenon_H268 ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10)))) = ((e22) = (h3 (op1 (e13) (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H266. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H267. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e13) (e10))) = (e22))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H269. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H164. % 29.69/29.86 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H162]. % 29.69/29.86 cut (((h3 (e12)) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H26a]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [ zenon_intro zenon_H267 | zenon_intro zenon_H268 ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10)))) = ((h3 (e12)) = (h3 (op1 (e13) (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H26a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H267. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 29.69/29.86 cut (((h3 (op1 (e13) (e10))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26b]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H26c]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H26c zenon_H265). % 29.69/29.86 apply zenon_H268. apply refl_equal. % 29.69/29.86 apply zenon_H268. apply refl_equal. % 29.69/29.86 apply zenon_H162. apply refl_equal. % 29.69/29.86 apply zenon_H268. apply refl_equal. % 29.69/29.86 apply zenon_H268. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L136_ *) % 29.69/29.86 assert (zenon_L137_ : ((op2 (e23) (e20)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op1 (e13) (e10)) = (e12)) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H26d zenon_Hc0 zenon_H1d zenon_H9a zenon_H20 zenon_H164 zenon_H265 zenon_H26e. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [ zenon_intro zenon_H26f | zenon_intro zenon_H270 ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10)))) = ((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H26e. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H26f. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H270]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H271]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e23) (e20)) = (e22)) = ((op2 (h3 (e13)) (h3 (e10))) = (h3 (op1 (e13) (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H271. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H26d. % 29.69/29.86 cut (((e22) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H266]. % 29.69/29.86 cut (((op2 (e23) (e20)) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H272]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [ zenon_intro zenon_H26f | zenon_intro zenon_H270 ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10)))) = ((op2 (e23) (e20)) = (op2 (h3 (e13)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H272. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H26f. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H270]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H273]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.69/29.86 cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 apply (zenon_L37_); trivial. % 29.69/29.86 apply zenon_H270. apply refl_equal. % 29.69/29.86 apply zenon_H270. apply refl_equal. % 29.69/29.86 apply (zenon_L136_); trivial. % 29.69/29.86 apply zenon_H270. apply refl_equal. % 29.69/29.86 apply zenon_H270. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L137_ *) % 29.69/29.86 assert (zenon_L138_ : ((op1 (e13) (e10)) = (e13)) -> ((op1 (e10) (e10)) = (e13)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H18e zenon_Hc3 zenon_H274. % 29.69/29.86 elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H190 ]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((op1 (e10) (e10)) = (op1 (e13) (e10)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H274. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H1b7. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e10)) = (e13)) = ((op1 (e13) (e10)) = (op1 (e10) (e10)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H275. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H18e. % 29.69/29.86 cut (((e13) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H276]. % 29.69/29.86 cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H190]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 apply zenon_H276. apply sym_equal. exact zenon_Hc3. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 apply zenon_H190. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L138_ *) % 29.69/29.86 assert (zenon_L139_ : (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e10) (e13)) = (e11)) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> ((h3 (e12)) = (e22)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e23) (e20)) = (e22)) -> ((op1 (e10) (e10)) = (e13)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H277 zenon_H1b4 zenon_H261 zenon_H4e zenon_H57 zenon_H14f zenon_Ha9 zenon_H81 zenon_H26e zenon_H164 zenon_H20 zenon_H9a zenon_H1d zenon_Hc0 zenon_H26d zenon_Hc3 zenon_H274. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H277); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H278 ]. % 29.69/29.86 apply (zenon_L100_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H278); [ zenon_intro zenon_H260 | zenon_intro zenon_H279 ]. % 29.69/29.86 apply (zenon_L135_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H279); [ zenon_intro zenon_H265 | zenon_intro zenon_H18e ]. % 29.69/29.86 apply (zenon_L137_); trivial. % 29.69/29.86 apply (zenon_L138_); trivial. % 29.69/29.86 (* end of lemma zenon_L139_ *) % 29.69/29.86 assert (zenon_L140_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e11) (e10)) = (e11)) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> ((h3 (e12)) = (e22)) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e23) (e20)) = (e22)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e13))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_Hbe zenon_H277 zenon_H1b4 zenon_H261 zenon_H14f zenon_H26e zenon_H164 zenon_H20 zenon_H9a zenon_H1d zenon_Hc0 zenon_H26d zenon_H274 zenon_H9e zenon_H9c zenon_Ha3 zenon_Hbb zenon_Hab zenon_H88 zenon_Haf zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbe); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc2 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.69/29.86 apply (zenon_L139_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.69/29.86 exact (zenon_H88 zenon_H82). % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.69/29.86 apply (zenon_L41_); trivial. % 29.69/29.86 apply (zenon_L42_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hd0 ]. % 29.69/29.86 apply (zenon_L38_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hd0); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Haa ]. % 29.69/29.86 apply (zenon_L39_); trivial. % 29.69/29.86 apply (zenon_L43_); trivial. % 29.69/29.86 (* end of lemma zenon_L140_ *) % 29.69/29.86 assert (zenon_L141_ : (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e20)) = (e21))\/(((op2 (e23) (e20)) = (e22))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e20) (e23)) = (e21)) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> (~((e11) = (e13))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e10) (e11)) = (e13))\/(((op1 (e10) (e12)) = (e13))\/((op1 (e10) (e13)) = (e13))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> False). % 29.69/29.86 do 0 intro. intros zenon_H27a zenon_H1d7 zenon_H25c zenon_Heb zenon_H131 zenon_H2a zenon_H77 zenon_H57 zenon_H4e zenon_H81 zenon_Haf zenon_H88 zenon_Hab zenon_Hbb zenon_Ha3 zenon_H9c zenon_H9e zenon_H274 zenon_Hc0 zenon_H1d zenon_H9a zenon_H20 zenon_H164 zenon_H26e zenon_H14f zenon_H261 zenon_H1b4 zenon_H277 zenon_Hbe zenon_H113 zenon_Hd1. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H27a); [ zenon_intro zenon_H1d8 | zenon_intro zenon_H27b ]. % 29.69/29.86 apply (zenon_L107_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H27b); [ zenon_intro zenon_H25b | zenon_intro zenon_H27c ]. % 29.69/29.86 apply (zenon_L134_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H27c); [ zenon_intro zenon_H26d | zenon_intro zenon_H114 ]. % 29.69/29.86 apply (zenon_L140_); trivial. % 29.69/29.86 apply (zenon_L59_); trivial. % 29.69/29.86 (* end of lemma zenon_L141_ *) % 29.69/29.86 assert (zenon_L142_ : ((h3 (e13)) = (op2 (e22) (e22))) -> ((op1 (e13) (e11)) = (e13)) -> ((e23) = (op2 (e22) (e22))) -> (~((e23) = (h3 (op1 (e13) (e11))))) -> False). % 29.69/29.86 do 0 intro. intros zenon_Hc0 zenon_H9c zenon_H1d zenon_H27d. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [ zenon_intro zenon_H27e | zenon_intro zenon_H27f ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11)))) = ((e23) = (h3 (op1 (e13) (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H27d. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H27e. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27f]. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e13) (e11))) = (e23))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H280. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hc0. % 29.69/29.86 cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1e]. % 29.69/29.86 cut (((h3 (e13)) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H281]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [ zenon_intro zenon_H27e | zenon_intro zenon_H27f ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11)))) = ((h3 (e13)) = (h3 (op1 (e13) (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H281. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H27e. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27f]. % 29.69/29.86 cut (((h3 (op1 (e13) (e11))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H282]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H8a zenon_H9c). % 29.69/29.86 apply zenon_H27f. apply refl_equal. % 29.69/29.86 apply zenon_H27f. apply refl_equal. % 29.69/29.86 apply zenon_H1e. apply sym_equal. exact zenon_H1d. % 29.69/29.86 apply zenon_H27f. apply refl_equal. % 29.69/29.86 apply zenon_H27f. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L142_ *) % 29.69/29.86 assert (zenon_L143_ : (~((e21) = (e23))) -> ((op2 (e23) (e21)) = (e23)) -> ((op2 (e23) (e21)) = (e21)) -> False). % 29.69/29.86 do 0 intro. intros zenon_Hed zenon_Hd1 zenon_H283. % 29.69/29.86 cut (((op2 (e23) (e21)) = (e23)) = ((e21) = (e23))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_Hed. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hd1. % 29.69/29.86 cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 29.69/29.86 cut (((op2 (e23) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H284]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H284 zenon_H283). % 29.69/29.86 apply zenon_Hef. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L143_ *) % 29.69/29.86 assert (zenon_L144_ : (~((e11) = (e13))) -> ((op1 (e13) (e11)) = (e13)) -> ((op1 (e13) (e11)) = (e11)) -> False). % 29.69/29.86 do 0 intro. intros zenon_Hab zenon_H9c zenon_H285. % 29.69/29.86 cut (((op1 (e13) (e11)) = (e13)) = ((e11) = (e13))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_Hab. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9c. % 29.69/29.86 cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4d]. % 29.69/29.86 cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H286]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H286 zenon_H285). % 29.69/29.86 apply zenon_H4d. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L144_ *) % 29.69/29.86 assert (zenon_L145_ : (~((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op1 (e13) (e12)) = (e11)) -> ((op2 (e23) (e22)) = (e21)) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e12)) = (e22)) -> False). % 29.69/29.86 do 0 intro. intros zenon_H287 zenon_H15f zenon_H288 zenon_H289 zenon_H2a zenon_Hc0 zenon_H1d zenon_H164. % 29.69/29.86 cut (((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H287. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H15f. % 29.69/29.86 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e13)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 29.69/29.86 cut (((h3 (e11)) = (h3 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28b]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12))))); [ zenon_intro zenon_H28c | zenon_intro zenon_H28d ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12)))) = ((h3 (e11)) = (h3 (op1 (e13) (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H28b. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H28c. % 29.69/29.86 cut (((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28d]. % 29.69/29.86 cut (((h3 (op1 (e13) (e12))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H28e]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H28f]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H28f zenon_H288). % 29.69/29.86 apply zenon_H28d. apply refl_equal. % 29.69/29.86 apply zenon_H28d. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12))))); [ zenon_intro zenon_H290 | zenon_intro zenon_H291 ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12)))) = ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e13)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H28a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H290. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H291]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H292]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e23) (e22)) = (e21)) = ((op2 (h3 (e13)) (h3 (e12))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H292. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H289. % 29.69/29.86 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H258]. % 29.69/29.86 cut (((op2 (e23) (e22)) = (op2 (h3 (e13)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H293]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12))))); [ zenon_intro zenon_H290 | zenon_intro zenon_H291 ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12)))) = ((op2 (e23) (e22)) = (op2 (h3 (e13)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H293. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H290. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (h3 (e13)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H291]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e12))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H294]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.69/29.86 cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply zenon_H291. apply refl_equal. % 29.69/29.86 apply zenon_H291. apply refl_equal. % 29.69/29.86 exact (zenon_H258 zenon_H2a). % 29.69/29.86 apply zenon_H291. apply refl_equal. % 29.69/29.86 apply zenon_H291. apply refl_equal. % 29.69/29.86 (* end of lemma zenon_L145_ *) % 29.69/29.86 assert (zenon_L146_ : (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (e11))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> ((op1 (e13) (e11)) = (e13)) -> (~((e11) = (e13))) -> ((h3 (e12)) = (e22)) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> ((op2 (e23) (e22)) = (e21)) -> ((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) -> (~((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))) -> ((e11) = (op1 (op1 (op1 (e12) (e12)) (op1 (e12) (e12))) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H295 zenon_Haf zenon_H88 zenon_H14f zenon_H261 zenon_Hbb zenon_H9c zenon_Hab zenon_H164 zenon_H1d zenon_Hc0 zenon_H2a zenon_H289 zenon_H15f zenon_H287 zenon_H81 zenon_H4e zenon_H57 zenon_H77. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H260 | zenon_intro zenon_H296 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.69/29.86 apply (zenon_L135_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.69/29.86 exact (zenon_H88 zenon_H82). % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.69/29.86 apply (zenon_L41_); trivial. % 29.69/29.86 apply (zenon_L42_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H285 | zenon_intro zenon_H297 ]. % 29.69/29.86 apply (zenon_L144_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H288 | zenon_intro zenon_Hb5 ]. % 29.69/29.86 apply (zenon_L145_); trivial. % 29.69/29.86 apply (zenon_L42_); trivial. % 29.69/29.86 (* end of lemma zenon_L146_ *) % 29.69/29.86 assert (zenon_L147_ : (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e11) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H298 zenon_H57 zenon_H299 zenon_H4e. % 29.69/29.86 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H298. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H57. % 29.69/29.86 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.69/29.86 cut (((e10) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H29a]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ]. % 29.69/29.86 cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e10) = (op1 (e11) (e13)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H29a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H84. % 29.69/29.86 cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 29.69/29.86 cut (((op1 (e11) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H29b]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H29b zenon_H299). % 29.69/29.86 apply zenon_H85. apply refl_equal. % 29.69/29.86 apply zenon_H85. apply refl_equal. % 29.69/29.86 apply (zenon_L20_); trivial. % 29.69/29.86 (* end of lemma zenon_L147_ *) % 29.69/29.86 assert (zenon_L148_ : (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e12) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H29c zenon_H57 zenon_H29d zenon_H4e. % 29.69/29.86 cut (((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e12) (e13)) = (op1 (e13) (e13)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H29c. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H57. % 29.69/29.86 cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 29.69/29.86 cut (((e10) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H29e]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Hb1 ]. % 29.69/29.86 cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e10) = (op1 (e12) (e13)))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H29e. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hb0. % 29.69/29.86 cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 29.69/29.86 cut (((op1 (e12) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H29f]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H29f zenon_H29d). % 29.69/29.86 apply zenon_Hb1. apply refl_equal. % 29.69/29.86 apply zenon_Hb1. apply refl_equal. % 29.69/29.86 apply (zenon_L20_); trivial. % 29.69/29.86 (* end of lemma zenon_L148_ *) % 29.69/29.86 assert (zenon_L149_ : (~((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op1 (e13) (e13)) = (e10)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H2a0 zenon_H9a zenon_H1be zenon_Hc0. % 29.69/29.86 cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H2a0. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9a. % 29.69/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e13)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2a1]. % 29.69/29.86 cut (((h3 (e10)) = (h3 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2a2]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13))))); [ zenon_intro zenon_H2a3 | zenon_intro zenon_H2a4 ]. % 29.69/29.86 cut (((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13)))) = ((h3 (e10)) = (h3 (op1 (e13) (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H2a2. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H2a3. % 29.69/29.86 cut (((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2a4]. % 29.69/29.86 cut (((h3 (op1 (e13) (e13))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2a5]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a6]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H2a6 zenon_H1be). % 29.69/29.86 apply zenon_H2a4. apply refl_equal. % 29.69/29.86 apply zenon_H2a4. apply refl_equal. % 29.69/29.86 cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 29.69/29.86 cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a3]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H1a3. apply sym_equal. exact zenon_Hc0. % 29.69/29.86 apply zenon_H1a3. apply sym_equal. exact zenon_Hc0. % 29.69/29.86 (* end of lemma zenon_L149_ *) % 29.69/29.86 assert (zenon_L150_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H2a7 zenon_H77 zenon_H298 zenon_H4e zenon_H57 zenon_H29c zenon_H2a0 zenon_H9a zenon_Hc0. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H2a7); [ zenon_intro zenon_H78 | zenon_intro zenon_H2a8 ]. % 29.69/29.86 apply (zenon_L27_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H2a8); [ zenon_intro zenon_H299 | zenon_intro zenon_H2a9 ]. % 29.69/29.86 apply (zenon_L147_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H2a9); [ zenon_intro zenon_H29d | zenon_intro zenon_H1be ]. % 29.69/29.86 apply (zenon_L148_); trivial. % 29.69/29.86 apply (zenon_L149_); trivial. % 29.69/29.86 (* end of lemma zenon_L150_ *) % 29.69/29.86 assert (zenon_L151_ : (~(((h3 (e10)) = (e23))\/(((h3 (e11)) = (e23))\/(((h3 (e12)) = (e23))\/((h3 (e13)) = (e23)))))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False). % 29.69/29.86 do 0 intro. intros zenon_H2aa zenon_Hc0 zenon_H1d. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H2aa). zenon_intro zenon_H2ac. zenon_intro zenon_H2ab. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H2ab). zenon_intro zenon_H2ae. zenon_intro zenon_H2ad. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H2ad). zenon_intro zenon_H2af. zenon_intro zenon_H228. % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 (* end of lemma zenon_L151_ *) % 29.69/29.86 apply NNPP. intro zenon_G. % 29.69/29.86 apply (zenon_and_s _ _ ax1). zenon_intro zenon_H2b1. zenon_intro zenon_H2b0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b0). zenon_intro zenon_H172. zenon_intro zenon_H2b2. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H2b4. zenon_intro zenon_H2b3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b3). zenon_intro zenon_H2b6. zenon_intro zenon_H2b5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b5). zenon_intro zenon_H2b8. zenon_intro zenon_H2b7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b7). zenon_intro zenon_H2ba. zenon_intro zenon_H2b9. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2b9). zenon_intro zenon_H211. zenon_intro zenon_H2bb. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2bb). zenon_intro zenon_H2bd. zenon_intro zenon_H2bc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2bc). zenon_intro zenon_H1d1. zenon_intro zenon_H2be. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2be). zenon_intro zenon_H2c0. zenon_intro zenon_H2bf. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2bf). zenon_intro zenon_H2c2. zenon_intro zenon_H2c1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2c1). zenon_intro zenon_H2c4. zenon_intro zenon_H2c3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2c3). zenon_intro zenon_H277. zenon_intro zenon_H2c5. % 29.69/29.86 apply (zenon_and_s _ _ ax2). zenon_intro zenon_H2c7. zenon_intro zenon_H2c6. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2c6). zenon_intro zenon_H2c9. zenon_intro zenon_H2c8. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2c8). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H2cd. zenon_intro zenon_H2cc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2cc). zenon_intro zenon_H2cf. zenon_intro zenon_H2ce. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H2d1. zenon_intro zenon_H2d0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d0). zenon_intro zenon_Hbe. zenon_intro zenon_H2d2. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d2). zenon_intro zenon_H2d4. zenon_intro zenon_H2d3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d3). zenon_intro zenon_H2d6. zenon_intro zenon_H2d5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d5). zenon_intro zenon_H1d4. zenon_intro zenon_H2d7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d7). zenon_intro zenon_H2d9. zenon_intro zenon_H2d8. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2d8). zenon_intro zenon_H2db. zenon_intro zenon_H2da. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2da). zenon_intro zenon_H2dd. zenon_intro zenon_H2dc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2df. zenon_intro zenon_H2de. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2de). zenon_intro zenon_H22a. zenon_intro zenon_H2e0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e0). zenon_intro zenon_H2e2. zenon_intro zenon_H2e1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e1). zenon_intro zenon_H2e4. zenon_intro zenon_H2e3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e3). zenon_intro zenon_H5d. zenon_intro zenon_H2e5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e5). zenon_intro zenon_H17d. zenon_intro zenon_H2e6. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e6). zenon_intro zenon_H2e8. zenon_intro zenon_H2e7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e7). zenon_intro zenon_H2ea. zenon_intro zenon_H2e9. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2e9). zenon_intro zenon_H2ec. zenon_intro zenon_H2eb. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2eb). zenon_intro zenon_H2ee. zenon_intro zenon_H2ed. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2ed). zenon_intro zenon_H2f0. zenon_intro zenon_H2ef. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2ef). zenon_intro zenon_H1c4. zenon_intro zenon_H2f1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f1). zenon_intro zenon_H2a7. zenon_intro zenon_H2f2. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f2). zenon_intro zenon_H295. zenon_intro zenon_H2f3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f3). zenon_intro zenon_Hbb. zenon_intro zenon_H2f4. % 29.69/29.86 apply (zenon_and_s _ _ ax3). zenon_intro zenon_H2f6. zenon_intro zenon_H2f5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f5). zenon_intro zenon_H180. zenon_intro zenon_H2f7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f7). zenon_intro zenon_H2f9. zenon_intro zenon_H2f8. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2f8). zenon_intro zenon_H1f5. zenon_intro zenon_H2fa. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2fa). zenon_intro zenon_H2fc. zenon_intro zenon_H2fb. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2fb). zenon_intro zenon_H2fe. zenon_intro zenon_H2fd. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2fd). zenon_intro zenon_H300. zenon_intro zenon_H2ff. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H2ff). zenon_intro zenon_H302. zenon_intro zenon_H301. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H301). zenon_intro zenon_H1ee. zenon_intro zenon_H303. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H303). zenon_intro zenon_H305. zenon_intro zenon_H304. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H304). zenon_intro zenon_H307. zenon_intro zenon_H306. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H306). zenon_intro zenon_H309. zenon_intro zenon_H308. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H27a. zenon_intro zenon_H30a. % 29.69/29.86 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H30c. zenon_intro zenon_H30b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H30b). zenon_intro zenon_H30e. zenon_intro zenon_H30d. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H30d). zenon_intro zenon_H310. zenon_intro zenon_H30f. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H30f). zenon_intro zenon_H312. zenon_intro zenon_H311. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H311). zenon_intro zenon_H314. zenon_intro zenon_H313. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H313). zenon_intro zenon_H316. zenon_intro zenon_H315. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H318. zenon_intro zenon_H317. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H317). zenon_intro zenon_H125. zenon_intro zenon_H319. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H319). zenon_intro zenon_H31b. zenon_intro zenon_H31a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H31a). zenon_intro zenon_H31d. zenon_intro zenon_H31c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H31c). zenon_intro zenon_H31f. zenon_intro zenon_H31e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H321. zenon_intro zenon_H320. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H320). zenon_intro zenon_H323. zenon_intro zenon_H322. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H322). zenon_intro zenon_H325. zenon_intro zenon_H324. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H324). zenon_intro zenon_H327. zenon_intro zenon_H326. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H326). zenon_intro zenon_H329. zenon_intro zenon_H328. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H328). zenon_intro zenon_H24b. zenon_intro zenon_H32a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H32a). zenon_intro zenon_H11a. zenon_intro zenon_H32b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H32b). zenon_intro zenon_H32d. zenon_intro zenon_H32c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H32c). zenon_intro zenon_H32f. zenon_intro zenon_H32e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H32e). zenon_intro zenon_H331. zenon_intro zenon_H330. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H330). zenon_intro zenon_H333. zenon_intro zenon_H332. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H332). zenon_intro zenon_H335. zenon_intro zenon_H334. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H334). zenon_intro zenon_H337. zenon_intro zenon_H336. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H1ed. zenon_intro zenon_H338. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H33a. zenon_intro zenon_H339. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H339). zenon_intro zenon_H33c. zenon_intro zenon_H33b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H33b). zenon_intro zenon_H148. zenon_intro zenon_H33d. % 29.69/29.86 apply (zenon_and_s _ _ ax5). zenon_intro zenon_H33f. zenon_intro zenon_H33e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H33e). zenon_intro zenon_H341. zenon_intro zenon_H340. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H274. zenon_intro zenon_H342. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H342). zenon_intro zenon_H155. zenon_intro zenon_H343. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H343). zenon_intro zenon_H261. zenon_intro zenon_H344. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H344). zenon_intro zenon_H346. zenon_intro zenon_H345. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H345). zenon_intro zenon_H348. zenon_intro zenon_H347. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H347). zenon_intro zenon_H174. zenon_intro zenon_H349. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H349). zenon_intro zenon_H9e. zenon_intro zenon_H34a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H34c. zenon_intro zenon_H34b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H34b). zenon_intro zenon_H225. zenon_intro zenon_H34d. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H34d). zenon_intro zenon_H34f. zenon_intro zenon_H34e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H1fa. zenon_intro zenon_H350. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H350). zenon_intro zenon_Ha3. zenon_intro zenon_H351. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H353. zenon_intro zenon_H352. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H352). zenon_intro zenon_H20b. zenon_intro zenon_H354. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H356. zenon_intro zenon_H355. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H355). zenon_intro zenon_H64. zenon_intro zenon_H357. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H357). zenon_intro zenon_H83. zenon_intro zenon_H358. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H358). zenon_intro zenon_Haf. zenon_intro zenon_H359. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H77. zenon_intro zenon_H35a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H35a). zenon_intro zenon_H35c. zenon_intro zenon_H35b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_H298. zenon_intro zenon_H35d. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H29c. zenon_intro zenon_H35e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H360. zenon_intro zenon_H35f. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H35f). zenon_intro zenon_H362. zenon_intro zenon_H361. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H361). zenon_intro zenon_H364. zenon_intro zenon_H363. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H363). zenon_intro zenon_H43. zenon_intro zenon_H365. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H365). zenon_intro zenon_H367. zenon_intro zenon_H366. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H366). zenon_intro zenon_H369. zenon_intro zenon_H368. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H368). zenon_intro zenon_H36b. zenon_intro zenon_H36a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_H196. zenon_intro zenon_H36c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_H36e. zenon_intro zenon_H36d. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H36d). zenon_intro zenon_H370. zenon_intro zenon_H36f. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_H372. zenon_intro zenon_H371. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H374. zenon_intro zenon_H373. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_H1c6. zenon_intro zenon_H375. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_H1cd. zenon_intro zenon_H376. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H376). zenon_intro zenon_H378. zenon_intro zenon_H377. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H377). zenon_intro zenon_H37a. zenon_intro zenon_H379. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H379). zenon_intro zenon_H8b. zenon_intro zenon_H37b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H37b). zenon_intro zenon_H37d. zenon_intro zenon_H37c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_H18d. zenon_intro zenon_H37e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H37e). zenon_intro zenon_H380. zenon_intro zenon_H37f. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H37f). zenon_intro zenon_H1b4. zenon_intro zenon_H381. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H381). zenon_intro zenon_H383. zenon_intro zenon_H382. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H382). zenon_intro zenon_H1b9. zenon_intro zenon_H56. % 29.69/29.86 apply (zenon_and_s _ _ ax6). zenon_intro zenon_H385. zenon_intro zenon_H384. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H384). zenon_intro zenon_H387. zenon_intro zenon_H386. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H386). zenon_intro zenon_H389. zenon_intro zenon_H388. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H388). zenon_intro zenon_H137. zenon_intro zenon_H38a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H38a). zenon_intro zenon_H25c. zenon_intro zenon_H38b. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H38b). zenon_intro zenon_H38d. zenon_intro zenon_H38c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_H38f. zenon_intro zenon_H38e. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H181. zenon_intro zenon_H390. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_Hd3. zenon_intro zenon_H391. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H391). zenon_intro zenon_H393. zenon_intro zenon_H392. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H392). zenon_intro zenon_H395. zenon_intro zenon_H394. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H397. zenon_intro zenon_H396. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H396). zenon_intro zenon_H1f8. zenon_intro zenon_H398. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H398). zenon_intro zenon_Hd8. zenon_intro zenon_H399. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H399). zenon_intro zenon_H39b. zenon_intro zenon_H39a. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39a). zenon_intro zenon_H214. zenon_intro zenon_H39c. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H39e. zenon_intro zenon_H39d. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39d). zenon_intro zenon_H10e. zenon_intro zenon_H39f. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39f). zenon_intro zenon_H2c. zenon_intro zenon_H3a0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H13c. zenon_intro zenon_H3a1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a1). zenon_intro zenon_H1f. zenon_intro zenon_H3a2. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H21f. zenon_intro zenon_H3a3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a3). zenon_intro zenon_H21a. zenon_intro zenon_H3a4. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a4). zenon_intro zenon_H247. zenon_intro zenon_H3a5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a5). zenon_intro zenon_H3a7. zenon_intro zenon_H3a6. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H3a9. zenon_intro zenon_H3a8. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3a8). zenon_intro zenon_He6. zenon_intro zenon_H3aa. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_Hf8. zenon_intro zenon_H3ab. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ab). zenon_intro zenon_H3ad. zenon_intro zenon_H3ac. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ac). zenon_intro zenon_H3af. zenon_intro zenon_H3ae. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ae). zenon_intro zenon_H3b1. zenon_intro zenon_H3b0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b0). zenon_intro zenon_H199. zenon_intro zenon_H3b2. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b2). zenon_intro zenon_H3b4. zenon_intro zenon_H3b3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H3b6. zenon_intro zenon_H3b5. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b5). zenon_intro zenon_H3b8. zenon_intro zenon_H3b7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H3ba. zenon_intro zenon_H3b9. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3b9). zenon_intro zenon_H1e8. zenon_intro zenon_H3bb. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3bb). zenon_intro zenon_Hf2. zenon_intro zenon_H3bc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H128. zenon_intro zenon_H3bd. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3bd). zenon_intro zenon_H3bf. zenon_intro zenon_H3be. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H34. zenon_intro zenon_H3c0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c0). zenon_intro zenon_H3c2. zenon_intro zenon_H3c1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c1). zenon_intro zenon_H113. zenon_intro zenon_H3c3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c3). zenon_intro zenon_H3c5. zenon_intro zenon_H3c4. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c4). zenon_intro zenon_H1d7. zenon_intro zenon_H3c6. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c6). zenon_intro zenon_H3c8. zenon_intro zenon_H3c7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c7). zenon_intro zenon_H1dc. zenon_intro zenon_H104. % 29.69/29.86 apply (zenon_and_s _ _ ax7). zenon_intro zenon_H49. zenon_intro zenon_H3c9. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3c9). zenon_intro zenon_H3cb. zenon_intro zenon_H3ca. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H50. zenon_intro zenon_H3cc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3cc). zenon_intro zenon_H3ce. zenon_intro zenon_H3cd. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_Hab. zenon_intro zenon_H3cf. % 29.69/29.86 apply (zenon_and_s _ _ ax8). zenon_intro zenon_Hfc. zenon_intro zenon_H3d0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d0). zenon_intro zenon_H3d2. zenon_intro zenon_H3d1. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d1). zenon_intro zenon_H101. zenon_intro zenon_H3d3. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H3d5. zenon_intro zenon_H3d4. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_Hed. zenon_intro zenon_H3d6. % 29.69/29.86 apply (zenon_and_s _ _ ax10). zenon_intro zenon_H3d8. zenon_intro zenon_H3d7. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H192. zenon_intro zenon_H3d9. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H6c. zenon_intro zenon_H94. % 29.69/29.86 apply (zenon_and_s _ _ ax11). zenon_intro zenon_H3db. zenon_intro zenon_H3da. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H118. zenon_intro zenon_H3dc. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3dc). zenon_intro zenon_H119. zenon_intro zenon_H3e. % 29.69/29.86 apply (zenon_and_s _ _ ax12). zenon_intro zenon_H57. zenon_intro zenon_H3dd. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H81. zenon_intro zenon_H4e. % 29.69/29.86 apply (zenon_and_s _ _ ax13). zenon_intro zenon_H20. zenon_intro zenon_H3de. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H2a. zenon_intro zenon_H1d. % 29.69/29.86 apply (zenon_and_s _ _ ax16). zenon_intro zenon_H164. zenon_intro zenon_H3df. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H9a. zenon_intro zenon_H3e0. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H15f. zenon_intro zenon_Hc0. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H3e2. zenon_intro zenon_H3e1. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H3e1). zenon_intro zenon_H3e4. zenon_intro zenon_H3e3. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H3e3). zenon_intro zenon_H3e6. zenon_intro zenon_H3e5. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H3e6); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H3e7 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H318); [ zenon_intro zenon_Hbf | zenon_intro zenon_H3eb ]. % 29.69/29.86 apply (zenon_L44_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3eb); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H3ec ]. % 29.69/29.86 apply (zenon_L45_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He5 ]. % 29.69/29.86 apply (zenon_L46_); trivial. % 29.69/29.86 apply (zenon_L62_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H3e7); [ zenon_intro zenon_H163 | zenon_intro zenon_H3ed ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H32d); [ zenon_intro zenon_H136 | zenon_intro zenon_H3f1 ]. % 29.69/29.86 apply (zenon_L73_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f1); [ zenon_intro zenon_H14c | zenon_intro zenon_H3f2 ]. % 29.69/29.86 apply (zenon_L87_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H188 | zenon_intro zenon_H13b ]. % 29.69/29.86 apply (zenon_L88_); trivial. % 29.69/29.86 apply (zenon_L71_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H3ed); [ zenon_intro zenon_H3f4 | zenon_intro zenon_H3f3 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11d | zenon_intro zenon_H11c ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_Hf9. zenon_intro zenon_H11e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.69/29.86 cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H3f4. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H9a. % 29.69/29.86 cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3f5]. % 29.69/29.86 cut (((h3 (e10)) = (h3 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3f6]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12))))); [ zenon_intro zenon_H3f7 | zenon_intro zenon_H3f8 ]. % 29.69/29.86 cut (((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12)))) = ((h3 (e10)) = (h3 (op1 (e10) (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H3f6. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H3f7. % 29.69/29.86 cut (((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3f8]. % 29.69/29.86 cut (((h3 (op1 (e10) (e12))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H3f9]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e10) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H18b zenon_H45). % 29.69/29.86 apply zenon_H3f8. apply refl_equal. % 29.69/29.86 apply zenon_H3f8. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [ zenon_intro zenon_H3fa | zenon_intro zenon_H3fb ]. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e10)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H3f5. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H3fa. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3fb]. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H3fc]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e20) (e22)) = (e20)) = ((op2 (h3 (e10)) (h3 (e12))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H3fc. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hf9. % 29.69/29.86 cut (((e20) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 29.69/29.86 cut (((op2 (e20) (e22)) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3fd]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [ zenon_intro zenon_H3fa | zenon_intro zenon_H3fb ]. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12)))) = ((op2 (e20) (e22)) = (op2 (h3 (e10)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H3fd. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H3fa. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H3fb]. % 29.69/29.86 cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3fe]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.69/29.86 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L37_); trivial. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply zenon_H3fb. apply refl_equal. % 29.69/29.86 apply zenon_H3fb. apply refl_equal. % 29.69/29.86 exact (zenon_H1b1 zenon_H20). % 29.69/29.86 apply zenon_H3fb. apply refl_equal. % 29.69/29.86 apply zenon_H3fb. apply refl_equal. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.69/29.86 apply (zenon_L94_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.69/29.86 apply (zenon_L23_); trivial. % 29.69/29.86 apply (zenon_L24_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ]. % 29.69/29.86 apply (zenon_L96_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11f); [ zenon_intro zenon_H10a | zenon_intro zenon_H10d ]. % 29.69/29.86 apply (zenon_L57_); trivial. % 29.69/29.86 apply (zenon_L58_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H3f3); [ zenon_intro zenon_H19c | zenon_intro zenon_H3ff ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Hbc ]. % 29.69/29.86 apply (zenon_L97_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H82 | zenon_intro zenon_Hbd ]. % 29.69/29.86 exact (zenon_H88 zenon_H82). % 29.69/29.86 apply (zenon_or_s _ _ zenon_Hbd); [ zenon_intro zenon_Hae | zenon_intro zenon_Hb5 ]. % 29.69/29.86 apply (zenon_L41_); trivial. % 29.69/29.86 apply (zenon_L42_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H3ff); [ zenon_intro zenon_H401 | zenon_intro zenon_H400 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 cut (((h3 (e11)) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22)))) = ((h3 (op1 (e11) (e10))) = (op2 (h3 (e11)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H401. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H15f. % 29.69/29.86 cut (((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H402]. % 29.69/29.86 cut (((h3 (e11)) = (h3 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H403]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10))))); [ zenon_intro zenon_H404 | zenon_intro zenon_H405 ]. % 29.69/29.86 cut (((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10)))) = ((h3 (e11)) = (h3 (op1 (e11) (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H403. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H404. % 29.69/29.86 cut (((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H405]. % 29.69/29.86 cut (((h3 (op1 (e11) (e10))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H406]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e11) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6d]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H6d zenon_H14f). % 29.69/29.86 apply zenon_H405. apply refl_equal. % 29.69/29.86 apply zenon_H405. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [ zenon_intro zenon_H407 | zenon_intro zenon_H408 ]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10)))) = ((op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H402. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H407. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H408]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H409]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e21) (e20)) = (e21)) = ((op2 (h3 (e11)) (h3 (e10))) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H409. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Heb. % 29.69/29.86 cut (((e21) = (op2 (op2 (op2 (e22) (e22)) (op2 (e22) (e22))) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H258]. % 29.69/29.86 cut (((op2 (e21) (e20)) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H40a]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [ zenon_intro zenon_H407 | zenon_intro zenon_H408 ]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10)))) = ((op2 (e21) (e20)) = (op2 (h3 (e11)) (h3 (e10))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H40a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H407. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H408]. % 29.69/29.86 cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H40b]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 29.69/29.86 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L79_); trivial. % 29.69/29.86 apply (zenon_L37_); trivial. % 29.69/29.86 apply zenon_H408. apply refl_equal. % 29.69/29.86 apply zenon_H408. apply refl_equal. % 29.69/29.86 exact (zenon_H258 zenon_H2a). % 29.69/29.86 apply zenon_H408. apply refl_equal. % 29.69/29.86 apply zenon_H408. apply refl_equal. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H400); [ zenon_intro zenon_H1a5 | zenon_intro zenon_H40c ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11d | zenon_intro zenon_H11c ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_Hf9. zenon_intro zenon_H11e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.69/29.86 apply (zenon_L6_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.69/29.86 apply (zenon_L98_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H318); [ zenon_intro zenon_Hbf | zenon_intro zenon_H3eb ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H31d); [ zenon_intro zenon_H18 | zenon_intro zenon_H40d ]. % 29.69/29.86 exact (zenon_H16 zenon_H18). % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40d); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H40e ]. % 29.69/29.86 apply (zenon_L106_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40e); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1dd ]. % 29.69/29.86 apply (zenon_L113_); trivial. % 29.69/29.86 apply (zenon_L108_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3eb); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H3ec ]. % 29.69/29.86 apply (zenon_L45_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He5 ]. % 29.69/29.86 apply (zenon_L46_); trivial. % 29.69/29.86 apply (zenon_L62_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.69/29.86 apply (zenon_L94_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.69/29.86 apply (zenon_L23_); trivial. % 29.69/29.86 apply (zenon_L24_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_L12_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ]. % 29.69/29.86 apply (zenon_L96_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11f); [ zenon_intro zenon_H10a | zenon_intro zenon_H10d ]. % 29.69/29.86 apply (zenon_L57_); trivial. % 29.69/29.86 apply (zenon_L58_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H40c); [ zenon_intro zenon_H1fc | zenon_intro zenon_H40f ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11d | zenon_intro zenon_H11c ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_Hf9. zenon_intro zenon_H11e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H300); [ zenon_intro zenon_Hfe | zenon_intro zenon_H410 ]. % 29.69/29.86 apply (zenon_L114_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H410); [ zenon_intro zenon_Hfd | zenon_intro zenon_H411 ]. % 29.69/29.86 apply (zenon_L95_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H411); [ zenon_intro zenon_H1fe | zenon_intro zenon_H215 ]. % 29.69/29.86 apply (zenon_L118_); trivial. % 29.69/29.86 apply (zenon_L119_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.69/29.86 apply (zenon_L94_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.69/29.86 apply (zenon_L23_); trivial. % 29.69/29.86 apply (zenon_L24_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ]. % 29.69/29.86 apply (zenon_L96_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11f); [ zenon_intro zenon_H10a | zenon_intro zenon_H10d ]. % 29.69/29.86 apply (zenon_L57_); trivial. % 29.69/29.86 apply (zenon_L58_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H40f); [ zenon_intro zenon_H22b | zenon_intro zenon_H412 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.69/29.86 apply (zenon_L6_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.69/29.86 apply (zenon_L98_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H302); [ zenon_intro zenon_H21b | zenon_intro zenon_H413 ]. % 29.69/29.86 apply (zenon_L120_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H413); [ zenon_intro zenon_H2b | zenon_intro zenon_H414 ]. % 29.69/29.86 exact (zenon_H31 zenon_H2b). % 29.69/29.86 apply (zenon_or_s _ _ zenon_H414); [ zenon_intro zenon_H21e | zenon_intro zenon_H22c ]. % 29.69/29.86 apply (zenon_L121_); trivial. % 29.69/29.86 apply (zenon_L125_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_L12_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H412); [ zenon_intro zenon_H23b | zenon_intro zenon_H415 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11d | zenon_intro zenon_H11c ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_Hf9. zenon_intro zenon_H11e. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.69/29.86 apply (zenon_L6_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.69/29.86 apply (zenon_L98_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6c); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H45. zenon_intro zenon_H70. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H318); [ zenon_intro zenon_Hbf | zenon_intro zenon_H3eb ]. % 29.69/29.86 apply (zenon_L130_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3eb); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H3ec ]. % 29.69/29.86 apply (zenon_L45_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He5 ]. % 29.69/29.86 apply (zenon_L46_); trivial. % 29.69/29.86 apply (zenon_L62_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H6e); [ zenon_intro zenon_H72 | zenon_intro zenon_H71 ]. % 29.69/29.86 apply (zenon_L94_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H71); [ zenon_intro zenon_H60 | zenon_intro zenon_H63 ]. % 29.69/29.86 apply (zenon_L23_); trivial. % 29.69/29.86 apply (zenon_L24_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_L12_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ]. % 29.69/29.86 apply (zenon_L96_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11f); [ zenon_intro zenon_H10a | zenon_intro zenon_H10d ]. % 29.69/29.86 apply (zenon_L57_); trivial. % 29.69/29.86 apply (zenon_L58_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H415); [ zenon_intro zenon_H24e | zenon_intro zenon_H416 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H32d); [ zenon_intro zenon_H136 | zenon_intro zenon_H3f1 ]. % 29.69/29.86 apply (zenon_L73_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f1); [ zenon_intro zenon_H14c | zenon_intro zenon_H3f2 ]. % 29.69/29.86 apply (zenon_L132_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H188 | zenon_intro zenon_H13b ]. % 29.69/29.86 apply (zenon_L88_); trivial. % 29.69/29.86 apply (zenon_L71_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H416); [ zenon_intro zenon_H418 | zenon_intro zenon_H417 ]. % 29.69/29.86 cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e12) (e12))) = (op2 (h3 (e12)) (h3 (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H418. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hc0. % 29.69/29.86 cut (((op2 (e22) (e22)) = (op2 (h3 (e12)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H419]. % 29.69/29.86 cut (((h3 (e13)) = (h3 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H41a]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12))))); [ zenon_intro zenon_H41b | zenon_intro zenon_H41c ]. % 29.69/29.86 cut (((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12)))) = ((h3 (e13)) = (h3 (op1 (e12) (e12))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H41a. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H41b. % 29.69/29.86 cut (((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H41c]. % 29.69/29.86 cut (((h3 (op1 (e12) (e12))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H41d]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H55. apply sym_equal. exact zenon_H4e. % 29.69/29.86 apply zenon_H41c. apply refl_equal. % 29.69/29.86 apply zenon_H41c. apply refl_equal. % 29.69/29.86 cut (((e22) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H41e]. % 29.69/29.86 cut (((e22) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H41e]. % 29.69/29.86 congruence. % 29.69/29.86 apply zenon_H41e. apply sym_equal. exact zenon_H164. % 29.69/29.86 apply zenon_H41e. apply sym_equal. exact zenon_H164. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H417); [ zenon_intro zenon_H420 | zenon_intro zenon_H41f ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H26 | zenon_intro zenon_H3f ]. % 29.69/29.86 apply (zenon_L6_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H32 | zenon_intro zenon_H40 ]. % 29.69/29.86 apply (zenon_L98_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H39 | zenon_intro zenon_H3b ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H39). zenon_intro zenon_H36. zenon_intro zenon_H3a. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H7d | zenon_intro zenon_H95 ]. % 29.69/29.86 apply (zenon_L28_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H89 | zenon_intro zenon_H96 ]. % 29.69/29.86 apply (zenon_L133_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H96); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H90). zenon_intro zenon_H8d. zenon_intro zenon_H6a. % 29.69/29.86 cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H420. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H164. % 29.69/29.86 cut (((e22) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H421]. % 29.69/29.86 cut (((h3 (e12)) = (h3 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H422]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13))))); [ zenon_intro zenon_H423 | zenon_intro zenon_H424 ]. % 29.69/29.86 cut (((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13)))) = ((h3 (e12)) = (h3 (op1 (e12) (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H422. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H423. % 29.69/29.86 cut (((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H424]. % 29.69/29.86 cut (((h3 (op1 (e12) (e13))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H425]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op1 (e12) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H65]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H65 zenon_H8d). % 29.69/29.86 apply zenon_H424. apply refl_equal. % 29.69/29.86 apply zenon_H424. apply refl_equal. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [ zenon_intro zenon_H426 | zenon_intro zenon_H427 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13)))) = ((e22) = (op2 (h3 (e12)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H421. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H426. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H427]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H428]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e22) (e23)) = (e22)) = ((op2 (h3 (e12)) (h3 (e13))) = (e22))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H428. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H36. % 29.69/29.86 cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H162]. % 29.69/29.86 cut (((op2 (e22) (e23)) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H429]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [ zenon_intro zenon_H426 | zenon_intro zenon_H427 ]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13)))) = ((op2 (e22) (e23)) = (op2 (h3 (e12)) (h3 (e13))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H429. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H426. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H427]. % 29.69/29.86 cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H42a]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 29.69/29.86 cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 29.69/29.86 congruence. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 apply zenon_H427. apply refl_equal. % 29.69/29.86 apply zenon_H427. apply refl_equal. % 29.69/29.86 apply zenon_H162. apply refl_equal. % 29.69/29.86 apply zenon_H427. apply refl_equal. % 29.69/29.86 apply zenon_H427. apply refl_equal. % 29.69/29.86 apply (zenon_L34_); trivial. % 29.69/29.86 apply (zenon_L12_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H41f); [ zenon_intro zenon_H26e | zenon_intro zenon_H42b ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H148); [ zenon_intro zenon_H131 | zenon_intro zenon_H149 ]. % 29.69/29.86 apply (zenon_L141_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H2b | zenon_intro zenon_H14a ]. % 29.69/29.86 exact (zenon_H31 zenon_H2b). % 29.69/29.86 apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13b | zenon_intro zenon_H142 ]. % 29.69/29.86 apply (zenon_L71_); trivial. % 29.69/29.86 apply (zenon_L72_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H42b); [ zenon_intro zenon_H42d | zenon_intro zenon_H42c ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [ zenon_intro zenon_H42e | zenon_intro zenon_H42f ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11)))) = ((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H42d. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H42e. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H42f]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H430]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((op2 (e23) (e21)) = (e23)) = ((op2 (h3 (e13)) (h3 (e11))) = (h3 (op1 (e13) (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H430. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_Hd1. % 29.69/29.86 cut (((e23) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27d]. % 29.69/29.86 cut (((op2 (e23) (e21)) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H431]. % 29.69/29.86 congruence. % 29.69/29.86 elim (classic ((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [ zenon_intro zenon_H42e | zenon_intro zenon_H42f ]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11)))) = ((op2 (e23) (e21)) = (op2 (h3 (e13)) (h3 (e11))))). % 29.69/29.86 intro zenon_D_pnotp. % 29.69/29.86 apply zenon_H431. % 29.69/29.86 rewrite <- zenon_D_pnotp. % 29.69/29.86 exact zenon_H42e. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H42f]. % 29.69/29.86 cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H432]. % 29.69/29.86 congruence. % 29.69/29.86 cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H15e]. % 29.69/29.86 cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 29.69/29.86 congruence. % 29.69/29.86 apply (zenon_L124_); trivial. % 29.69/29.86 apply (zenon_L79_); trivial. % 29.69/29.86 apply zenon_H42f. apply refl_equal. % 29.69/29.86 apply zenon_H42f. apply refl_equal. % 29.69/29.86 apply (zenon_L142_); trivial. % 29.69/29.86 apply zenon_H42f. apply refl_equal. % 29.69/29.86 apply zenon_H42f. apply refl_equal. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H42c); [ zenon_intro zenon_H287 | zenon_intro zenon_H433 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H12 | zenon_intro zenon_H3e8 ]. % 29.69/29.86 apply (zenon_L1_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_Heb. zenon_intro zenon_H16. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H15 | zenon_intro zenon_H11b ]. % 29.69/29.86 apply (zenon_L2_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H19 | zenon_intro zenon_H124 ]. % 29.69/29.86 apply (zenon_L3_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H41 | zenon_intro zenon_H117 ]. % 29.69/29.86 apply (zenon_L14_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hd1. zenon_intro zenon_H31. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H12d | zenon_intro zenon_H3ee ]. % 29.69/29.86 apply (zenon_L68_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3ef ]. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H14f. zenon_intro zenon_H173. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H192); [ zenon_intro zenon_H6b | zenon_intro zenon_H193 ]. % 29.69/29.86 apply (zenon_L25_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H193); [ zenon_intro zenon_H74 | zenon_intro zenon_H194 ]. % 29.69/29.86 apply (zenon_L26_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H194); [ zenon_intro zenon_H97 | zenon_intro zenon_H195 ]. % 29.69/29.86 apply (zenon_L36_); trivial. % 29.69/29.86 apply (zenon_and_s _ _ zenon_H195). zenon_intro zenon_H9c. zenon_intro zenon_H88. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H33c); [ zenon_intro zenon_H25b | zenon_intro zenon_H434 ]. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H148); [ zenon_intro zenon_H131 | zenon_intro zenon_H149 ]. % 29.69/29.86 apply (zenon_L134_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H2b | zenon_intro zenon_H14a ]. % 29.69/29.86 exact (zenon_H31 zenon_H2b). % 29.69/29.86 apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13b | zenon_intro zenon_H142 ]. % 29.69/29.86 apply (zenon_L71_); trivial. % 29.69/29.86 apply (zenon_L72_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H434); [ zenon_intro zenon_H283 | zenon_intro zenon_H435 ]. % 29.69/29.86 apply (zenon_L143_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H435); [ zenon_intro zenon_H289 | zenon_intro zenon_H142 ]. % 29.69/29.86 apply (zenon_L146_); trivial. % 29.69/29.86 apply (zenon_L72_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3ef); [ zenon_intro zenon_H18a | zenon_intro zenon_H191 ]. % 29.69/29.86 apply (zenon_L89_); trivial. % 29.69/29.86 apply (zenon_L92_); trivial. % 29.69/29.86 apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H12a | zenon_intro zenon_H12c ]. % 29.69/29.86 apply (zenon_L66_); trivial. % 29.69/29.86 apply (zenon_L67_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H433); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H436 ]. % 29.69/29.86 apply (zenon_L150_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H436); [ zenon_intro zenon_H438 | zenon_intro zenon_H437 ]. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H438). zenon_intro zenon_H99. zenon_intro zenon_H439. % 29.69/29.86 apply (zenon_L37_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H437); [ zenon_intro zenon_H43b | zenon_intro zenon_H43a ]. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H43b). zenon_intro zenon_H43d. zenon_intro zenon_H43c. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H43c). zenon_intro zenon_H15e. zenon_intro zenon_H43e. % 29.69/29.86 apply (zenon_L79_); trivial. % 29.69/29.86 apply (zenon_notand_s _ _ zenon_H43a); [ zenon_intro zenon_H43f | zenon_intro zenon_H2aa ]. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H43f). zenon_intro zenon_H441. zenon_intro zenon_H440. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H440). zenon_intro zenon_H443. zenon_intro zenon_H442. % 29.69/29.86 apply (zenon_notor_s _ _ zenon_H442). zenon_intro zenon_H20a. zenon_intro zenon_H444. % 29.69/29.86 exact (zenon_H20a zenon_H164). % 29.69/29.86 apply (zenon_L151_); trivial. % 29.69/29.86 Qed. % 29.69/29.86 % SZS output end Proof % 29.69/29.86 (* END-PROOF *) % 29.69/29.86 nodes searched: 1389613 % 29.69/29.86 max branch formulas: 1889 % 29.69/29.86 proof nodes created: 14201 % 29.69/29.86 formulas created: 673976 % 29.69/29.86 %------------------------------------------------------------------------------