%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : ALG022+1 : TPTP v8.1.0. Released v2.7.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n021.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:00 EDT 2022 % Result : Theorem 1.97s 2.12s % Output : Proof 1.97s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.03/0.12 % Problem : ALG022+1 : TPTP v8.1.0. Released v2.7.0. % 0.03/0.12 % Command : run_zenon %s %d % 0.13/0.33 % Computer : n021.cluster.edu % 0.13/0.33 % Model : x86_64 x86_64 % 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.33 % Memory : 8042.1875MB % 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.33 % CPULimit : 300 % 0.13/0.33 % WCLimit : 600 % 0.13/0.33 % DateTime : Wed Jun 8 06:51:52 EDT 2022 % 0.13/0.34 % CPUTime : % 1.97/2.12 (* PROOF-FOUND *) % 1.97/2.12 % SZS status Theorem % 1.97/2.12 (* BEGIN-PROOF *) % 1.97/2.12 % SZS output start Proof % 1.97/2.12 Theorem co1 : ((~((((op (e0) (e0)) = (e0))/\(((op (e1) (e1)) = (e0))/\(((op (e2) (e2)) = (e0))/\((op (e3) (e3)) = (e0)))))\/((((op (e0) (e0)) = (e1))/\(((op (e1) (e1)) = (e1))/\(((op (e2) (e2)) = (e1))/\((op (e3) (e3)) = (e1)))))\/((((op (e0) (e0)) = (e2))/\(((op (e1) (e1)) = (e2))/\(((op (e2) (e2)) = (e2))/\((op (e3) (e3)) = (e2)))))\/(((op (e0) (e0)) = (e3))/\(((op (e1) (e1)) = (e3))/\(((op (e2) (e2)) = (e3))/\((op (e3) (e3)) = (e3)))))))))/\((((op (e0) (e0)) = (e0))\/(((op (e0) (e0)) = (e1))\/(((op (e0) (e0)) = (e2))\/((op (e0) (e0)) = (e3)))))/\((((op (e0) (e1)) = (e0))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e1)) = (e2))\/((op (e0) (e1)) = (e3)))))/\((((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/((op (e0) (e2)) = (e3)))))/\((((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/((op (e0) (e3)) = (e3)))))/\((((op (e1) (e0)) = (e0))\/(((op (e1) (e0)) = (e1))\/(((op (e1) (e0)) = (e2))\/((op (e1) (e0)) = (e3)))))/\((((op (e1) (e1)) = (e0))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e1)) = (e2))\/((op (e1) (e1)) = (e3)))))/\((((op (e1) (e2)) = (e0))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e2)) = (e2))\/((op (e1) (e2)) = (e3)))))/\((((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/((op (e1) (e3)) = (e3)))))/\((((op (e2) (e0)) = (e0))\/(((op (e2) (e0)) = (e1))\/(((op (e2) (e0)) = (e2))\/((op (e2) (e0)) = (e3)))))/\((((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/((op (e2) (e1)) = (e3)))))/\((((op (e2) (e2)) = (e0))\/(((op (e2) (e2)) = (e1))\/(((op (e2) (e2)) = (e2))\/((op (e2) (e2)) = (e3)))))/\((((op (e2) (e3)) = (e0))\/(((op (e2) (e3)) = (e1))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e3)) = (e3)))))/\((((op (e3) (e0)) = (e0))\/(((op (e3) (e0)) = (e1))\/(((op (e3) (e0)) = (e2))\/((op (e3) (e0)) = (e3)))))/\((((op (e3) (e1)) = (e0))\/(((op (e3) (e1)) = (e1))\/(((op (e3) (e1)) = (e2))\/((op (e3) (e1)) = (e3)))))/\((((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/((op (e3) (e2)) = (e3)))))/\((((op (e3) (e3)) = (e0))\/(((op (e3) (e3)) = (e1))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e3)) = (e3)))))/\(((op (op (e0) (e0)) (e0)) = (op (e0) (op (e0) (e0))))/\(((op (op (e0) (e0)) (e1)) = (op (e0) (op (e0) (e1))))/\(((op (op (e0) (e0)) (e2)) = (op (e0) (op (e0) (e2))))/\(((op (op (e0) (e0)) (e3)) = (op (e0) (op (e0) (e3))))/\(((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))/\(((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))/\(((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))/\(((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))/\(((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))/\(((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))/\(((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))/\(((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))/\(((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))/\(((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))/\(((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))/\(((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))/\(((op (op (e1) (e0)) (e0)) = (op (e1) (op (e0) (e0))))/\(((op (op (e1) (e0)) (e1)) = (op (e1) (op (e0) (e1))))/\(((op (op (e1) (e0)) (e2)) = (op (e1) (op (e0) (e2))))/\(((op (op (e1) (e0)) (e3)) = (op (e1) (op (e0) (e3))))/\(((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))/\(((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))/\(((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))/\(((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))/\(((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))/\(((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))/\(((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))/\(((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))/\(((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))/\(((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))/\(((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))/\(((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))/\(((op (op (e2) (e0)) (e0)) = (op (e2) (op (e0) (e0))))/\(((op (op (e2) (e0)) (e1)) = (op (e2) (op (e0) (e1))))/\(((op (op (e2) (e0)) (e2)) = (op (e2) (op (e0) (e2))))/\(((op (op (e2) (e0)) (e3)) = (op (e2) (op (e0) (e3))))/\(((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))/\(((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))/\(((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))/\(((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))/\(((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))/\(((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))/\(((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))/\(((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))/\(((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))/\(((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))/\(((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))/\(((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))/\(((op (op (e3) (e0)) (e0)) = (op (e3) (op (e0) (e0))))/\(((op (op (e3) (e0)) (e1)) = (op (e3) (op (e0) (e1))))/\(((op (op (e3) (e0)) (e2)) = (op (e3) (op (e0) (e2))))/\(((op (op (e3) (e0)) (e3)) = (op (e3) (op (e0) (e3))))/\(((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))/\(((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))/\(((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))/\(((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))/\(((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))/\(((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))/\(((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))/\(((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))/\(((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))/\(((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))/\(((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))/\(((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))/\(((op (unit) (e0)) = (e0))/\(((op (e0) (unit)) = (e0))/\(((op (unit) (e1)) = (e1))/\(((op (e1) (unit)) = (e1))/\(((op (unit) (e2)) = (e2))/\(((op (e2) (unit)) = (e2))/\(((op (unit) (e3)) = (e3))/\(((op (e3) (unit)) = (e3))/\((((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/((unit) = (e3)))))/\(((op (e0) (inv (e0))) = (unit))/\(((op (inv (e0)) (e0)) = (unit))/\(((op (e1) (inv (e1))) = (unit))/\(((op (inv (e1)) (e1)) = (unit))/\(((op (e2) (inv (e2))) = (unit))/\(((op (inv (e2)) (e2)) = (unit))/\(((op (e3) (inv (e3))) = (unit))/\(((op (inv (e3)) (e3)) = (unit))/\((((inv (e0)) = (e0))\/(((inv (e0)) = (e1))\/(((inv (e0)) = (e2))\/((inv (e0)) = (e3)))))/\((((inv (e1)) = (e0))\/(((inv (e1)) = (e1))\/(((inv (e1)) = (e2))\/((inv (e1)) = (e3)))))/\((((inv (e2)) = (e0))\/(((inv (e2)) = (e1))\/(((inv (e2)) = (e2))\/((inv (e2)) = (e3)))))/\(((inv (e3)) = (e0))\/(((inv (e3)) = (e1))\/(((inv (e3)) = (e2))\/((inv (e3)) = (e3)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))). % 1.97/2.12 Proof. % 1.97/2.12 assert (zenon_L1_ : (~((e3) = (e3))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H5. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L1_ *) % 1.97/2.12 assert (zenon_L2_ : (~((e0) = (e0))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H6. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L2_ *) % 1.97/2.12 assert (zenon_L3_ : (~((e1) = (e1))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H7. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L3_ *) % 1.97/2.12 assert (zenon_L4_ : ((op (e0) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((e1) = (op (e0) (op (e1) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H8 zenon_H9 zenon_Ha. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Hb | zenon_intro zenon_Hc ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((e1) = (op (e0) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hc]. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hd]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e1) (e0))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hd. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H8. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e0) (e1)) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [ zenon_intro zenon_Hb | zenon_intro zenon_Hc ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0)))) = ((op (e0) (e1)) = (op (e0) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_He. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hc]. % 1.97/2.12 cut (((op (e0) (op (e1) (e0))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H10 zenon_H9). % 1.97/2.12 apply zenon_Hc. apply refl_equal. % 1.97/2.12 apply zenon_Hc. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_Hc. apply refl_equal. % 1.97/2.12 apply zenon_Hc. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L4_ *) % 1.97/2.12 assert (zenon_L5_ : ((op (e0) (e3)) = (e3)) -> ((op (e1) (e1)) = (e3)) -> (~((e3) = (op (e0) (op (e1) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H11 zenon_H12 zenon_H13. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H14 | zenon_intro zenon_H15 ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((e3) = (op (e0) (op (e1) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H13. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H14. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H16]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e1) (e1))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H16. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H11. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e0) (e3)) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H17]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [ zenon_intro zenon_H14 | zenon_intro zenon_H15 ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1)))) = ((op (e0) (e3)) = (op (e0) (op (e1) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H17. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H14. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H15]. % 1.97/2.12 cut (((op (e0) (op (e1) (e1))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H18]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H19 zenon_H12). % 1.97/2.12 apply zenon_H15. apply refl_equal. % 1.97/2.12 apply zenon_H15. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H15. apply refl_equal. % 1.97/2.12 apply zenon_H15. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L5_ *) % 1.97/2.12 assert (zenon_L6_ : (~((e2) = (e2))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1a. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L6_ *) % 1.97/2.12 assert (zenon_L7_ : ((op (e0) (e0)) = (e0)) -> ((op (e1) (e2)) = (e0)) -> (~((e0) = (op (e0) (op (e1) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1b zenon_H1c zenon_H1d. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((e0) = (op (e0) (op (e1) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H1d. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1e. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H20]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e1) (e2))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H20. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1b. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e0) (e0)) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H21]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2)))) = ((op (e0) (e0)) = (op (e0) (op (e1) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H21. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1e. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1f]. % 1.97/2.12 cut (((op (e0) (op (e1) (e2))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H22]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H23 zenon_H1c). % 1.97/2.12 apply zenon_H1f. apply refl_equal. % 1.97/2.12 apply zenon_H1f. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_H1f. apply refl_equal. % 1.97/2.12 apply zenon_H1f. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L7_ *) % 1.97/2.12 assert (zenon_L8_ : ((op (e0) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((e2) = (op (e0) (op (e1) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H24 zenon_H25 zenon_H26. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H27 | zenon_intro zenon_H28 ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((e2) = (op (e0) (op (e1) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H26. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H27. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H29]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e1) (e3))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H29. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H24. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e0) (e2)) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H2a]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [ zenon_intro zenon_H27 | zenon_intro zenon_H28 ]. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3)))) = ((op (e0) (e2)) = (op (e0) (op (e1) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H2a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H27. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28]. % 1.97/2.12 cut (((op (e0) (op (e1) (e3))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H2c zenon_H25). % 1.97/2.12 apply zenon_H28. apply refl_equal. % 1.97/2.12 apply zenon_H28. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_H28. apply refl_equal. % 1.97/2.12 apply zenon_H28. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L8_ *) % 1.97/2.12 assert (zenon_L9_ : ((op (e0) (e2)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((e2) = (op (e0) (op (e2) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H24 zenon_H2d zenon_H2e. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((e2) = (op (e0) (op (e2) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H2e. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H2f. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H30]. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H31]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e2) (e0))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H31. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H24. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e0) (e2)) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H32]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0)))) = ((op (e0) (e2)) = (op (e0) (op (e2) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H32. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H2f. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H30]. % 1.97/2.12 cut (((op (e0) (op (e2) (e0))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H33]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H34 zenon_H2d). % 1.97/2.12 apply zenon_H30. apply refl_equal. % 1.97/2.12 apply zenon_H30. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_H30. apply refl_equal. % 1.97/2.12 apply zenon_H30. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L9_ *) % 1.97/2.12 assert (zenon_L10_ : ((op (e0) (e0)) = (e0)) -> ((op (e2) (e1)) = (e0)) -> (~((e0) = (op (e0) (op (e2) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1b zenon_H35 zenon_H36. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((e0) = (op (e0) (op (e2) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H36. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H37. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H39]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e2) (e1))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H39. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1b. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e0) (e0)) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H3a]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1)))) = ((op (e0) (e0)) = (op (e0) (op (e2) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H3a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H37. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H38]. % 1.97/2.12 cut (((op (e0) (op (e2) (e1))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H3b]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H3c zenon_H35). % 1.97/2.12 apply zenon_H38. apply refl_equal. % 1.97/2.12 apply zenon_H38. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_H38. apply refl_equal. % 1.97/2.12 apply zenon_H38. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L10_ *) % 1.97/2.12 assert (zenon_L11_ : ((op (e0) (e3)) = (e3)) -> ((op (e2) (e2)) = (e3)) -> (~((e3) = (op (e0) (op (e2) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H11 zenon_H3d zenon_H3e. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((e3) = (op (e0) (op (e2) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H3e. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H3f. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H41]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e2) (e2))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H41. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H11. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e0) (e3)) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H42]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2)))) = ((op (e0) (e3)) = (op (e0) (op (e2) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H42. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H3f. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H40]. % 1.97/2.12 cut (((op (e0) (op (e2) (e2))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H43]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H44 zenon_H3d). % 1.97/2.12 apply zenon_H40. apply refl_equal. % 1.97/2.12 apply zenon_H40. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H40. apply refl_equal. % 1.97/2.12 apply zenon_H40. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L11_ *) % 1.97/2.12 assert (zenon_L12_ : ((op (e0) (e1)) = (e1)) -> ((op (e2) (e3)) = (e1)) -> (~((e1) = (op (e0) (op (e2) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H8 zenon_H45 zenon_H46. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H47 | zenon_intro zenon_H48 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((e1) = (op (e0) (op (e2) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H46. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H47. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H49]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e2) (e3))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H49. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H8. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e0) (e1)) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H4a]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [ zenon_intro zenon_H47 | zenon_intro zenon_H48 ]. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3)))) = ((op (e0) (e1)) = (op (e0) (op (e2) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H4a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H47. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H48]. % 1.97/2.12 cut (((op (e0) (op (e2) (e3))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H4b]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H4c zenon_H45). % 1.97/2.12 apply zenon_H48. apply refl_equal. % 1.97/2.12 apply zenon_H48. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_H48. apply refl_equal. % 1.97/2.12 apply zenon_H48. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L12_ *) % 1.97/2.12 assert (zenon_L13_ : ((op (e0) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((e3) = (op (e0) (op (e3) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H11 zenon_H4d zenon_H4e. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H4f | zenon_intro zenon_H50 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((e3) = (op (e0) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H4e. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H4f. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H51]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e3)) = (e3)) = ((op (e0) (op (e3) (e0))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H51. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H11. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e0) (e3)) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H52]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [ zenon_intro zenon_H4f | zenon_intro zenon_H50 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0)))) = ((op (e0) (e3)) = (op (e0) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H52. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H4f. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H50]. % 1.97/2.12 cut (((op (e0) (op (e3) (e0))) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H54 zenon_H4d). % 1.97/2.12 apply zenon_H50. apply refl_equal. % 1.97/2.12 apply zenon_H50. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H50. apply refl_equal. % 1.97/2.12 apply zenon_H50. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L13_ *) % 1.97/2.12 assert (zenon_L14_ : ((op (e0) (e2)) = (e2)) -> ((op (e3) (e1)) = (e2)) -> (~((e2) = (op (e0) (op (e3) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H24 zenon_H55 zenon_H56. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H57 | zenon_intro zenon_H58 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((e2) = (op (e0) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H56. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H57. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H59]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e2)) = (e2)) = ((op (e0) (op (e3) (e1))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H59. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H24. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e0) (e2)) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [ zenon_intro zenon_H57 | zenon_intro zenon_H58 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1)))) = ((op (e0) (e2)) = (op (e0) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H5a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H57. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H58]. % 1.97/2.12 cut (((op (e0) (op (e3) (e1))) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H5b]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H5c zenon_H55). % 1.97/2.12 apply zenon_H58. apply refl_equal. % 1.97/2.12 apply zenon_H58. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_H58. apply refl_equal. % 1.97/2.12 apply zenon_H58. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L14_ *) % 1.97/2.12 assert (zenon_L15_ : ((op (e0) (e1)) = (e1)) -> ((op (e3) (e2)) = (e1)) -> (~((e1) = (op (e0) (op (e3) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H8 zenon_H5d zenon_H5e. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((e1) = (op (e0) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H5e. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H5f. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e1)) = (e1)) = ((op (e0) (op (e3) (e2))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H61. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H8. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e0) (e1)) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2)))) = ((op (e0) (e1)) = (op (e0) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H62. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H5f. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 1.97/2.12 cut (((op (e0) (op (e3) (e2))) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H64 zenon_H5d). % 1.97/2.12 apply zenon_H60. apply refl_equal. % 1.97/2.12 apply zenon_H60. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_H60. apply refl_equal. % 1.97/2.12 apply zenon_H60. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L15_ *) % 1.97/2.12 assert (zenon_L16_ : ((op (e0) (e0)) = (e0)) -> ((op (e3) (e3)) = (e0)) -> (~((e0) = (op (e0) (op (e3) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1b zenon_H65 zenon_H66. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((e0) = (op (e0) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H66. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H67. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H69]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (op (e3) (e3))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H69. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1b. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e0) (e0)) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H6a]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ]. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3)))) = ((op (e0) (e0)) = (op (e0) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H6a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H67. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H68]. % 1.97/2.12 cut (((op (e0) (op (e3) (e3))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 exact (zenon_H6c zenon_H65). % 1.97/2.12 apply zenon_H68. apply refl_equal. % 1.97/2.12 apply zenon_H68. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_H68. apply refl_equal. % 1.97/2.12 apply zenon_H68. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L16_ *) % 1.97/2.12 assert (zenon_L17_ : ((op (e1) (e1)) = (e3)) -> ((op (e1) (e0)) = (e1)) -> (~((e3) = (op (e1) (op (e1) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H12 zenon_H9 zenon_H6d. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H6e | zenon_intro zenon_H6f ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((e3) = (op (e1) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H6d. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H6e. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H70]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e1)) = (e3)) = ((op (e1) (op (e1) (e0))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H70. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H12. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e1) (e1)) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H71]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [ zenon_intro zenon_H6e | zenon_intro zenon_H6f ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0)))) = ((op (e1) (e1)) = (op (e1) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H71. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H6e. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H6f]. % 1.97/2.12 cut (((op (e1) (op (e1) (e0))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H72]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H10 zenon_H9). % 1.97/2.12 apply zenon_H6f. apply refl_equal. % 1.97/2.12 apply zenon_H6f. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H6f. apply refl_equal. % 1.97/2.12 apply zenon_H6f. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L17_ *) % 1.97/2.12 assert (zenon_L18_ : ((op (e1) (e3)) = (e2)) -> ((op (e1) (e1)) = (e3)) -> (~((e2) = (op (e1) (op (e1) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H25 zenon_H12 zenon_H73. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((e2) = (op (e1) (op (e1) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H73. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H74. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H76]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e1) (e1))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H76. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H25. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e1) (e3)) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H77]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1)))) = ((op (e1) (e3)) = (op (e1) (op (e1) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H77. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H74. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H75]. % 1.97/2.12 cut (((op (e1) (op (e1) (e1))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H78]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H19 zenon_H12). % 1.97/2.12 apply zenon_H75. apply refl_equal. % 1.97/2.12 apply zenon_H75. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_H75. apply refl_equal. % 1.97/2.12 apply zenon_H75. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L18_ *) % 1.97/2.12 assert (zenon_L19_ : ((op (e1) (e0)) = (e1)) -> ((op (e1) (e2)) = (e0)) -> (~((e1) = (op (e1) (op (e1) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H9 zenon_H1c zenon_H79. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H7a | zenon_intro zenon_H7b ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((e1) = (op (e1) (op (e1) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H79. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H7a. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b]. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7c]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e1) (e2))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H7c. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H9. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e1) (e0)) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7d]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [ zenon_intro zenon_H7a | zenon_intro zenon_H7b ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2)))) = ((op (e1) (e0)) = (op (e1) (op (e1) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H7d. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H7a. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H7b]. % 1.97/2.12 cut (((op (e1) (op (e1) (e2))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H23 zenon_H1c). % 1.97/2.12 apply zenon_H7b. apply refl_equal. % 1.97/2.12 apply zenon_H7b. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_H7b. apply refl_equal. % 1.97/2.12 apply zenon_H7b. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L19_ *) % 1.97/2.12 assert (zenon_L20_ : ((op (e1) (e2)) = (e0)) -> ((op (e1) (e3)) = (e2)) -> (~((e0) = (op (e1) (op (e1) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1c zenon_H25 zenon_H7f. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((e0) = (op (e1) (op (e1) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H7f. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H80. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H82]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e2)) = (e0)) = ((op (e1) (op (e1) (e3))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H82. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1c. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e1) (e2)) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H83]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ]. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3)))) = ((op (e1) (e2)) = (op (e1) (op (e1) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H83. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H80. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H81]. % 1.97/2.12 cut (((op (e1) (op (e1) (e3))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H2c zenon_H25). % 1.97/2.12 apply zenon_H81. apply refl_equal. % 1.97/2.12 apply zenon_H81. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_H81. apply refl_equal. % 1.97/2.12 apply zenon_H81. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L20_ *) % 1.97/2.12 assert (zenon_L21_ : ((op (e1) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((e2) = (op (e1) (op (e3) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H25 zenon_H4d zenon_H85. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H86 | zenon_intro zenon_H87 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((e2) = (op (e1) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H85. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H86. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e3) (e0))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H88. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H25. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e1) (e3)) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H89]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [ zenon_intro zenon_H86 | zenon_intro zenon_H87 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0)))) = ((op (e1) (e3)) = (op (e1) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H89. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H86. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 1.97/2.12 cut (((op (e1) (op (e3) (e0))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H8a]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H54 zenon_H4d). % 1.97/2.12 apply zenon_H87. apply refl_equal. % 1.97/2.12 apply zenon_H87. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_H87. apply refl_equal. % 1.97/2.12 apply zenon_H87. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L21_ *) % 1.97/2.12 assert (zenon_L22_ : ((op (e1) (e2)) = (e0)) -> ((op (e3) (e1)) = (e2)) -> (~((e0) = (op (e1) (op (e3) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H1c zenon_H55 zenon_H8b. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((e0) = (op (e1) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H8b. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H8c. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H8d]. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H8e]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e2)) = (e0)) = ((op (e1) (op (e3) (e1))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H8e. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H1c. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e1) (e2)) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H8f]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1)))) = ((op (e1) (e2)) = (op (e1) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H8f. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H8c. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H8d]. % 1.97/2.12 cut (((op (e1) (op (e3) (e1))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H90]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H5c zenon_H55). % 1.97/2.12 apply zenon_H8d. apply refl_equal. % 1.97/2.12 apply zenon_H8d. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_H8d. apply refl_equal. % 1.97/2.12 apply zenon_H8d. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L22_ *) % 1.97/2.12 assert (zenon_L23_ : ((op (e1) (e1)) = (e3)) -> ((op (e3) (e2)) = (e1)) -> (~((e3) = (op (e1) (op (e3) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H12 zenon_H5d zenon_H91. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((e3) = (op (e1) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H91. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H92. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H94]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e1)) = (e3)) = ((op (e1) (op (e3) (e2))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H94. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H12. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e1) (e1)) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H95]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2)))) = ((op (e1) (e1)) = (op (e1) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H95. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H92. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H93]. % 1.97/2.12 cut (((op (e1) (op (e3) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H64 zenon_H5d). % 1.97/2.12 apply zenon_H93. apply refl_equal. % 1.97/2.12 apply zenon_H93. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H93. apply refl_equal. % 1.97/2.12 apply zenon_H93. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L23_ *) % 1.97/2.12 assert (zenon_L24_ : ((op (e1) (e0)) = (e1)) -> ((op (e3) (e3)) = (e0)) -> (~((e1) = (op (e1) (op (e3) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H9 zenon_H65 zenon_H97. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H98 | zenon_intro zenon_H99 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((e1) = (op (e1) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H97. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H98. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H9a]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e3) (e3))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H9a. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H9. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e1) (e0)) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H9b]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [ zenon_intro zenon_H98 | zenon_intro zenon_H99 ]. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3)))) = ((op (e1) (e0)) = (op (e1) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H9b. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H98. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H99]. % 1.97/2.12 cut (((op (e1) (op (e3) (e3))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9c]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 exact (zenon_H6c zenon_H65). % 1.97/2.12 apply zenon_H99. apply refl_equal. % 1.97/2.12 apply zenon_H99. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_H99. apply refl_equal. % 1.97/2.12 apply zenon_H99. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L24_ *) % 1.97/2.12 assert (zenon_L25_ : ((op (e2) (e2)) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((e3) = (op (e2) (op (e2) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H3d zenon_H2d zenon_H9d. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H9e | zenon_intro zenon_H9f ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((e3) = (op (e2) (op (e2) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_H9d. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H9e. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Ha0]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e2) (e0))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha0. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H3d. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e2) (e2)) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha1]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [ zenon_intro zenon_H9e | zenon_intro zenon_H9f ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0)))) = ((op (e2) (e2)) = (op (e2) (op (e2) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha1. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H9e. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9f]. % 1.97/2.12 cut (((op (e2) (op (e2) (e0))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H34 zenon_H2d). % 1.97/2.12 apply zenon_H9f. apply refl_equal. % 1.97/2.12 apply zenon_H9f. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_H9f. apply refl_equal. % 1.97/2.12 apply zenon_H9f. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L25_ *) % 1.97/2.12 assert (zenon_L26_ : ((op (e2) (e0)) = (e2)) -> ((op (e2) (e1)) = (e0)) -> (~((e2) = (op (e2) (op (e2) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H2d zenon_H35 zenon_Ha3. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((e2) = (op (e2) (op (e2) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha3. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Ha4. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Ha6]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e2) (e1))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha6. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H2d. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e2) (e0)) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha7]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1)))) = ((op (e2) (e0)) = (op (e2) (op (e2) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha7. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Ha4. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 1.97/2.12 cut (((op (e2) (op (e2) (e1))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha8]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H3c zenon_H35). % 1.97/2.12 apply zenon_Ha5. apply refl_equal. % 1.97/2.12 apply zenon_Ha5. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_Ha5. apply refl_equal. % 1.97/2.12 apply zenon_Ha5. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L26_ *) % 1.97/2.12 assert (zenon_L27_ : ((op (e2) (e3)) = (e1)) -> ((op (e2) (e2)) = (e3)) -> (~((e1) = (op (e2) (op (e2) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H45 zenon_H3d zenon_Ha9. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((e1) = (op (e2) (op (e2) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Ha9. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Haa. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hab]. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hac]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e3)) = (e1)) = ((op (e2) (op (e2) (e2))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hac. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H45. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e2) (e3)) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Had]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2)))) = ((op (e2) (e3)) = (op (e2) (op (e2) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Had. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Haa. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hab]. % 1.97/2.12 cut (((op (e2) (op (e2) (e2))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hae]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H44 zenon_H3d). % 1.97/2.12 apply zenon_Hab. apply refl_equal. % 1.97/2.12 apply zenon_Hab. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_Hab. apply refl_equal. % 1.97/2.12 apply zenon_Hab. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L27_ *) % 1.97/2.12 assert (zenon_L28_ : ((op (e2) (e1)) = (e0)) -> ((op (e2) (e3)) = (e1)) -> (~((e0) = (op (e2) (op (e2) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H35 zenon_H45 zenon_Haf. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Hb1 ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((e0) = (op (e2) (op (e2) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Haf. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb0. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hb2]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e1)) = (e0)) = ((op (e2) (op (e2) (e3))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hb2. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H35. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e2) (e1)) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Hb1 ]. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3)))) = ((op (e2) (e1)) = (op (e2) (op (e2) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hb3. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb0. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hb1]. % 1.97/2.12 cut (((op (e2) (op (e2) (e3))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb4]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H4c zenon_H45). % 1.97/2.12 apply zenon_Hb1. apply refl_equal. % 1.97/2.12 apply zenon_Hb1. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_Hb1. apply refl_equal. % 1.97/2.12 apply zenon_Hb1. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L28_ *) % 1.97/2.12 assert (zenon_L29_ : ((op (e2) (e3)) = (e1)) -> ((op (e3) (e0)) = (e3)) -> (~((e1) = (op (e2) (op (e3) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H45 zenon_H4d zenon_Hb5. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((e1) = (op (e2) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hb5. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb6. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e3)) = (e1)) = ((op (e2) (op (e3) (e0))) = (e1))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hb8. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H45. % 1.97/2.12 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.12 cut (((op (e2) (e3)) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb9]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0)))) = ((op (e2) (e3)) = (op (e2) (op (e3) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hb9. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hb6. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb7]. % 1.97/2.12 cut (((op (e2) (op (e3) (e0))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hba]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H54 zenon_H4d). % 1.97/2.12 apply zenon_Hb7. apply refl_equal. % 1.97/2.12 apply zenon_Hb7. apply refl_equal. % 1.97/2.12 apply zenon_H7. apply refl_equal. % 1.97/2.12 apply zenon_Hb7. apply refl_equal. % 1.97/2.12 apply zenon_Hb7. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L29_ *) % 1.97/2.12 assert (zenon_L30_ : ((op (e2) (e2)) = (e3)) -> ((op (e3) (e1)) = (e2)) -> (~((e3) = (op (e2) (op (e3) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H3d zenon_H55 zenon_Hbb. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hbd ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((e3) = (op (e2) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hbb. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hbc. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hbd]. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hbe]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e3) (e1))) = (e3))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hbe. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H3d. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 cut (((op (e2) (e2)) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hbf]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hbd ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1)))) = ((op (e2) (e2)) = (op (e2) (op (e3) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hbf. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hbc. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hbd]. % 1.97/2.12 cut (((op (e2) (op (e3) (e1))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hc0]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H5c zenon_H55). % 1.97/2.12 apply zenon_Hbd. apply refl_equal. % 1.97/2.12 apply zenon_Hbd. apply refl_equal. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 apply zenon_Hbd. apply refl_equal. % 1.97/2.12 apply zenon_Hbd. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L30_ *) % 1.97/2.12 assert (zenon_L31_ : ((op (e2) (e1)) = (e0)) -> ((op (e3) (e2)) = (e1)) -> (~((e0) = (op (e2) (op (e3) (e2))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H35 zenon_H5d zenon_Hc1. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hc3 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((e0) = (op (e2) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hc1. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hc2. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hc3]. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hc4]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e1)) = (e0)) = ((op (e2) (op (e3) (e2))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hc4. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H35. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.12 cut (((op (e2) (e1)) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hc5]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hc3 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2)))) = ((op (e2) (e1)) = (op (e2) (op (e3) (e2))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hc5. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hc2. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hc3]. % 1.97/2.12 cut (((op (e2) (op (e3) (e2))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hc6]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H64 zenon_H5d). % 1.97/2.12 apply zenon_Hc3. apply refl_equal. % 1.97/2.12 apply zenon_Hc3. apply refl_equal. % 1.97/2.12 apply zenon_H6. apply refl_equal. % 1.97/2.12 apply zenon_Hc3. apply refl_equal. % 1.97/2.12 apply zenon_Hc3. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L31_ *) % 1.97/2.12 assert (zenon_L32_ : ((op (e2) (e0)) = (e2)) -> ((op (e3) (e3)) = (e0)) -> (~((e2) = (op (e2) (op (e3) (e3))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H2d zenon_H65 zenon_Hc7. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((e2) = (op (e2) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hc7. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hc8. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e3) (e3))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hca. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H2d. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e2) (e0)) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc9 ]. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3)))) = ((op (e2) (e0)) = (op (e2) (op (e3) (e3))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hcb. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hc8. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hc9]. % 1.97/2.12 cut (((op (e2) (op (e3) (e3))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hcc]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 exact (zenon_H6c zenon_H65). % 1.97/2.12 apply zenon_Hc9. apply refl_equal. % 1.97/2.12 apply zenon_Hc9. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_Hc9. apply refl_equal. % 1.97/2.12 apply zenon_Hc9. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L32_ *) % 1.97/2.12 assert (zenon_L33_ : ((op (e3) (e1)) = (e2)) -> ((op (e1) (e0)) = (e1)) -> (~((e2) = (op (e3) (op (e1) (e0))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H55 zenon_H9 zenon_Hcd. % 1.97/2.12 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_Hce | zenon_intro zenon_Hcf ]. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((e2) = (op (e3) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hcd. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hce. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hd0]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e1)) = (e2)) = ((op (e3) (op (e1) (e0))) = (e2))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hd0. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H55. % 1.97/2.12 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.12 cut (((op (e3) (e1)) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hd1]. % 1.97/2.12 congruence. % 1.97/2.12 elim (classic ((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [ zenon_intro zenon_Hce | zenon_intro zenon_Hcf ]. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0)))) = ((op (e3) (e1)) = (op (e3) (op (e1) (e0))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hd1. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hce. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hcf]. % 1.97/2.12 cut (((op (e3) (op (e1) (e0))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hd2]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.12 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.12 congruence. % 1.97/2.12 apply zenon_H5. apply refl_equal. % 1.97/2.12 exact (zenon_H10 zenon_H9). % 1.97/2.12 apply zenon_Hcf. apply refl_equal. % 1.97/2.12 apply zenon_Hcf. apply refl_equal. % 1.97/2.12 apply zenon_H1a. apply refl_equal. % 1.97/2.12 apply zenon_Hcf. apply refl_equal. % 1.97/2.12 apply zenon_Hcf. apply refl_equal. % 1.97/2.12 (* end of lemma zenon_L33_ *) % 1.97/2.12 assert (zenon_L34_ : ((op (e3) (e3)) = (e0)) -> ((op (e1) (e1)) = (e3)) -> (~((e0) = (op (e3) (op (e1) (e1))))) -> False). % 1.97/2.12 do 0 intro. intros zenon_H65 zenon_H12 zenon_Hd3. % 1.97/2.12 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ]. % 1.97/2.12 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((e0) = (op (e3) (op (e1) (e1))))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hd3. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_Hd4. % 1.97/2.12 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 1.97/2.12 cut (((op (e3) (op (e1) (e1))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 1.97/2.12 congruence. % 1.97/2.12 cut (((op (e3) (e3)) = (e0)) = ((op (e3) (op (e1) (e1))) = (e0))). % 1.97/2.12 intro zenon_D_pnotp. % 1.97/2.12 apply zenon_Hd6. % 1.97/2.12 rewrite <- zenon_D_pnotp. % 1.97/2.12 exact zenon_H65. % 1.97/2.12 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ]. % 1.97/2.13 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1)))) = ((op (e3) (e3)) = (op (e3) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hd7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hd4. % 1.97/2.13 cut (((op (e3) (op (e1) (e1))) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 1.97/2.13 cut (((op (e3) (op (e1) (e1))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_Hd5. apply refl_equal. % 1.97/2.13 apply zenon_Hd5. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_Hd5. apply refl_equal. % 1.97/2.13 apply zenon_Hd5. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L34_ *) % 1.97/2.13 assert (zenon_L35_ : ((op (e3) (e0)) = (e3)) -> ((op (e1) (e2)) = (e0)) -> (~((e3) = (op (e3) (op (e1) (e2))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H4d zenon_H1c zenon_Hd9. % 1.97/2.13 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_Hda | zenon_intro zenon_Hdb ]. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((e3) = (op (e3) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hd9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hda. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hdb]. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hdc]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e1) (e2))) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hdc. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hdd]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [ zenon_intro zenon_Hda | zenon_intro zenon_Hdb ]. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2)))) = ((op (e3) (e0)) = (op (e3) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hdd. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hda. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hdb]. % 1.97/2.13 cut (((op (e3) (op (e1) (e2))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hde]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_Hdb. apply refl_equal. % 1.97/2.13 apply zenon_Hdb. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_Hdb. apply refl_equal. % 1.97/2.13 apply zenon_Hdb. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L35_ *) % 1.97/2.13 assert (zenon_L36_ : ((op (e3) (e2)) = (e1)) -> ((op (e1) (e3)) = (e2)) -> (~((e1) = (op (e3) (op (e1) (e3))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H5d zenon_H25 zenon_Hdf. % 1.97/2.13 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ]. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((e1) = (op (e3) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hdf. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_He0. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He2]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e1) (e3))) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_He2. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_He3]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ]. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3)))) = ((op (e3) (e2)) = (op (e3) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_He3. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_He0. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_He1]. % 1.97/2.13 cut (((op (e3) (op (e1) (e3))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_He4]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_He1. apply refl_equal. % 1.97/2.13 apply zenon_He1. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_He1. apply refl_equal. % 1.97/2.13 apply zenon_He1. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L36_ *) % 1.97/2.13 assert (zenon_L37_ : ((op (e3) (e2)) = (e1)) -> ((op (e2) (e0)) = (e2)) -> (~((e1) = (op (e3) (op (e2) (e0))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H5d zenon_H2d zenon_He5. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((e1) = (op (e3) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_He5. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_He6. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He7]. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e2) (e0))) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_He8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0)))) = ((op (e3) (e2)) = (op (e3) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_He9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_He6. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He7]. % 1.97/2.13 cut (((op (e3) (op (e2) (e0))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hea]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_He7. apply refl_equal. % 1.97/2.13 apply zenon_He7. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_He7. apply refl_equal. % 1.97/2.13 apply zenon_He7. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L37_ *) % 1.97/2.13 assert (zenon_L38_ : ((op (e3) (e0)) = (e3)) -> ((op (e2) (e1)) = (e0)) -> (~((e3) = (op (e3) (op (e2) (e1))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H4d zenon_H35 zenon_Heb. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_Hec | zenon_intro zenon_Hed ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((e3) = (op (e3) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Heb. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hec. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_Hee]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e2) (e1))) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hee. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hef]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [ zenon_intro zenon_Hec | zenon_intro zenon_Hed ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1)))) = ((op (e3) (e0)) = (op (e3) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hef. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hec. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hed]. % 1.97/2.13 cut (((op (e3) (op (e2) (e1))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hf0]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_Hed. apply refl_equal. % 1.97/2.13 apply zenon_Hed. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_Hed. apply refl_equal. % 1.97/2.13 apply zenon_Hed. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L38_ *) % 1.97/2.13 assert (zenon_L39_ : ((op (e3) (e3)) = (e0)) -> ((op (e2) (e2)) = (e3)) -> (~((e0) = (op (e3) (op (e2) (e2))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H65 zenon_H3d zenon_Hf1. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf3 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((e0) = (op (e3) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hf1. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hf2. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hf3]. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hf4]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (e3) (op (e2) (e2))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hf4. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hf5]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf3 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2)))) = ((op (e3) (e3)) = (op (e3) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hf5. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hf2. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hf3]. % 1.97/2.13 cut (((op (e3) (op (e2) (e2))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hf6]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_Hf3. apply refl_equal. % 1.97/2.13 apply zenon_Hf3. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_Hf3. apply refl_equal. % 1.97/2.13 apply zenon_Hf3. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L39_ *) % 1.97/2.13 assert (zenon_L40_ : ((op (e3) (e1)) = (e2)) -> ((op (e2) (e3)) = (e1)) -> (~((e2) = (op (e3) (op (e2) (e3))))) -> False). % 1.97/2.13 do 0 intro. intros zenon_H55 zenon_H45 zenon_Hf7. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hf9 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((e2) = (op (e3) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hf7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hf8. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hf9]. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_Hfa]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e1)) = (e2)) = ((op (e3) (op (e2) (e3))) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hfa. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H55. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e3) (e1)) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hfb]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hf9 ]. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3)))) = ((op (e3) (e1)) = (op (e3) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hfb. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_Hf8. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hf9]. % 1.97/2.13 cut (((op (e3) (op (e2) (e3))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hfc]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_Hf9. apply refl_equal. % 1.97/2.13 apply zenon_Hf9. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_Hf9. apply refl_equal. % 1.97/2.13 apply zenon_Hf9. apply refl_equal. % 1.97/2.13 (* end of lemma zenon_L40_ *) % 1.97/2.13 assert (zenon_L41_ : (~((unit) = (e0))) -> False). % 1.97/2.13 do 0 intro. intros zenon_Hfd. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 (* end of lemma zenon_L41_ *) % 1.97/2.13 apply NNPP. intro zenon_G. % 1.97/2.13 apply (zenon_and_s _ _ ax1). zenon_intro zenon_Hff. zenon_intro zenon_Hfe. % 1.97/2.13 apply (zenon_and_s _ _ zenon_Hfe). zenon_intro zenon_H101. zenon_intro zenon_H100. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H100). zenon_intro zenon_H103. zenon_intro zenon_H102. % 1.97/2.13 apply (zenon_and_s _ _ ax2). zenon_intro zenon_H1b. zenon_intro zenon_H104. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H104). zenon_intro zenon_H8. zenon_intro zenon_H105. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H105). zenon_intro zenon_H24. zenon_intro zenon_H106. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H106). zenon_intro zenon_H11. zenon_intro zenon_H107. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H107). zenon_intro zenon_H9. zenon_intro zenon_H108. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H108). zenon_intro zenon_H12. zenon_intro zenon_H109. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H109). zenon_intro zenon_H1c. zenon_intro zenon_H10a. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10a). zenon_intro zenon_H25. zenon_intro zenon_H10b. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10b). zenon_intro zenon_H2d. zenon_intro zenon_H10c. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10c). zenon_intro zenon_H35. zenon_intro zenon_H10d. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10d). zenon_intro zenon_H3d. zenon_intro zenon_H10e. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10e). zenon_intro zenon_H45. zenon_intro zenon_H10f. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H10f). zenon_intro zenon_H4d. zenon_intro zenon_H110. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H110). zenon_intro zenon_H55. zenon_intro zenon_H111. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H111). zenon_intro zenon_H5d. zenon_intro zenon_H65. % 1.97/2.13 apply (zenon_and_s _ _ ax4). zenon_intro zenon_H113. zenon_intro zenon_H112. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H112). zenon_intro zenon_H115. zenon_intro zenon_H114. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H114). zenon_intro zenon_H117. zenon_intro zenon_H116. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_G); [ zenon_intro zenon_H119 | zenon_intro zenon_H118 ]. % 1.97/2.13 apply zenon_H119. zenon_intro zenon_H11a. % 1.97/2.13 apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H11c | zenon_intro zenon_H11b ]. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H11c). zenon_intro zenon_H1b. zenon_intro zenon_H11d. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_H11f. zenon_intro zenon_H11e. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H11e). zenon_intro zenon_H120. zenon_intro zenon_H65. % 1.97/2.13 cut (((op (e2) (e2)) = (e3)) = ((e0) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H103. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H3d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e2) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H121]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H121 zenon_H120). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H123 | zenon_intro zenon_H122 ]. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H123). zenon_intro zenon_H125. zenon_intro zenon_H124. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H124). zenon_intro zenon_H127. zenon_intro zenon_H126. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H126). zenon_intro zenon_H129. zenon_intro zenon_H128. % 1.97/2.13 elim (classic ((e1) = (e1))); [ zenon_intro zenon_H12a | zenon_intro zenon_H7 ]. % 1.97/2.13 cut (((e1) = (e1)) = ((e0) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_Hff. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H12a. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((e1) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H12b]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((e1) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H12b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H12c zenon_H128). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H12e | zenon_intro zenon_H12d ]. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H12e). zenon_intro zenon_H130. zenon_intro zenon_H12f. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H12f). zenon_intro zenon_H132. zenon_intro zenon_H131. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H131). zenon_intro zenon_H134. zenon_intro zenon_H133. % 1.97/2.13 elim (classic ((e2) = (e2))); [ zenon_intro zenon_H135 | zenon_intro zenon_H1a ]. % 1.97/2.13 cut (((e2) = (e2)) = ((e0) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H101. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H135. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((e2) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H136]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((e2) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H136. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H137]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H137 zenon_H133). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H12d). zenon_intro zenon_H139. zenon_intro zenon_H138. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H138). zenon_intro zenon_H12. zenon_intro zenon_H13a. % 1.97/2.13 apply (zenon_and_s _ _ zenon_H13a). zenon_intro zenon_H3d. zenon_intro zenon_H13b. % 1.97/2.13 elim (classic ((e3) = (e3))); [ zenon_intro zenon_H13c | zenon_intro zenon_H5 ]. % 1.97/2.13 cut (((e3) = (e3)) = ((e0) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H103. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H13c. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((e3) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H13d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((e3) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H13d. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H13e]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H13e zenon_H13b). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H118); [ zenon_intro zenon_H140 | zenon_intro zenon_H13f ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H140). zenon_intro zenon_H142. zenon_intro zenon_H141. % 1.97/2.13 exact (zenon_H142 zenon_H1b). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H13f); [ zenon_intro zenon_H144 | zenon_intro zenon_H143 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H144). zenon_intro zenon_H146. zenon_intro zenon_H145. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H145). zenon_intro zenon_H148. zenon_intro zenon_H147. % 1.97/2.13 exact (zenon_H148 zenon_H8). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H143); [ zenon_intro zenon_H14a | zenon_intro zenon_H149 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H14a). zenon_intro zenon_H14c. zenon_intro zenon_H14b. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H14b). zenon_intro zenon_H14e. zenon_intro zenon_H14d. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H14d). zenon_intro zenon_H150. zenon_intro zenon_H14f. % 1.97/2.13 exact (zenon_H150 zenon_H24). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H149); [ zenon_intro zenon_H152 | zenon_intro zenon_H151 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H152). zenon_intro zenon_H154. zenon_intro zenon_H153. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H153). zenon_intro zenon_H156. zenon_intro zenon_H155. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H155). zenon_intro zenon_H158. zenon_intro zenon_H157. % 1.97/2.13 exact (zenon_H157 zenon_H11). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H151); [ zenon_intro zenon_H15a | zenon_intro zenon_H159 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H15a). zenon_intro zenon_H15c. zenon_intro zenon_H15b. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H15b). zenon_intro zenon_H10. zenon_intro zenon_H15d. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H159); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H15f). zenon_intro zenon_H161. zenon_intro zenon_H160. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H160). zenon_intro zenon_H163. zenon_intro zenon_H162. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H162). zenon_intro zenon_H164. zenon_intro zenon_H19. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H15e); [ zenon_intro zenon_H166 | zenon_intro zenon_H165 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H166). zenon_intro zenon_H23. zenon_intro zenon_H167. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H165); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H169). zenon_intro zenon_H16b. zenon_intro zenon_H16a. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H16a). zenon_intro zenon_H16d. zenon_intro zenon_H16c. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H16c). zenon_intro zenon_H2c. zenon_intro zenon_H16e. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H168); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H170). zenon_intro zenon_H172. zenon_intro zenon_H171. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H171). zenon_intro zenon_H174. zenon_intro zenon_H173. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H173). zenon_intro zenon_H34. zenon_intro zenon_H175. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H16f); [ zenon_intro zenon_H177 | zenon_intro zenon_H176 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H177). zenon_intro zenon_H3c. zenon_intro zenon_H178. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H176); [ zenon_intro zenon_H17a | zenon_intro zenon_H179 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H17a). zenon_intro zenon_H121. zenon_intro zenon_H17b. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H17b). zenon_intro zenon_H17d. zenon_intro zenon_H17c. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H17c). zenon_intro zenon_H17e. zenon_intro zenon_H44. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H179); [ zenon_intro zenon_H180 | zenon_intro zenon_H17f ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H180). zenon_intro zenon_H182. zenon_intro zenon_H181. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H181). zenon_intro zenon_H4c. zenon_intro zenon_H183. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H185 | zenon_intro zenon_H184 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H185). zenon_intro zenon_H187. zenon_intro zenon_H186. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H186). zenon_intro zenon_H189. zenon_intro zenon_H188. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H188). zenon_intro zenon_H18a. zenon_intro zenon_H54. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H184); [ zenon_intro zenon_H18c | zenon_intro zenon_H18b ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H18c). zenon_intro zenon_H18e. zenon_intro zenon_H18d. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H18d). zenon_intro zenon_H190. zenon_intro zenon_H18f. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H18f). zenon_intro zenon_H5c. zenon_intro zenon_H191. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H18b); [ zenon_intro zenon_H193 | zenon_intro zenon_H192 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H193). zenon_intro zenon_H195. zenon_intro zenon_H194. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H194). zenon_intro zenon_H64. zenon_intro zenon_H196. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H192); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H198). zenon_intro zenon_H6c. zenon_intro zenon_H199. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H197); [ zenon_intro zenon_H19b | zenon_intro zenon_H19a ]. % 1.97/2.13 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H142 zenon_H1b). % 1.97/2.13 apply zenon_H19c. apply sym_equal. exact zenon_H1b. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H19a); [ zenon_intro zenon_H19e | zenon_intro zenon_H19d ]. % 1.97/2.13 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H142 zenon_H1b). % 1.97/2.13 apply zenon_H19f. apply sym_equal. exact zenon_H8. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H19d); [ zenon_intro zenon_H1a1 | zenon_intro zenon_H1a0 ]. % 1.97/2.13 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H142 zenon_H1b). % 1.97/2.13 apply zenon_H1a2. apply sym_equal. exact zenon_H24. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1a0); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a3 ]. % 1.97/2.13 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H142 zenon_H1b). % 1.97/2.13 apply zenon_H1a5. apply sym_equal. exact zenon_H11. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1a3); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1a6 ]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1)) = ((op (op (e0) (e1)) (e0)) = (op (e0) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1a7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H9. % 1.97/2.13 cut (((e1) = (op (e0) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Ha]. % 1.97/2.13 cut (((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1a8]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0))) = ((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1a8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1a9. % 1.97/2.13 cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1aa]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1ab]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H148 zenon_H8). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H1aa. apply refl_equal. % 1.97/2.13 apply zenon_H1aa. apply refl_equal. % 1.97/2.13 apply (zenon_L4_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1a6); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ac ]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3)) = ((op (op (e0) (e1)) (e1)) = (op (e0) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1ad. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H12. % 1.97/2.13 cut (((e3) = (op (e0) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H13]. % 1.97/2.13 cut (((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1ae]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [ zenon_intro zenon_H1af | zenon_intro zenon_H1b0 ]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1))) = ((op (e1) (e1)) = (op (op (e0) (e1)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1ae. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1af. % 1.97/2.13 cut (((op (op (e0) (e1)) (e1)) = (op (op (e0) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1b0]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1b1]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H148 zenon_H8). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H1b0. apply refl_equal. % 1.97/2.13 apply zenon_H1b0. apply refl_equal. % 1.97/2.13 apply (zenon_L5_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1ac); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b2 ]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (op (e0) (e1)) (e2)) = (op (e0) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1b3. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (op (e0) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H1d]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1b4]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b6 ]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2))) = ((op (e1) (e2)) = (op (op (e0) (e1)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1b4. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b5. % 1.97/2.13 cut (((op (op (e0) (e1)) (e2)) = (op (op (e0) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1b6]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1b7]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H148 zenon_H8). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H1b6. apply refl_equal. % 1.97/2.13 apply zenon_H1b6. apply refl_equal. % 1.97/2.13 apply (zenon_L7_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1b2); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1b8 ]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2)) = ((op (op (e0) (e1)) (e3)) = (op (e0) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1b9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H25. % 1.97/2.13 cut (((e2) = (op (e0) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H26]. % 1.97/2.13 cut (((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ba]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3))) = ((op (e1) (e3)) = (op (op (e0) (e1)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1ba. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1bb. % 1.97/2.13 cut (((op (op (e0) (e1)) (e3)) = (op (op (e0) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1bc]. % 1.97/2.13 cut (((op (op (e0) (e1)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1bd]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H148]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H148 zenon_H8). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H1bc. apply refl_equal. % 1.97/2.13 apply zenon_H1bc. apply refl_equal. % 1.97/2.13 apply (zenon_L8_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1b8); [ zenon_intro zenon_H1bf | zenon_intro zenon_H1be ]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2)) = ((op (op (e0) (e2)) (e0)) = (op (e0) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1bf. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d. % 1.97/2.13 cut (((e2) = (op (e0) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2e]. % 1.97/2.13 cut (((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c0]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [ zenon_intro zenon_H1c1 | zenon_intro zenon_H1c2 ]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0))) = ((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1c0. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c1. % 1.97/2.13 cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c2]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c3]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H150]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H150 zenon_H24). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H1c2. apply refl_equal. % 1.97/2.13 apply zenon_H1c2. apply refl_equal. % 1.97/2.13 apply (zenon_L9_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1be); [ zenon_intro zenon_H1c5 | zenon_intro zenon_H1c4 ]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (op (e0) (e2)) (e1)) = (op (e0) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1c5. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (op (e0) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c6]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1c8 ]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1))) = ((op (e2) (e1)) = (op (op (e0) (e2)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1c6. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c7. % 1.97/2.13 cut (((op (op (e0) (e2)) (e1)) = (op (op (e0) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c8]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c9]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H150]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H150 zenon_H24). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H1c8. apply refl_equal. % 1.97/2.13 apply zenon_H1c8. apply refl_equal. % 1.97/2.13 apply (zenon_L10_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1c4); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1ca ]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3)) = ((op (op (e0) (e2)) (e2)) = (op (e0) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1cb. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H3d. % 1.97/2.13 cut (((e3) = (op (e0) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H3e]. % 1.97/2.13 cut (((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1cc]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [ zenon_intro zenon_H1cd | zenon_intro zenon_H1ce ]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2))) = ((op (e2) (e2)) = (op (op (e0) (e2)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1cc. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1cd. % 1.97/2.13 cut (((op (op (e0) (e2)) (e2)) = (op (op (e0) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1ce]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1cf]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H150]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H150 zenon_H24). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H1ce. apply refl_equal. % 1.97/2.13 apply zenon_H1ce. apply refl_equal. % 1.97/2.13 apply (zenon_L11_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1ca); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d0 ]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1)) = ((op (op (e0) (e2)) (e3)) = (op (e0) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1d1. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H45. % 1.97/2.13 cut (((e1) = (op (e0) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H46]. % 1.97/2.13 cut (((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1d2]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [ zenon_intro zenon_H1d3 | zenon_intro zenon_H1d4 ]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3))) = ((op (e2) (e3)) = (op (op (e0) (e2)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1d2. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1d3. % 1.97/2.13 cut (((op (op (e0) (e2)) (e3)) = (op (op (e0) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1d4]. % 1.97/2.13 cut (((op (op (e0) (e2)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1d5]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H150]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H150 zenon_H24). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H1d4. apply refl_equal. % 1.97/2.13 apply zenon_H1d4. apply refl_equal. % 1.97/2.13 apply (zenon_L12_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1d0); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1d6 ]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (op (e0) (e3)) (e0)) = (op (e0) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1d7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (op (e0) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H4e]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1d8]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [ zenon_intro zenon_H1d9 | zenon_intro zenon_H1da ]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0))) = ((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1d8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1d9. % 1.97/2.13 cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1da]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1db]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H157 zenon_H11). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H1da. apply refl_equal. % 1.97/2.13 apply zenon_H1da. apply refl_equal. % 1.97/2.13 apply (zenon_L13_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1d6); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1dc ]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2)) = ((op (op (e0) (e3)) (e1)) = (op (e0) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1dd. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H55. % 1.97/2.13 cut (((e2) = (op (e0) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 1.97/2.13 cut (((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1de]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1))) = ((op (e3) (e1)) = (op (op (e0) (e3)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1de. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1df. % 1.97/2.13 cut (((op (op (e0) (e3)) (e1)) = (op (op (e0) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1e1]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H157 zenon_H11). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H1e0. apply refl_equal. % 1.97/2.13 apply zenon_H1e0. apply refl_equal. % 1.97/2.13 apply (zenon_L14_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1dc); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e2 ]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (op (e0) (e3)) (e2)) = (op (e0) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1e3. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (op (e0) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e4]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2))) = ((op (e3) (e2)) = (op (op (e0) (e3)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1e4. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1e5. % 1.97/2.13 cut (((op (op (e0) (e3)) (e2)) = (op (op (e0) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e6]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e7]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H157 zenon_H11). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H1e6. apply refl_equal. % 1.97/2.13 apply zenon_H1e6. apply refl_equal. % 1.97/2.13 apply (zenon_L15_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1e2); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e8 ]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (op (e0) (e3)) (e3)) = (op (e0) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1e9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (op (e0) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H66]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ea]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ec ]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3))) = ((op (e3) (e3)) = (op (op (e0) (e3)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1ea. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1eb. % 1.97/2.13 cut (((op (op (e0) (e3)) (e3)) = (op (op (e0) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 1.97/2.13 cut (((op (op (e0) (e3)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ed]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H157]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H157 zenon_H11). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H1ec. apply refl_equal. % 1.97/2.13 apply zenon_H1ec. apply refl_equal. % 1.97/2.13 apply (zenon_L16_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1e8); [ zenon_intro zenon_H1ef | zenon_intro zenon_H1ee ]. % 1.97/2.13 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply zenon_H19c. apply sym_equal. exact zenon_H1b. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1ee); [ zenon_intro zenon_H1f1 | zenon_intro zenon_H1f0 ]. % 1.97/2.13 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply zenon_H19f. apply sym_equal. exact zenon_H8. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1f0); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f2 ]. % 1.97/2.13 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply zenon_H1a2. apply sym_equal. exact zenon_H24. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1f2); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ]. % 1.97/2.13 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply zenon_H1a5. apply sym_equal. exact zenon_H11. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f7 | zenon_intro zenon_H1f6 ]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (op (e1) (e1)) (e0)) = (op (e1) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1f7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (op (e1) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H6d]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1f8]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0))) = ((op (e3) (e0)) = (op (op (e1) (e1)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1f8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1f9. % 1.97/2.13 cut (((op (op (e1) (e1)) (e0)) = (op (op (e1) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1fa]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1fb]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H1fa. apply refl_equal. % 1.97/2.13 apply zenon_H1fa. apply refl_equal. % 1.97/2.13 apply (zenon_L17_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1f6); [ zenon_intro zenon_H1fd | zenon_intro zenon_H1fc ]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2)) = ((op (op (e1) (e1)) (e1)) = (op (e1) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1fd. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H55. % 1.97/2.13 cut (((e2) = (op (e1) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H73]. % 1.97/2.13 cut (((op (e3) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1fe]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H200 ]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1))) = ((op (e3) (e1)) = (op (op (e1) (e1)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H1fe. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1ff. % 1.97/2.13 cut (((op (op (e1) (e1)) (e1)) = (op (op (e1) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H200]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H201]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H200. apply refl_equal. % 1.97/2.13 apply zenon_H200. apply refl_equal. % 1.97/2.13 apply (zenon_L18_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H1fc); [ zenon_intro zenon_H203 | zenon_intro zenon_H202 ]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (op (e1) (e1)) (e2)) = (op (e1) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H203. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (op (e1) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H79]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H204]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2))) = ((op (e3) (e2)) = (op (op (e1) (e1)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H204. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H205. % 1.97/2.13 cut (((op (op (e1) (e1)) (e2)) = (op (op (e1) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H206]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H207]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H206. apply refl_equal. % 1.97/2.13 apply zenon_H206. apply refl_equal. % 1.97/2.13 apply (zenon_L19_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H202); [ zenon_intro zenon_H209 | zenon_intro zenon_H208 ]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (op (e1) (e1)) (e3)) = (op (e1) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H209. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (op (e1) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H7f]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [ zenon_intro zenon_H20b | zenon_intro zenon_H20c ]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3))) = ((op (e3) (e3)) = (op (op (e1) (e1)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H20a. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H20b. % 1.97/2.13 cut (((op (op (e1) (e1)) (e3)) = (op (op (e1) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H20c]. % 1.97/2.13 cut (((op (op (e1) (e1)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H20d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H20c. apply refl_equal. % 1.97/2.13 apply zenon_H20c. apply refl_equal. % 1.97/2.13 apply (zenon_L20_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H208); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (op (e1) (e2)) (e0)) = (op (e1) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H20f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H211]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [ zenon_intro zenon_H212 | zenon_intro zenon_H213 ]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0))) = ((op (e0) (e0)) = (op (op (e1) (e2)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H211. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H212. % 1.97/2.13 cut (((op (op (e1) (e2)) (e0)) = (op (op (e1) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H213]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H214]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H213. apply refl_equal. % 1.97/2.13 apply zenon_H213. apply refl_equal. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H215 | zenon_intro zenon_H216 ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((e0) = (op (e1) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H210. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H215. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H216]. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H217]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (e1) (op (e2) (e0))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H217. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H218]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [ zenon_intro zenon_H215 | zenon_intro zenon_H216 ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0)))) = ((op (e1) (e2)) = (op (e1) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H218. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H215. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (op (e1) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H216]. % 1.97/2.13 cut (((op (e1) (op (e2) (e0))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H219]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_H216. apply refl_equal. % 1.97/2.13 apply zenon_H216. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H216. apply refl_equal. % 1.97/2.13 apply zenon_H216. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H21b | zenon_intro zenon_H21a ]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1)) = ((op (op (e1) (e2)) (e1)) = (op (e1) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H21b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H8. % 1.97/2.13 cut (((e1) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H21c]. % 1.97/2.13 cut (((op (e0) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H21d]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1))) = ((op (e0) (e1)) = (op (op (e1) (e2)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H21d. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H21e. % 1.97/2.13 cut (((op (op (e1) (e2)) (e1)) = (op (op (e1) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H21f]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H220]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H21f. apply refl_equal. % 1.97/2.13 apply zenon_H21f. apply refl_equal. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H221 | zenon_intro zenon_H222 ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((e1) = (op (e1) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H21c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H221. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H222]. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H223]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (op (e2) (e1))) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H223. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H9. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e1) (e0)) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H224]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [ zenon_intro zenon_H221 | zenon_intro zenon_H222 ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1)))) = ((op (e1) (e0)) = (op (e1) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H224. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H221. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (op (e1) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H222]. % 1.97/2.13 cut (((op (e1) (op (e2) (e1))) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_H222. apply refl_equal. % 1.97/2.13 apply zenon_H222. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H222. apply refl_equal. % 1.97/2.13 apply zenon_H222. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H21a); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2)) = ((op (op (e1) (e2)) (e2)) = (op (e1) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H227. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H24. % 1.97/2.13 cut (((e2) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H228]. % 1.97/2.13 cut (((op (e0) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H229]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [ zenon_intro zenon_H22a | zenon_intro zenon_H22b ]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2))) = ((op (e0) (e2)) = (op (op (e1) (e2)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H229. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H22a. % 1.97/2.13 cut (((op (op (e1) (e2)) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H22b]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H22c]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H22b. apply refl_equal. % 1.97/2.13 apply zenon_H22b. apply refl_equal. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H22d | zenon_intro zenon_H22e ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((e2) = (op (e1) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H228. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H22d. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22e]. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H22f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e3)) = (e2)) = ((op (e1) (op (e2) (e2))) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H22f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H25. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e1) (e3)) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H230]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [ zenon_intro zenon_H22d | zenon_intro zenon_H22e ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2)))) = ((op (e1) (e3)) = (op (e1) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H230. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H22d. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (op (e1) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H22e]. % 1.97/2.13 cut (((op (e1) (op (e2) (e2))) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H231]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_H22e. apply refl_equal. % 1.97/2.13 apply zenon_H22e. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H22e. apply refl_equal. % 1.97/2.13 apply zenon_H22e. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H233 | zenon_intro zenon_H232 ]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3)) = ((op (op (e1) (e2)) (e3)) = (op (e1) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H233. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H11. % 1.97/2.13 cut (((e3) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H234]. % 1.97/2.13 cut (((op (e0) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H235]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [ zenon_intro zenon_H236 | zenon_intro zenon_H237 ]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3))) = ((op (e0) (e3)) = (op (op (e1) (e2)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H235. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H236. % 1.97/2.13 cut (((op (op (e1) (e2)) (e3)) = (op (op (e1) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H237]. % 1.97/2.13 cut (((op (op (e1) (e2)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H238]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H237. apply refl_equal. % 1.97/2.13 apply zenon_H237. apply refl_equal. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H23a ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((e3) = (op (e1) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H234. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H239. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H23a]. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H23b]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e1)) = (e3)) = ((op (e1) (op (e2) (e3))) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H23b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H12. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e1) (e1)) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H23c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H23a ]. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3)))) = ((op (e1) (e1)) = (op (e1) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H23c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H239. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (op (e1) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H23a]. % 1.97/2.13 cut (((op (e1) (op (e2) (e3))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H23d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_H23a. apply refl_equal. % 1.97/2.13 apply zenon_H23a. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H23a. apply refl_equal. % 1.97/2.13 apply zenon_H23a. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H232); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2)) = ((op (op (e1) (e3)) (e0)) = (op (e1) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H23f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d. % 1.97/2.13 cut (((e2) = (op (e1) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H85]. % 1.97/2.13 cut (((op (e2) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H240]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [ zenon_intro zenon_H241 | zenon_intro zenon_H242 ]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0))) = ((op (e2) (e0)) = (op (op (e1) (e3)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H240. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H241. % 1.97/2.13 cut (((op (op (e1) (e3)) (e0)) = (op (op (e1) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H242]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H243]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H242. apply refl_equal. % 1.97/2.13 apply zenon_H242. apply refl_equal. % 1.97/2.13 apply (zenon_L21_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H23e); [ zenon_intro zenon_H245 | zenon_intro zenon_H244 ]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (op (e1) (e3)) (e1)) = (op (e1) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H245. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (op (e1) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H246]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [ zenon_intro zenon_H247 | zenon_intro zenon_H248 ]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1))) = ((op (e2) (e1)) = (op (op (e1) (e3)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H246. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H247. % 1.97/2.13 cut (((op (op (e1) (e3)) (e1)) = (op (op (e1) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H248]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H249]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H248. apply refl_equal. % 1.97/2.13 apply zenon_H248. apply refl_equal. % 1.97/2.13 apply (zenon_L22_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H244); [ zenon_intro zenon_H24b | zenon_intro zenon_H24a ]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3)) = ((op (op (e1) (e3)) (e2)) = (op (e1) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H24b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H3d. % 1.97/2.13 cut (((e3) = (op (e1) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H91]. % 1.97/2.13 cut (((op (e2) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [ zenon_intro zenon_H24d | zenon_intro zenon_H24e ]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2))) = ((op (e2) (e2)) = (op (op (e1) (e3)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H24c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H24d. % 1.97/2.13 cut (((op (op (e1) (e3)) (e2)) = (op (op (e1) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24e]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H24e. apply refl_equal. % 1.97/2.13 apply zenon_H24e. apply refl_equal. % 1.97/2.13 apply (zenon_L23_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H24a); [ zenon_intro zenon_H251 | zenon_intro zenon_H250 ]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1)) = ((op (op (e1) (e3)) (e3)) = (op (e1) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H251. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H45. % 1.97/2.13 cut (((e1) = (op (e1) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H97]. % 1.97/2.13 cut (((op (e2) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H252]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [ zenon_intro zenon_H253 | zenon_intro zenon_H254 ]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3))) = ((op (e2) (e3)) = (op (op (e1) (e3)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H252. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H253. % 1.97/2.13 cut (((op (op (e1) (e3)) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H254]. % 1.97/2.13 cut (((op (op (e1) (e3)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H255]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H254. apply refl_equal. % 1.97/2.13 apply zenon_H254. apply refl_equal. % 1.97/2.13 apply (zenon_L24_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H250); [ zenon_intro zenon_H257 | zenon_intro zenon_H256 ]. % 1.97/2.13 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_H19c. apply sym_equal. exact zenon_H1b. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H256); [ zenon_intro zenon_H259 | zenon_intro zenon_H258 ]. % 1.97/2.13 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_H19f. apply sym_equal. exact zenon_H8. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H258); [ zenon_intro zenon_H25b | zenon_intro zenon_H25a ]. % 1.97/2.13 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_H1a2. apply sym_equal. exact zenon_H24. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H25a); [ zenon_intro zenon_H25d | zenon_intro zenon_H25c ]. % 1.97/2.13 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H34]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H34 zenon_H2d). % 1.97/2.13 apply zenon_H1a5. apply sym_equal. exact zenon_H11. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H25c); [ zenon_intro zenon_H25f | zenon_intro zenon_H25e ]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (op (e2) (e1)) (e0)) = (op (e2) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H25f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H260]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H261]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [ zenon_intro zenon_H262 | zenon_intro zenon_H263 ]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0))) = ((op (e0) (e0)) = (op (op (e2) (e1)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H261. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H262. % 1.97/2.13 cut (((op (op (e2) (e1)) (e0)) = (op (op (e2) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H263]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H264]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H263. apply refl_equal. % 1.97/2.13 apply zenon_H263. apply refl_equal. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H265 | zenon_intro zenon_H266 ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((e0) = (op (e2) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H260. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H265. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H266]. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H267]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (e2) (op (e1) (e0))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H267. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [ zenon_intro zenon_H265 | zenon_intro zenon_H266 ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0)))) = ((op (e2) (e1)) = (op (e2) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H268. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H265. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (op (e2) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H266]. % 1.97/2.13 cut (((op (e2) (op (e1) (e0))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e0)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H10]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_H10 zenon_H9). % 1.97/2.13 apply zenon_H266. apply refl_equal. % 1.97/2.13 apply zenon_H266. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H266. apply refl_equal. % 1.97/2.13 apply zenon_H266. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H25e); [ zenon_intro zenon_H26b | zenon_intro zenon_H26a ]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1)) = ((op (op (e2) (e1)) (e1)) = (op (e2) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H26b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H8. % 1.97/2.13 cut (((e1) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H26c]. % 1.97/2.13 cut (((op (e0) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H26d]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [ zenon_intro zenon_H26e | zenon_intro zenon_H26f ]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1))) = ((op (e0) (e1)) = (op (op (e2) (e1)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H26d. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H26e. % 1.97/2.13 cut (((op (op (e2) (e1)) (e1)) = (op (op (e2) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H26f]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H270]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H26f. apply refl_equal. % 1.97/2.13 apply zenon_H26f. apply refl_equal. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((e1) = (op (e2) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H26c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H271. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H272]. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H273]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e3)) = (e1)) = ((op (e2) (op (e1) (e1))) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H273. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H45. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e2) (e3)) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H274]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1)))) = ((op (e2) (e3)) = (op (e2) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H274. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H271. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (op (e2) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H272]. % 1.97/2.13 cut (((op (e2) (op (e1) (e1))) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H275]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H19]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_H19 zenon_H12). % 1.97/2.13 apply zenon_H272. apply refl_equal. % 1.97/2.13 apply zenon_H272. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H272. apply refl_equal. % 1.97/2.13 apply zenon_H272. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H26a); [ zenon_intro zenon_H277 | zenon_intro zenon_H276 ]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2)) = ((op (op (e2) (e1)) (e2)) = (op (e2) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H277. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H24. % 1.97/2.13 cut (((e2) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H278]. % 1.97/2.13 cut (((op (e0) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H279]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [ zenon_intro zenon_H27a | zenon_intro zenon_H27b ]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2))) = ((op (e0) (e2)) = (op (op (e2) (e1)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H279. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H27a. % 1.97/2.13 cut (((op (op (e2) (e1)) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H27b]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H27c]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H27b. apply refl_equal. % 1.97/2.13 apply zenon_H27b. apply refl_equal. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27e ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((e2) = (op (e2) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H278. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H27d. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H27e]. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H27f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (op (e1) (e2))) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H27f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e2) (e0)) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H280]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27e ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2)))) = ((op (e2) (e0)) = (op (e2) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H280. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H27d. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (op (e2) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H27e]. % 1.97/2.13 cut (((op (e2) (op (e1) (e2))) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H281]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H23]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_H23 zenon_H1c). % 1.97/2.13 apply zenon_H27e. apply refl_equal. % 1.97/2.13 apply zenon_H27e. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H27e. apply refl_equal. % 1.97/2.13 apply zenon_H27e. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H276); [ zenon_intro zenon_H283 | zenon_intro zenon_H282 ]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3)) = ((op (op (e2) (e1)) (e3)) = (op (e2) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H283. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H11. % 1.97/2.13 cut (((e3) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H284]. % 1.97/2.13 cut (((op (e0) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H285]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [ zenon_intro zenon_H286 | zenon_intro zenon_H287 ]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3))) = ((op (e0) (e3)) = (op (op (e2) (e1)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H285. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H286. % 1.97/2.13 cut (((op (op (e2) (e1)) (e3)) = (op (op (e2) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H287]. % 1.97/2.13 cut (((op (op (e2) (e1)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H288]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H3c zenon_H35). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H287. apply refl_equal. % 1.97/2.13 apply zenon_H287. apply refl_equal. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H289 | zenon_intro zenon_H28a ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((e3) = (op (e2) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H284. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H289. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H28b]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e2) (e2)) = (e3)) = ((op (e2) (op (e1) (e3))) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H28b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H3d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e2) (e2)) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [ zenon_intro zenon_H289 | zenon_intro zenon_H28a ]. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3)))) = ((op (e2) (e2)) = (op (e2) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H28c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H289. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (op (e2) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H28a]. % 1.97/2.13 cut (((op (e2) (op (e1) (e3))) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H28d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e1) (e3)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H2c]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_H2c zenon_H25). % 1.97/2.13 apply zenon_H28a. apply refl_equal. % 1.97/2.13 apply zenon_H28a. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H28a. apply refl_equal. % 1.97/2.13 apply zenon_H28a. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H282); [ zenon_intro zenon_H28f | zenon_intro zenon_H28e ]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (op (e2) (e2)) (e0)) = (op (e2) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H28f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (op (e2) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H9d]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H290]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [ zenon_intro zenon_H291 | zenon_intro zenon_H292 ]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0))) = ((op (e3) (e0)) = (op (op (e2) (e2)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H290. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H291. % 1.97/2.13 cut (((op (op (e2) (e2)) (e0)) = (op (op (e2) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H292]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H293]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H292. apply refl_equal. % 1.97/2.13 apply zenon_H292. apply refl_equal. % 1.97/2.13 apply (zenon_L25_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H28e); [ zenon_intro zenon_H295 | zenon_intro zenon_H294 ]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2)) = ((op (op (e2) (e2)) (e1)) = (op (e2) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H295. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H55. % 1.97/2.13 cut (((e2) = (op (e2) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 1.97/2.13 cut (((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H296]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [ zenon_intro zenon_H297 | zenon_intro zenon_H298 ]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1))) = ((op (e3) (e1)) = (op (op (e2) (e2)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H296. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H297. % 1.97/2.13 cut (((op (op (e2) (e2)) (e1)) = (op (op (e2) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H298]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H299]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H298. apply refl_equal. % 1.97/2.13 apply zenon_H298. apply refl_equal. % 1.97/2.13 apply (zenon_L26_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H294); [ zenon_intro zenon_H29b | zenon_intro zenon_H29a ]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (op (e2) (e2)) (e2)) = (op (e2) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H29b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (op (e2) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Ha9]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H29c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [ zenon_intro zenon_H29d | zenon_intro zenon_H29e ]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2))) = ((op (e3) (e2)) = (op (op (e2) (e2)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H29c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H29d. % 1.97/2.13 cut (((op (op (e2) (e2)) (e2)) = (op (op (e2) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H29e]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H29f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H29e. apply refl_equal. % 1.97/2.13 apply zenon_H29e. apply refl_equal. % 1.97/2.13 apply (zenon_L27_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H29a); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a0 ]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (op (e2) (e2)) (e3)) = (op (e2) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2a1. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (op (e2) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Haf]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2a2]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [ zenon_intro zenon_H2a3 | zenon_intro zenon_H2a4 ]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3))) = ((op (e3) (e3)) = (op (op (e2) (e2)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2a2. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2a3. % 1.97/2.13 cut (((op (op (e2) (e2)) (e3)) = (op (op (e2) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2a4]. % 1.97/2.13 cut (((op (op (e2) (e2)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2a5]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H44]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H44 zenon_H3d). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H2a4. apply refl_equal. % 1.97/2.13 apply zenon_H2a4. apply refl_equal. % 1.97/2.13 apply (zenon_L28_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2a0); [ zenon_intro zenon_H2a7 | zenon_intro zenon_H2a6 ]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1)) = ((op (op (e2) (e3)) (e0)) = (op (e2) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2a7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H9. % 1.97/2.13 cut (((e1) = (op (e2) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hb5]. % 1.97/2.13 cut (((op (e1) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2a8]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [ zenon_intro zenon_H2a9 | zenon_intro zenon_H2aa ]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0))) = ((op (e1) (e0)) = (op (op (e2) (e3)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2a8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2a9. % 1.97/2.13 cut (((op (op (e2) (e3)) (e0)) = (op (op (e2) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2aa]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2ab]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H2aa. apply refl_equal. % 1.97/2.13 apply zenon_H2aa. apply refl_equal. % 1.97/2.13 apply (zenon_L29_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2a6); [ zenon_intro zenon_H2ad | zenon_intro zenon_H2ac ]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3)) = ((op (op (e2) (e3)) (e1)) = (op (e2) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ad. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H12. % 1.97/2.13 cut (((e3) = (op (e2) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hbb]. % 1.97/2.13 cut (((op (e1) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2ae]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [ zenon_intro zenon_H2af | zenon_intro zenon_H2b0 ]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1))) = ((op (e1) (e1)) = (op (op (e2) (e3)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ae. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2af. % 1.97/2.13 cut (((op (op (e2) (e3)) (e1)) = (op (op (e2) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2b0]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2b1]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H2b0. apply refl_equal. % 1.97/2.13 apply zenon_H2b0. apply refl_equal. % 1.97/2.13 apply (zenon_L30_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2ac); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b2 ]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (op (e2) (e3)) (e2)) = (op (e2) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2b3. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (op (e2) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hc1]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b4]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b6 ]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2))) = ((op (e1) (e2)) = (op (op (e2) (e3)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2b4. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2b5. % 1.97/2.13 cut (((op (op (e2) (e3)) (e2)) = (op (op (e2) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b6]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2b7]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H2b6. apply refl_equal. % 1.97/2.13 apply zenon_H2b6. apply refl_equal. % 1.97/2.13 apply (zenon_L31_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2b2); [ zenon_intro zenon_H2b9 | zenon_intro zenon_H2b8 ]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2)) = ((op (op (e2) (e3)) (e3)) = (op (e2) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2b9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H25. % 1.97/2.13 cut (((e2) = (op (e2) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 1.97/2.13 cut (((op (e1) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2ba]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [ zenon_intro zenon_H2bb | zenon_intro zenon_H2bc ]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3))) = ((op (e1) (e3)) = (op (op (e2) (e3)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ba. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2bb. % 1.97/2.13 cut (((op (op (e2) (e3)) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2bc]. % 1.97/2.13 cut (((op (op (e2) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2bd]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H4c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H4c zenon_H45). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H2bc. apply refl_equal. % 1.97/2.13 apply zenon_H2bc. apply refl_equal. % 1.97/2.13 apply (zenon_L32_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2b8); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2be ]. % 1.97/2.13 cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H19c]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply zenon_H19c. apply sym_equal. exact zenon_H1b. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2be); [ zenon_intro zenon_H2c1 | zenon_intro zenon_H2c0 ]. % 1.97/2.13 cut (((e1) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H19f]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply zenon_H19f. apply sym_equal. exact zenon_H8. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2c0); [ zenon_intro zenon_H2c3 | zenon_intro zenon_H2c2 ]. % 1.97/2.13 cut (((e2) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1a2]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply zenon_H1a2. apply sym_equal. exact zenon_H24. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2c2); [ zenon_intro zenon_H2c5 | zenon_intro zenon_H2c4 ]. % 1.97/2.13 cut (((e3) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1a5]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply zenon_H1a5. apply sym_equal. exact zenon_H11. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2c4); [ zenon_intro zenon_H2c7 | zenon_intro zenon_H2c6 ]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2)) = ((op (op (e3) (e1)) (e0)) = (op (e3) (op (e1) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2c7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d. % 1.97/2.13 cut (((e2) = (op (e3) (op (e1) (e0))))); [idtac | apply NNPP; zenon_intro zenon_Hcd]. % 1.97/2.13 cut (((op (e2) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2c8]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [ zenon_intro zenon_H2c9 | zenon_intro zenon_H2ca ]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0))) = ((op (e2) (e0)) = (op (op (e3) (e1)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2c8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2c9. % 1.97/2.13 cut (((op (op (e3) (e1)) (e0)) = (op (op (e3) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2ca]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2cb]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H2ca. apply refl_equal. % 1.97/2.13 apply zenon_H2ca. apply refl_equal. % 1.97/2.13 apply (zenon_L33_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2c6); [ zenon_intro zenon_H2cd | zenon_intro zenon_H2cc ]. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (op (e3) (e1)) (e1)) = (op (e3) (op (e1) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2cd. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (op (e3) (op (e1) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2ce]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [ zenon_intro zenon_H2cf | zenon_intro zenon_H2d0 ]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1))) = ((op (e2) (e1)) = (op (op (e3) (e1)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ce. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2cf. % 1.97/2.13 cut (((op (op (e3) (e1)) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2d0]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2d1]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H2d0. apply refl_equal. % 1.97/2.13 apply zenon_H2d0. apply refl_equal. % 1.97/2.13 apply (zenon_L34_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2cc); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H2d2 ]. % 1.97/2.13 cut (((op (e2) (e2)) = (e3)) = ((op (op (e3) (e1)) (e2)) = (op (e3) (op (e1) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2d3. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H3d. % 1.97/2.13 cut (((e3) = (op (e3) (op (e1) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hd9]. % 1.97/2.13 cut (((op (e2) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2d4]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [ zenon_intro zenon_H2d5 | zenon_intro zenon_H2d6 ]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2))) = ((op (e2) (e2)) = (op (op (e3) (e1)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2d4. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d5. % 1.97/2.13 cut (((op (op (e3) (e1)) (e2)) = (op (op (e3) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2d6]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e2)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2d7]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H2d6. apply refl_equal. % 1.97/2.13 apply zenon_H2d6. apply refl_equal. % 1.97/2.13 apply (zenon_L35_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2d2); [ zenon_intro zenon_H2d9 | zenon_intro zenon_H2d8 ]. % 1.97/2.13 cut (((op (e2) (e3)) = (e1)) = ((op (op (e3) (e1)) (e3)) = (op (e3) (op (e1) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2d9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H45. % 1.97/2.13 cut (((e1) = (op (e3) (op (e1) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hdf]. % 1.97/2.13 cut (((op (e2) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2da]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [ zenon_intro zenon_H2db | zenon_intro zenon_H2dc ]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3))) = ((op (e2) (e3)) = (op (op (e3) (e1)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2da. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2db. % 1.97/2.13 cut (((op (op (e3) (e1)) (e3)) = (op (op (e3) (e1)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2dc]. % 1.97/2.13 cut (((op (op (e3) (e1)) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2dd]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H2dc. apply refl_equal. % 1.97/2.13 apply zenon_H2dc. apply refl_equal. % 1.97/2.13 apply (zenon_L36_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2d8); [ zenon_intro zenon_H2df | zenon_intro zenon_H2de ]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1)) = ((op (op (e3) (e2)) (e0)) = (op (e3) (op (e2) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2df. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H9. % 1.97/2.13 cut (((e1) = (op (e3) (op (e2) (e0))))); [idtac | apply NNPP; zenon_intro zenon_He5]. % 1.97/2.13 cut (((op (e1) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2e0]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [ zenon_intro zenon_H2e1 | zenon_intro zenon_H2e2 ]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0))) = ((op (e1) (e0)) = (op (op (e3) (e2)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2e0. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2e1. % 1.97/2.13 cut (((op (op (e3) (e2)) (e0)) = (op (op (e3) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2e2]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2e3]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H2e2. apply refl_equal. % 1.97/2.13 apply zenon_H2e2. apply refl_equal. % 1.97/2.13 apply (zenon_L37_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2de); [ zenon_intro zenon_H2e5 | zenon_intro zenon_H2e4 ]. % 1.97/2.13 cut (((op (e1) (e1)) = (e3)) = ((op (op (e3) (e2)) (e1)) = (op (e3) (op (e2) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2e5. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H12. % 1.97/2.13 cut (((e3) = (op (e3) (op (e2) (e1))))); [idtac | apply NNPP; zenon_intro zenon_Heb]. % 1.97/2.13 cut (((op (e1) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2e6]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [ zenon_intro zenon_H2e7 | zenon_intro zenon_H2e8 ]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1))) = ((op (e1) (e1)) = (op (op (e3) (e2)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2e6. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2e7. % 1.97/2.13 cut (((op (op (e3) (e2)) (e1)) = (op (op (e3) (e2)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2e8]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H2e9]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H2e8. apply refl_equal. % 1.97/2.13 apply zenon_H2e8. apply refl_equal. % 1.97/2.13 apply (zenon_L38_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2e4); [ zenon_intro zenon_H2eb | zenon_intro zenon_H2ea ]. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (op (e3) (e2)) (e2)) = (op (e3) (op (e2) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2eb. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (op (e3) (op (e2) (e2))))); [idtac | apply NNPP; zenon_intro zenon_Hf1]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2ec]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [ zenon_intro zenon_H2ed | zenon_intro zenon_H2ee ]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2))) = ((op (e1) (e2)) = (op (op (e3) (e2)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ec. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2ed. % 1.97/2.13 cut (((op (op (e3) (e2)) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2ee]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H2ef]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H2ee. apply refl_equal. % 1.97/2.13 apply zenon_H2ee. apply refl_equal. % 1.97/2.13 apply (zenon_L39_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2ea); [ zenon_intro zenon_H2f1 | zenon_intro zenon_H2f0 ]. % 1.97/2.13 cut (((op (e1) (e3)) = (e2)) = ((op (op (e3) (e2)) (e3)) = (op (e3) (op (e2) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2f1. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H25. % 1.97/2.13 cut (((e2) = (op (e3) (op (e2) (e3))))); [idtac | apply NNPP; zenon_intro zenon_Hf7]. % 1.97/2.13 cut (((op (e1) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f4 ]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3))) = ((op (e1) (e3)) = (op (op (e3) (e2)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2f2. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2f3. % 1.97/2.13 cut (((op (op (e3) (e2)) (e3)) = (op (op (e3) (e2)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f4]. % 1.97/2.13 cut (((op (op (e3) (e2)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f5]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H2f4. apply refl_equal. % 1.97/2.13 apply zenon_H2f4. apply refl_equal. % 1.97/2.13 apply (zenon_L40_); trivial. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2f0); [ zenon_intro zenon_H2f7 | zenon_intro zenon_H2f6 ]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (op (e3) (e3)) (e0)) = (op (e3) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2f7. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2f8]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2f9]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [ zenon_intro zenon_H2fa | zenon_intro zenon_H2fb ]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0))) = ((op (e0) (e0)) = (op (op (e3) (e3)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2f9. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2fa. % 1.97/2.13 cut (((op (op (e3) (e3)) (e0)) = (op (op (e3) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2fb]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H2fc]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H2fb. apply refl_equal. % 1.97/2.13 apply zenon_H2fb. apply refl_equal. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H2fd | zenon_intro zenon_H2fe ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((e0) = (op (e3) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2f8. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2fd. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fe]. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H2ff]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (e3) (op (e3) (e0))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H2ff. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H300]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [ zenon_intro zenon_H2fd | zenon_intro zenon_H2fe ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0)))) = ((op (e3) (e3)) = (op (e3) (op (e3) (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H300. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2fd. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (op (e3) (op (e3) (e0))))); [idtac | apply NNPP; zenon_intro zenon_H2fe]. % 1.97/2.13 cut (((op (e3) (op (e3) (e0))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H301]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e0)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H54]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H54 zenon_H4d). % 1.97/2.13 apply zenon_H2fe. apply refl_equal. % 1.97/2.13 apply zenon_H2fe. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H2fe. apply refl_equal. % 1.97/2.13 apply zenon_H2fe. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H2f6); [ zenon_intro zenon_H303 | zenon_intro zenon_H302 ]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1)) = ((op (op (e3) (e3)) (e1)) = (op (e3) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H303. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H8. % 1.97/2.13 cut (((e1) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H304]. % 1.97/2.13 cut (((op (e0) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H305]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1))) = ((op (e0) (e1)) = (op (op (e3) (e3)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H305. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H306. % 1.97/2.13 cut (((op (op (e3) (e3)) (e1)) = (op (op (e3) (e3)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H307]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H308]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H307. apply refl_equal. % 1.97/2.13 apply zenon_H307. apply refl_equal. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H309 | zenon_intro zenon_H30a ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((e1) = (op (e3) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H304. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H309. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H30a]. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H30b]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e2)) = (e1)) = ((op (e3) (op (e3) (e1))) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H30b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H5d. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e3) (e2)) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H30c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [ zenon_intro zenon_H309 | zenon_intro zenon_H30a ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1)))) = ((op (e3) (e2)) = (op (e3) (op (e3) (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H30c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H309. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (op (e3) (op (e3) (e1))))); [idtac | apply NNPP; zenon_intro zenon_H30a]. % 1.97/2.13 cut (((op (e3) (op (e3) (e1))) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H5c]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H5c zenon_H55). % 1.97/2.13 apply zenon_H30a. apply refl_equal. % 1.97/2.13 apply zenon_H30a. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H30a. apply refl_equal. % 1.97/2.13 apply zenon_H30a. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H302); [ zenon_intro zenon_H30f | zenon_intro zenon_H30e ]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2)) = ((op (op (e3) (e3)) (e2)) = (op (e3) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H30f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H24. % 1.97/2.13 cut (((e2) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H310]. % 1.97/2.13 cut (((op (e0) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H311]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2))) = ((op (e0) (e2)) = (op (op (e3) (e3)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H311. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H312. % 1.97/2.13 cut (((op (op (e3) (e3)) (e2)) = (op (op (e3) (e3)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H313]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H314]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H313. apply refl_equal. % 1.97/2.13 apply zenon_H313. apply refl_equal. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H315 | zenon_intro zenon_H316 ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((e2) = (op (e3) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H310. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H315. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H316]. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H317]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e1)) = (e2)) = ((op (e3) (op (e3) (e2))) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H317. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H55. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e3) (e1)) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H318]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [ zenon_intro zenon_H315 | zenon_intro zenon_H316 ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2)))) = ((op (e3) (e1)) = (op (e3) (op (e3) (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H318. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H315. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (op (e3) (op (e3) (e2))))); [idtac | apply NNPP; zenon_intro zenon_H316]. % 1.97/2.13 cut (((op (e3) (op (e3) (e2))) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H319]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H64]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H64 zenon_H5d). % 1.97/2.13 apply zenon_H316. apply refl_equal. % 1.97/2.13 apply zenon_H316. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H316. apply refl_equal. % 1.97/2.13 apply zenon_H316. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H30e); [ zenon_intro zenon_H31b | zenon_intro zenon_H31a ]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3)) = ((op (op (e3) (e3)) (e3)) = (op (e3) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H31b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H11. % 1.97/2.13 cut (((e3) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H31c]. % 1.97/2.13 cut (((op (e0) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31d]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3))) = ((op (e0) (e3)) = (op (op (e3) (e3)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H31d. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H31e. % 1.97/2.13 cut (((op (op (e3) (e3)) (e3)) = (op (op (e3) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31f]. % 1.97/2.13 cut (((op (op (e3) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H320]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H31f. apply refl_equal. % 1.97/2.13 apply zenon_H31f. apply refl_equal. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H321 | zenon_intro zenon_H322 ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((e3) = (op (e3) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H31c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H321. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H323]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (op (e3) (e3))) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H323. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H324]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [ zenon_intro zenon_H321 | zenon_intro zenon_H322 ]. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3)))) = ((op (e3) (e0)) = (op (e3) (op (e3) (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H324. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H321. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (op (e3) (op (e3) (e3))))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 1.97/2.13 cut (((op (e3) (op (e3) (e3))) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H325]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((op (e3) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6c]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H6c zenon_H65). % 1.97/2.13 apply zenon_H322. apply refl_equal. % 1.97/2.13 apply zenon_H322. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H322. apply refl_equal. % 1.97/2.13 apply zenon_H322. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H31a); [ zenon_intro zenon_H327 | zenon_intro zenon_H326 ]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (unit) (e0)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H327. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H328]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (unit) (e0)) = (op (unit) (e0)))); [ zenon_intro zenon_H329 | zenon_intro zenon_H32a ]. % 1.97/2.13 cut (((op (unit) (e0)) = (op (unit) (e0))) = ((op (e0) (e0)) = (op (unit) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H328. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H329. % 1.97/2.13 cut (((op (unit) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H32a]. % 1.97/2.13 cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H32b]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H32a. apply refl_equal. % 1.97/2.13 apply zenon_H32a. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H326); [ zenon_intro zenon_H32d | zenon_intro zenon_H32c ]. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (unit)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H32d. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H32e]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e0) (unit)) = (op (e0) (unit)))); [ zenon_intro zenon_H32f | zenon_intro zenon_H330 ]. % 1.97/2.13 cut (((op (e0) (unit)) = (op (e0) (unit))) = ((op (e0) (e0)) = (op (e0) (unit)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H32e. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H32f. % 1.97/2.13 cut (((op (e0) (unit)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H330]. % 1.97/2.13 cut (((op (e0) (unit)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H331]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H330. apply refl_equal. % 1.97/2.13 apply zenon_H330. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H32c); [ zenon_intro zenon_H333 | zenon_intro zenon_H332 ]. % 1.97/2.13 cut (((op (e0) (e1)) = (e1)) = ((op (unit) (e1)) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H333. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H8. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H334]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (unit) (e1)) = (op (unit) (e1)))); [ zenon_intro zenon_H335 | zenon_intro zenon_H336 ]. % 1.97/2.13 cut (((op (unit) (e1)) = (op (unit) (e1))) = ((op (e0) (e1)) = (op (unit) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H334. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H335. % 1.97/2.13 cut (((op (unit) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H336]. % 1.97/2.13 cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H337]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H336. apply refl_equal. % 1.97/2.13 apply zenon_H336. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H332); [ zenon_intro zenon_H339 | zenon_intro zenon_H338 ]. % 1.97/2.13 cut (((op (e1) (e0)) = (e1)) = ((op (e1) (unit)) = (e1))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H339. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H9. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H33a]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (unit)) = (op (e1) (unit)))); [ zenon_intro zenon_H33b | zenon_intro zenon_H33c ]. % 1.97/2.13 cut (((op (e1) (unit)) = (op (e1) (unit))) = ((op (e1) (e0)) = (op (e1) (unit)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H33a. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H33b. % 1.97/2.13 cut (((op (e1) (unit)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H33c]. % 1.97/2.13 cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H33d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H33c. apply refl_equal. % 1.97/2.13 apply zenon_H33c. apply refl_equal. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H338); [ zenon_intro zenon_H33f | zenon_intro zenon_H33e ]. % 1.97/2.13 cut (((op (e0) (e2)) = (e2)) = ((op (unit) (e2)) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H33f. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H24. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H340]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (unit) (e2)) = (op (unit) (e2)))); [ zenon_intro zenon_H341 | zenon_intro zenon_H342 ]. % 1.97/2.13 cut (((op (unit) (e2)) = (op (unit) (e2))) = ((op (e0) (e2)) = (op (unit) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H340. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H341. % 1.97/2.13 cut (((op (unit) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H342]. % 1.97/2.13 cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H343]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H342. apply refl_equal. % 1.97/2.13 apply zenon_H342. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H33e); [ zenon_intro zenon_H345 | zenon_intro zenon_H344 ]. % 1.97/2.13 cut (((op (e2) (e0)) = (e2)) = ((op (e2) (unit)) = (e2))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H345. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H2d. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H346]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (unit)) = (op (e2) (unit)))); [ zenon_intro zenon_H347 | zenon_intro zenon_H348 ]. % 1.97/2.13 cut (((op (e2) (unit)) = (op (e2) (unit))) = ((op (e2) (e0)) = (op (e2) (unit)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H346. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H347. % 1.97/2.13 cut (((op (e2) (unit)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H348]. % 1.97/2.13 cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H349]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H348. apply refl_equal. % 1.97/2.13 apply zenon_H348. apply refl_equal. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H344); [ zenon_intro zenon_H34b | zenon_intro zenon_H34a ]. % 1.97/2.13 cut (((op (e0) (e3)) = (e3)) = ((op (unit) (e3)) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H34b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H11. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H34c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (unit) (e3)) = (op (unit) (e3)))); [ zenon_intro zenon_H34d | zenon_intro zenon_H34e ]. % 1.97/2.13 cut (((op (unit) (e3)) = (op (unit) (e3))) = ((op (e0) (e3)) = (op (unit) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H34c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H34d. % 1.97/2.13 cut (((op (unit) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H34e]. % 1.97/2.13 cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H34f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H34e. apply refl_equal. % 1.97/2.13 apply zenon_H34e. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H34a); [ zenon_intro zenon_H351 | zenon_intro zenon_H350 ]. % 1.97/2.13 cut (((op (e3) (e0)) = (e3)) = ((op (e3) (unit)) = (e3))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H351. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H4d. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H352]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (unit)) = (op (e3) (unit)))); [ zenon_intro zenon_H353 | zenon_intro zenon_H354 ]. % 1.97/2.13 cut (((op (e3) (unit)) = (op (e3) (unit))) = ((op (e3) (e0)) = (op (e3) (unit)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H352. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H353. % 1.97/2.13 cut (((op (e3) (unit)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H354]. % 1.97/2.13 cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H355]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((unit) = (e0))); [idtac | apply NNPP; zenon_intro zenon_Hfd]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply zenon_H354. apply refl_equal. % 1.97/2.13 apply zenon_H354. apply refl_equal. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H350); [ zenon_intro zenon_H357 | zenon_intro zenon_H356 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H357). zenon_intro zenon_Hfd. zenon_intro zenon_H358. % 1.97/2.13 exact (zenon_Hfd ax3). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H356); [ zenon_intro zenon_H35a | zenon_intro zenon_H359 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vh : _ => (~((op (e0) (inv (e0))) = zenon_Vh))) _ _ zenon_H35a ax3). zenon_intro zenon_H35b. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (e0) (inv (e0))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H35b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_H35c]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [ zenon_intro zenon_H35d | zenon_intro zenon_H35e ]. % 1.97/2.13 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0)))) = ((op (e0) (e0)) = (op (e0) (inv (e0))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H35c. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35d. % 1.97/2.13 cut (((op (e0) (inv (e0))) = (op (e0) (inv (e0))))); [idtac | apply NNPP; zenon_intro zenon_H35e]. % 1.97/2.13 cut (((op (e0) (inv (e0))) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H35f]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H360]. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 exact (zenon_H360 zenon_H113). % 1.97/2.13 apply zenon_H35e. apply refl_equal. % 1.97/2.13 apply zenon_H35e. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H359); [ zenon_intro zenon_H362 | zenon_intro zenon_H361 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vj : _ => (~((op (inv (e0)) (e0)) = zenon_Vj))) _ _ zenon_H362 ax3). zenon_intro zenon_H363. % 1.97/2.13 cut (((op (e0) (e0)) = (e0)) = ((op (inv (e0)) (e0)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H363. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1b. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e0) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H364]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [ zenon_intro zenon_H365 | zenon_intro zenon_H366 ]. % 1.97/2.13 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0))) = ((op (e0) (e0)) = (op (inv (e0)) (e0)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H364. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H365. % 1.97/2.13 cut (((op (inv (e0)) (e0)) = (op (inv (e0)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H366]. % 1.97/2.13 cut (((op (inv (e0)) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H367]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((inv (e0)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H360]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H360 zenon_H113). % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply zenon_H366. apply refl_equal. % 1.97/2.13 apply zenon_H366. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H361); [ zenon_intro zenon_H369 | zenon_intro zenon_H368 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vl : _ => (~((op (e1) (inv (e1))) = zenon_Vl))) _ _ zenon_H369 ax3). zenon_intro zenon_H36a. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (e1) (inv (e1))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H36a. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36b]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [ zenon_intro zenon_H36c | zenon_intro zenon_H36d ]. % 1.97/2.13 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1)))) = ((op (e1) (e2)) = (op (e1) (inv (e1))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H36b. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H36c. % 1.97/2.13 cut (((op (e1) (inv (e1))) = (op (e1) (inv (e1))))); [idtac | apply NNPP; zenon_intro zenon_H36d]. % 1.97/2.13 cut (((op (e1) (inv (e1))) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H36e]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((inv (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H36f]. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 exact (zenon_H36f zenon_H115). % 1.97/2.13 apply zenon_H36d. apply refl_equal. % 1.97/2.13 apply zenon_H36d. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H368); [ zenon_intro zenon_H371 | zenon_intro zenon_H370 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vn : _ => (~((op (inv (e1)) (e1)) = zenon_Vn))) _ _ zenon_H371 ax3). zenon_intro zenon_H372. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (inv (e1)) (e1)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H372. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H373]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [ zenon_intro zenon_H374 | zenon_intro zenon_H375 ]. % 1.97/2.13 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1))) = ((op (e2) (e1)) = (op (inv (e1)) (e1)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H373. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H374. % 1.97/2.13 cut (((op (inv (e1)) (e1)) = (op (inv (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H375]. % 1.97/2.13 cut (((op (inv (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H376]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7]. % 1.97/2.13 cut (((inv (e1)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H36f]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H36f zenon_H115). % 1.97/2.13 apply zenon_H7. apply refl_equal. % 1.97/2.13 apply zenon_H375. apply refl_equal. % 1.97/2.13 apply zenon_H375. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H370); [ zenon_intro zenon_H378 | zenon_intro zenon_H377 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vp : _ => (~((op (e2) (inv (e2))) = zenon_Vp))) _ _ zenon_H378 ax3). zenon_intro zenon_H379. % 1.97/2.13 cut (((op (e2) (e1)) = (e0)) = ((op (e2) (inv (e2))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H379. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H35. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e2) (e1)) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_H37a]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [ zenon_intro zenon_H37b | zenon_intro zenon_H37c ]. % 1.97/2.13 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2)))) = ((op (e2) (e1)) = (op (e2) (inv (e2))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H37a. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H37b. % 1.97/2.13 cut (((op (e2) (inv (e2))) = (op (e2) (inv (e2))))); [idtac | apply NNPP; zenon_intro zenon_H37c]. % 1.97/2.13 cut (((op (e2) (inv (e2))) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H37d]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((inv (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H37e]. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 exact (zenon_H37e zenon_H117). % 1.97/2.13 apply zenon_H37c. apply refl_equal. % 1.97/2.13 apply zenon_H37c. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H377); [ zenon_intro zenon_H380 | zenon_intro zenon_H37f ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vr : _ => (~((op (inv (e2)) (e2)) = zenon_Vr))) _ _ zenon_H380 ax3). zenon_intro zenon_H381. % 1.97/2.13 cut (((op (e1) (e2)) = (e0)) = ((op (inv (e2)) (e2)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H381. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H1c. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e1) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H382]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [ zenon_intro zenon_H383 | zenon_intro zenon_H384 ]. % 1.97/2.13 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2))) = ((op (e1) (e2)) = (op (inv (e2)) (e2)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H382. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H383. % 1.97/2.13 cut (((op (inv (e2)) (e2)) = (op (inv (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H384]. % 1.97/2.13 cut (((op (inv (e2)) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H385]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1a]. % 1.97/2.13 cut (((inv (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H37e]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H37e zenon_H117). % 1.97/2.13 apply zenon_H1a. apply refl_equal. % 1.97/2.13 apply zenon_H384. apply refl_equal. % 1.97/2.13 apply zenon_H384. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H37f); [ zenon_intro zenon_H387 | zenon_intro zenon_H386 ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vt : _ => (~((op (e3) (inv (e3))) = zenon_Vt))) _ _ zenon_H387 ax3). zenon_intro zenon_H388. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (e3) (inv (e3))) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H388. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_H389]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [ zenon_intro zenon_H38a | zenon_intro zenon_H38b ]. % 1.97/2.13 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3)))) = ((op (e3) (e3)) = (op (e3) (inv (e3))))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H389. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H38a. % 1.97/2.13 cut (((op (e3) (inv (e3))) = (op (e3) (inv (e3))))); [idtac | apply NNPP; zenon_intro zenon_H38b]. % 1.97/2.13 cut (((op (e3) (inv (e3))) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H38c]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((inv (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H38d]. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 congruence. % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 exact (zenon_H38d zenon_H116). % 1.97/2.13 apply zenon_H38b. apply refl_equal. % 1.97/2.13 apply zenon_H38b. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H386); [ zenon_intro zenon_H38f | zenon_intro zenon_H38e ]. % 1.97/2.13 apply (zenon_congruence_lr_s _ (fun zenon_Vv : _ => (~((op (inv (e3)) (e3)) = zenon_Vv))) _ _ zenon_H38f ax3). zenon_intro zenon_H390. % 1.97/2.13 cut (((op (e3) (e3)) = (e0)) = ((op (inv (e3)) (e3)) = (e0))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H390. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H65. % 1.97/2.13 cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H6]. % 1.97/2.13 cut (((op (e3) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H391]. % 1.97/2.13 congruence. % 1.97/2.13 elim (classic ((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [ zenon_intro zenon_H392 | zenon_intro zenon_H393 ]. % 1.97/2.13 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3))) = ((op (e3) (e3)) = (op (inv (e3)) (e3)))). % 1.97/2.13 intro zenon_D_pnotp. % 1.97/2.13 apply zenon_H391. % 1.97/2.13 rewrite <- zenon_D_pnotp. % 1.97/2.13 exact zenon_H392. % 1.97/2.13 cut (((op (inv (e3)) (e3)) = (op (inv (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H393]. % 1.97/2.13 cut (((op (inv (e3)) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H394]. % 1.97/2.13 congruence. % 1.97/2.13 cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H5]. % 1.97/2.13 cut (((inv (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H38d]. % 1.97/2.13 congruence. % 1.97/2.13 exact (zenon_H38d zenon_H116). % 1.97/2.13 apply zenon_H5. apply refl_equal. % 1.97/2.13 apply zenon_H393. apply refl_equal. % 1.97/2.13 apply zenon_H393. apply refl_equal. % 1.97/2.13 apply zenon_H6. apply refl_equal. % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H38e); [ zenon_intro zenon_H396 | zenon_intro zenon_H395 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H396). zenon_intro zenon_H360. zenon_intro zenon_H397. % 1.97/2.13 exact (zenon_H360 zenon_H113). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H395); [ zenon_intro zenon_H399 | zenon_intro zenon_H398 ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H399). zenon_intro zenon_H39b. zenon_intro zenon_H39a. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H39a). zenon_intro zenon_H39d. zenon_intro zenon_H39c. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H39c). zenon_intro zenon_H36f. zenon_intro zenon_H39e. % 1.97/2.13 exact (zenon_H36f zenon_H115). % 1.97/2.13 apply (zenon_notand_s _ _ zenon_H398); [ zenon_intro zenon_H3a0 | zenon_intro zenon_H39f ]. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H3a0). zenon_intro zenon_H3a2. zenon_intro zenon_H3a1. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H3a1). zenon_intro zenon_H37e. zenon_intro zenon_H3a3. % 1.97/2.13 exact (zenon_H37e zenon_H117). % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H39f). zenon_intro zenon_H3a5. zenon_intro zenon_H3a4. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H3a4). zenon_intro zenon_H3a7. zenon_intro zenon_H3a6. % 1.97/2.13 apply (zenon_notor_s _ _ zenon_H3a6). zenon_intro zenon_H3a8. zenon_intro zenon_H38d. % 1.97/2.13 exact (zenon_H38d zenon_H116). % 1.97/2.13 Qed. % 1.97/2.13 % SZS output end Proof % 1.97/2.13 (* END-PROOF *) % 1.97/2.13 nodes searched: 66768 % 1.97/2.13 max branch formulas: 270 % 1.97/2.13 proof nodes created: 450 % 1.97/2.13 formulas created: 33689 % 1.97/2.13 %------------------------------------------------------------------------------