↑ Up

Zenon---0.7.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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  
%------------------------------------------------------------------------------