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