TSTP Solution File: ALG068+1 by Zenon---0.7.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : ALG068+1 : TPTP v8.1.0. Released v2.7.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n021.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Thu Jul 14 18:29:08 EDT 2022

% Result   : Theorem 40.87s 41.08s
% Output   : Proof 41.04s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.12  % Problem  : ALG068+1 : TPTP v8.1.0. Released v2.7.0.
% 0.10/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n021.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 21:09:52 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 40.87/41.08  (* PROOF-FOUND *)
% 40.87/41.08  % SZS status Theorem
% 40.87/41.08  (* BEGIN-PROOF *)
% 40.87/41.08  % SZS output start Proof
% 40.87/41.08  Theorem co1 : (~(((~((op (e0) (e0)) = (e0)))\/((op (e0) (e0)) = (e0)))/\(((~((op (e0) (e0)) = (e1)))\/((op (e0) (e1)) = (e0)))/\(((~((op (e0) (e0)) = (e2)))\/((op (e0) (e2)) = (e0)))/\(((~((op (e0) (e0)) = (e3)))\/((op (e0) (e3)) = (e0)))/\(((~((op (e0) (e0)) = (e4)))\/((op (e0) (e4)) = (e0)))/\(((~((op (e1) (e1)) = (e0)))\/((op (e1) (e0)) = (e1)))/\(((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1)))/\(((~((op (e1) (e1)) = (e2)))\/((op (e1) (e2)) = (e1)))/\(((~((op (e1) (e1)) = (e3)))\/((op (e1) (e3)) = (e1)))/\(((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1)))/\(((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2)))/\(((~((op (e2) (e2)) = (e1)))\/((op (e2) (e1)) = (e2)))/\(((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2)))/\(((~((op (e2) (e2)) = (e3)))\/((op (e2) (e3)) = (e2)))/\(((~((op (e2) (e2)) = (e4)))\/((op (e2) (e4)) = (e2)))/\(((~((op (e3) (e3)) = (e0)))\/((op (e3) (e0)) = (e3)))/\(((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3)))/\(((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3)))/\(((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3)))/\(((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3)))/\(((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4)))/\(((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4)))/\(((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4)))/\(((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4)))/\(((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4)))/\(((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))))))))))))))))))))))))))))).
% 40.87/41.08  Proof.
% 40.87/41.08  assert (zenon_L1_ : (~((e2) = (e2))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H7.
% 40.87/41.08  apply zenon_H7. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L1_ *)
% 40.87/41.08  assert (zenon_L2_ : (~((op (e0) (e2)) = (op (unit) (e2)))) -> ((unit) = (e0)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H8 zenon_H9.
% 40.87/41.08  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.08  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.08  apply zenon_H7. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L2_ *)
% 40.87/41.08  assert (zenon_L3_ : (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e0)) -> ((op (e0) (e3)) = (e2)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_Hb zenon_Hc zenon_H9 zenon_Hd.
% 40.87/41.08  cut (((op (unit) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e0) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_Hb.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_Hc.
% 40.87/41.08  cut (((e2) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_He].
% 40.87/41.08  cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e0) (e2)) = (op (e0) (e2)))); [ zenon_intro zenon_H10 | zenon_intro zenon_H11 ].
% 40.87/41.08  cut (((op (e0) (e2)) = (op (e0) (e2))) = ((op (unit) (e2)) = (op (e0) (e2)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_Hf.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H10.
% 40.87/41.08  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 40.87/41.08  cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L2_); trivial.
% 40.87/41.08  apply zenon_H11. apply refl_equal.
% 40.87/41.08  apply zenon_H11. apply refl_equal.
% 40.87/41.08  apply zenon_He. apply sym_equal. exact zenon_Hd.
% 40.87/41.08  (* end of lemma zenon_L3_ *)
% 40.87/41.08  assert (zenon_L4_ : (~((e1) = (e1))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H12.
% 40.87/41.08  apply zenon_H12. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L4_ *)
% 40.87/41.08  assert (zenon_L5_ : (~((op (e1) (e1)) = (op (unit) (e1)))) -> ((unit) = (e1)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H13 zenon_H14.
% 40.87/41.08  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.08  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.87/41.08  apply zenon_H12. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L5_ *)
% 40.87/41.08  assert (zenon_L6_ : ((op (unit) (e1)) = (e1)) -> ((unit) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H16 zenon_H14 zenon_H17 zenon_H18.
% 40.87/41.08  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H19 | zenon_intro zenon_H1a ].
% 40.87/41.08  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (e1) (e0)) = (op (e1) (e1)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H18.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H19.
% 40.87/41.08  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 40.87/41.08  cut (((op (e1) (e1)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 40.87/41.08  congruence.
% 40.87/41.08  cut (((op (unit) (e1)) = (e1)) = ((op (e1) (e1)) = (op (e1) (e0)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H1b.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H16.
% 40.87/41.08  cut (((e1) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 40.87/41.08  cut (((op (unit) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H19 | zenon_intro zenon_H1a ].
% 40.87/41.08  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (unit) (e1)) = (op (e1) (e1)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H1d.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H19.
% 40.87/41.08  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 40.87/41.08  cut (((op (e1) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L5_); trivial.
% 40.87/41.08  apply zenon_H1a. apply refl_equal.
% 40.87/41.08  apply zenon_H1a. apply refl_equal.
% 40.87/41.08  apply zenon_H1c. apply sym_equal. exact zenon_H17.
% 40.87/41.08  apply zenon_H1a. apply refl_equal.
% 40.87/41.08  apply zenon_H1a. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L6_ *)
% 40.87/41.08  assert (zenon_L7_ : (~((e3) = (e3))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H1e.
% 40.87/41.08  apply zenon_H1e. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L7_ *)
% 40.87/41.08  assert (zenon_L8_ : (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e2)) -> ((e3) = (op (e2) (e4))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H1f zenon_H20 zenon_H21 zenon_H22.
% 40.87/41.08  cut (((op (unit) (e3)) = (e3)) = ((op (e2) (e3)) = (op (e2) (e4)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H1f.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H20.
% 40.87/41.08  cut (((e3) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 40.87/41.08  cut (((op (unit) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.08  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (unit) (e3)) = (op (e2) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H24.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H25.
% 40.87/41.08  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.08  cut (((op (e2) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 40.87/41.08  congruence.
% 40.87/41.08  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.87/41.08  cut (((e2) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H28. apply sym_equal. exact zenon_H21.
% 40.87/41.08  apply zenon_H1e. apply refl_equal.
% 40.87/41.08  apply zenon_H26. apply refl_equal.
% 40.87/41.08  apply zenon_H26. apply refl_equal.
% 40.87/41.08  exact (zenon_H23 zenon_H22).
% 40.87/41.08  (* end of lemma zenon_L8_ *)
% 40.87/41.08  assert (zenon_L9_ : (~((op (e1) (e3)) = (op (e1) (unit)))) -> ((unit) = (e3)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H29 zenon_H2a.
% 40.87/41.08  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.08  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H12. apply refl_equal.
% 40.87/41.08  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.08  (* end of lemma zenon_L9_ *)
% 40.87/41.08  assert (zenon_L10_ : ((op (e1) (unit)) = (e1)) -> ((unit) = (e3)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H2c zenon_H2a zenon_H17 zenon_H2d.
% 40.87/41.08  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (e0)) = (op (e1) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H2d.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H2e.
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 40.87/41.08  congruence.
% 40.87/41.08  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e3)) = (op (e1) (e0)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H30.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H2c.
% 40.87/41.08  cut (((e1) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 40.87/41.08  cut (((op (e1) (unit)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (unit)) = (op (e1) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H31.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H2e.
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.87/41.08  cut (((op (e1) (e3)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L9_); trivial.
% 40.87/41.08  apply zenon_H2f. apply refl_equal.
% 40.87/41.08  apply zenon_H2f. apply refl_equal.
% 40.87/41.08  apply zenon_H1c. apply sym_equal. exact zenon_H17.
% 40.87/41.08  apply zenon_H2f. apply refl_equal.
% 40.87/41.08  apply zenon_H2f. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L10_ *)
% 40.87/41.08  assert (zenon_L11_ : (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e4)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H32 zenon_H16 zenon_H33 zenon_H34.
% 40.87/41.08  cut (((op (unit) (e1)) = (e1)) = ((op (e4) (e1)) = (op (e4) (e2)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H32.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H16.
% 40.87/41.08  cut (((e1) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 40.87/41.08  cut (((op (unit) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.08  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (unit) (e1)) = (op (e4) (e1)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H36.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H37.
% 40.87/41.08  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.08  cut (((op (e4) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 40.87/41.08  congruence.
% 40.87/41.08  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.08  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H3a. apply sym_equal. exact zenon_H33.
% 40.87/41.08  apply zenon_H12. apply refl_equal.
% 40.87/41.08  apply zenon_H38. apply refl_equal.
% 40.87/41.08  apply zenon_H38. apply refl_equal.
% 40.87/41.08  exact (zenon_H35 zenon_H34).
% 40.87/41.08  (* end of lemma zenon_L11_ *)
% 40.87/41.08  assert (zenon_L12_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H3b zenon_Hd zenon_Hc zenon_Hb zenon_H18 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.08  apply (zenon_L3_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.08  apply (zenon_L6_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.08  apply (zenon_L8_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.08  apply (zenon_L10_); trivial.
% 40.87/41.08  apply (zenon_L11_); trivial.
% 40.87/41.08  (* end of lemma zenon_L12_ *)
% 40.87/41.08  assert (zenon_L13_ : (~((e0) = (e0))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H3f.
% 40.87/41.08  apply zenon_H3f. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L13_ *)
% 40.87/41.08  assert (zenon_L14_ : (~((op (e0) (e0)) = (op (unit) (e0)))) -> ((unit) = (e0)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H40 zenon_H9.
% 40.87/41.08  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.87/41.08  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.08  apply zenon_H3f. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L14_ *)
% 40.87/41.08  assert (zenon_L15_ : (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e0)) -> ((op (e0) (e1)) = (e0)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H41 zenon_H42 zenon_H9 zenon_H43.
% 40.87/41.08  cut (((op (unit) (e0)) = (e0)) = ((op (e0) (e0)) = (op (e0) (e1)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H41.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H42.
% 40.87/41.08  cut (((e0) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 40.87/41.08  cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e0) (e0)) = (op (e0) (e0)))); [ zenon_intro zenon_H46 | zenon_intro zenon_H47 ].
% 40.87/41.08  cut (((op (e0) (e0)) = (op (e0) (e0))) = ((op (unit) (e0)) = (op (e0) (e0)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H45.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H46.
% 40.87/41.08  cut (((op (e0) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 40.87/41.08  cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L14_); trivial.
% 40.87/41.08  apply zenon_H47. apply refl_equal.
% 40.87/41.08  apply zenon_H47. apply refl_equal.
% 40.87/41.08  apply zenon_H44. apply sym_equal. exact zenon_H43.
% 40.87/41.08  (* end of lemma zenon_L15_ *)
% 40.87/41.08  assert (zenon_L16_ : (~((op (e1) (e2)) = (op (unit) (e2)))) -> ((unit) = (e1)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H48 zenon_H14.
% 40.87/41.08  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.08  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.87/41.08  apply zenon_H7. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L16_ *)
% 40.87/41.08  assert (zenon_L17_ : (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e1)) -> ((op (e1) (e3)) = (e2)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H49 zenon_Hc zenon_H14 zenon_H4a.
% 40.87/41.08  cut (((op (unit) (e2)) = (e2)) = ((op (e1) (e2)) = (op (e1) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H49.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_Hc.
% 40.87/41.08  cut (((e2) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 40.87/41.08  cut (((op (unit) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e1) (e2)) = (op (e1) (e2)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ].
% 40.87/41.08  cut (((op (e1) (e2)) = (op (e1) (e2))) = ((op (unit) (e2)) = (op (e1) (e2)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H4c.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H4d.
% 40.87/41.08  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 40.87/41.08  cut (((op (e1) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L16_); trivial.
% 40.87/41.08  apply zenon_H4e. apply refl_equal.
% 40.87/41.08  apply zenon_H4e. apply refl_equal.
% 40.87/41.08  apply zenon_H4b. apply sym_equal. exact zenon_H4a.
% 40.87/41.08  (* end of lemma zenon_L17_ *)
% 40.87/41.08  assert (zenon_L18_ : (~((op (e0) (e3)) = (op (e0) (unit)))) -> ((unit) = (e3)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H4f zenon_H2a.
% 40.87/41.08  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.08  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H3f. apply refl_equal.
% 40.87/41.08  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.08  (* end of lemma zenon_L18_ *)
% 40.87/41.08  assert (zenon_L19_ : ((op (e0) (unit)) = (e0)) -> ((unit) = (e3)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H50 zenon_H2a zenon_H43 zenon_H51.
% 40.87/41.08  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (e1)) = (op (e0) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H51.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H52.
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H54].
% 40.87/41.08  congruence.
% 40.87/41.08  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e3)) = (op (e0) (e1)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H54.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H50.
% 40.87/41.08  cut (((e0) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 40.87/41.08  cut (((op (e0) (unit)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (unit)) = (op (e0) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H55.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H52.
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.87/41.08  cut (((op (e0) (e3)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L18_); trivial.
% 40.87/41.08  apply zenon_H53. apply refl_equal.
% 40.87/41.08  apply zenon_H53. apply refl_equal.
% 40.87/41.08  apply zenon_H44. apply sym_equal. exact zenon_H43.
% 40.87/41.08  apply zenon_H53. apply refl_equal.
% 40.87/41.08  apply zenon_H53. apply refl_equal.
% 40.87/41.08  (* end of lemma zenon_L19_ *)
% 40.87/41.08  assert (zenon_L20_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H3b zenon_H42 zenon_H41 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H51 zenon_H43 zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.08  apply (zenon_L15_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.08  apply (zenon_L17_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.08  apply (zenon_L8_); trivial.
% 40.87/41.08  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.08  apply (zenon_L19_); trivial.
% 40.87/41.08  apply (zenon_L11_); trivial.
% 40.87/41.08  (* end of lemma zenon_L20_ *)
% 40.87/41.08  assert (zenon_L21_ : (~((op (e2) (e0)) = (op (e2) (unit)))) -> ((unit) = (e0)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H56 zenon_H9.
% 40.87/41.08  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.08  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.08  congruence.
% 40.87/41.08  apply zenon_H7. apply refl_equal.
% 40.87/41.08  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.08  (* end of lemma zenon_L21_ *)
% 40.87/41.08  assert (zenon_L22_ : (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e0)) -> ((op (e2) (e3)) = (e2)) -> False).
% 40.87/41.08  do 0 intro. intros zenon_H57 zenon_H58 zenon_H9 zenon_H59.
% 40.87/41.08  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e0)) = (op (e2) (e3)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H57.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H58.
% 40.87/41.08  cut (((e2) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 40.87/41.08  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 40.87/41.08  congruence.
% 40.87/41.08  elim (classic ((op (e2) (e0)) = (op (e2) (e0)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H5d ].
% 40.87/41.08  cut (((op (e2) (e0)) = (op (e2) (e0))) = ((op (e2) (unit)) = (op (e2) (e0)))).
% 40.87/41.08  intro zenon_D_pnotp.
% 40.87/41.08  apply zenon_H5b.
% 40.87/41.08  rewrite <- zenon_D_pnotp.
% 40.87/41.08  exact zenon_H5c.
% 40.87/41.08  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 40.87/41.08  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 40.87/41.08  congruence.
% 40.87/41.08  apply (zenon_L21_); trivial.
% 40.87/41.08  apply zenon_H5d. apply refl_equal.
% 40.87/41.08  apply zenon_H5d. apply refl_equal.
% 40.87/41.08  apply zenon_H5a. apply sym_equal. exact zenon_H59.
% 40.87/41.08  (* end of lemma zenon_L22_ *)
% 40.87/41.08  assert (zenon_L23_ : (~((op (e3) (e1)) = (op (e3) (unit)))) -> ((unit) = (e1)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H5e zenon_H14.
% 40.87/41.09  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.87/41.09  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H1e. apply refl_equal.
% 40.87/41.09  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.87/41.09  (* end of lemma zenon_L23_ *)
% 40.87/41.09  assert (zenon_L24_ : ((op (e3) (unit)) = (e3)) -> ((unit) = (e1)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H5f zenon_H14 zenon_H60 zenon_H61.
% 40.87/41.09  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (e0)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H61.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H62.
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e1)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H64.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (unit)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H66.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H62.
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L23_); trivial.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H65. apply sym_equal. exact zenon_H60.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L24_ *)
% 40.87/41.09  assert (zenon_L25_ : (~((op (e3) (e3)) = (op (unit) (e3)))) -> ((unit) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H67 zenon_H2a.
% 40.87/41.09  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.87/41.09  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.09  apply zenon_H1e. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L25_ *)
% 40.87/41.09  assert (zenon_L26_ : ((op (unit) (e3)) = (e3)) -> ((unit) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H20 zenon_H2a zenon_H60 zenon_H68.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (e3) (e0)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H68.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (unit) (e3)) = (e3)) = ((op (e3) (e3)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6b.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H20.
% 40.87/41.09  cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 40.87/41.09  cut (((op (unit) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (unit) (e3)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L25_); trivial.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H65. apply sym_equal. exact zenon_H60.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L26_ *)
% 40.87/41.09  assert (zenon_L27_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H59 zenon_H58 zenon_H57 zenon_H61 zenon_H5f zenon_H22 zenon_H1f zenon_H68 zenon_H60 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L22_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L24_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L26_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L27_ *)
% 40.87/41.09  assert (zenon_L28_ : (~((op (e2) (e1)) = (op (e2) (unit)))) -> ((unit) = (e1)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H6d zenon_H14.
% 40.87/41.09  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.87/41.09  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H7. apply refl_equal.
% 40.87/41.09  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.87/41.09  (* end of lemma zenon_L28_ *)
% 40.87/41.09  assert (zenon_L29_ : (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e1)) -> ((op (e2) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H6e zenon_H58 zenon_H14 zenon_H59.
% 40.87/41.09  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e1)) = (op (e2) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H58.
% 40.87/41.09  cut (((e2) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 40.87/41.09  cut (((op (e2) (unit)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e2) (unit)) = (op (e2) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H70.
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L28_); trivial.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_H5a. apply sym_equal. exact zenon_H59.
% 40.87/41.09  (* end of lemma zenon_L29_ *)
% 40.87/41.09  assert (zenon_L30_ : ((op (unit) (e3)) = (e3)) -> ((unit) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H20 zenon_H2a zenon_H72 zenon_H73.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (e3) (e1)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H73.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H74].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (unit) (e3)) = (e3)) = ((op (e3) (e3)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H74.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H20.
% 40.87/41.09  cut (((e3) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 40.87/41.09  cut (((op (unit) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (unit) (e3)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L25_); trivial.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H75. apply sym_equal. exact zenon_H72.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L30_ *)
% 40.87/41.09  assert (zenon_L31_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H57 zenon_H59 zenon_H58 zenon_H6e zenon_H22 zenon_H1f zenon_H73 zenon_H72 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L22_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L29_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L30_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L31_ *)
% 40.87/41.09  assert (zenon_L32_ : ((op (unit) (e3)) = (e3)) -> ((unit) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H20 zenon_H2a zenon_H76 zenon_H77.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (e3) (e2)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H77.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (unit) (e3)) = (e3)) = ((op (e3) (e3)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H78.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H20.
% 40.87/41.09  cut (((e3) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 40.87/41.09  cut (((op (unit) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (unit) (e3)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L25_); trivial.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H79. apply sym_equal. exact zenon_H76.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L32_ *)
% 40.87/41.09  assert (zenon_L33_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H57 zenon_H59 zenon_H58 zenon_H6e zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L22_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L29_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L32_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L33_ *)
% 40.87/41.09  assert (zenon_L34_ : (~((op (e3) (e0)) = (op (e3) (unit)))) -> ((unit) = (e0)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H7a zenon_H9.
% 40.87/41.09  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.09  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H1e. apply refl_equal.
% 40.87/41.09  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.09  (* end of lemma zenon_L34_ *)
% 40.87/41.09  assert (zenon_L35_ : (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e4)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H7b zenon_H5f zenon_H9 zenon_H7c.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e3) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H7b.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H7e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H7f.
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L34_); trivial.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H7d. apply sym_equal. exact zenon_H7c.
% 40.87/41.09  (* end of lemma zenon_L35_ *)
% 40.87/41.09  assert (zenon_L36_ : (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e1)) -> ((op (e3) (e4)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H81 zenon_H5f zenon_H14 zenon_H7c.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e1)) = (op (e3) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H81.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (unit)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H66.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H62.
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L23_); trivial.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H7d. apply sym_equal. exact zenon_H7c.
% 40.87/41.09  (* end of lemma zenon_L36_ *)
% 40.87/41.09  assert (zenon_L37_ : (~((op (e3) (e2)) = (op (e3) (unit)))) -> ((unit) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H82 zenon_H21.
% 40.87/41.09  cut (((e2) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 40.87/41.09  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H1e. apply refl_equal.
% 40.87/41.09  apply zenon_H28. apply sym_equal. exact zenon_H21.
% 40.87/41.09  (* end of lemma zenon_L37_ *)
% 40.87/41.09  assert (zenon_L38_ : (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e2)) -> ((op (e3) (e4)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H83 zenon_H5f zenon_H21 zenon_H7c.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e2)) = (op (e3) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H83.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (unit)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H84.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L37_); trivial.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H7d. apply sym_equal. exact zenon_H7c.
% 40.87/41.09  (* end of lemma zenon_L38_ *)
% 40.87/41.09  assert (zenon_L39_ : (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e3)) -> ((op (e3) (e4)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H87 zenon_H20 zenon_H2a zenon_H7c.
% 40.87/41.09  cut (((op (unit) (e3)) = (e3)) = ((op (e3) (e3)) = (op (e3) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H87.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H20.
% 40.87/41.09  cut (((e3) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 40.87/41.09  cut (((op (unit) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e3)) = (op (e3) (e3)))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3))) = ((op (unit) (e3)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H69.
% 40.87/41.09  cut (((op (e3) (e3)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 40.87/41.09  cut (((op (e3) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L25_); trivial.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H6a. apply refl_equal.
% 40.87/41.09  apply zenon_H7d. apply sym_equal. exact zenon_H7c.
% 40.87/41.09  (* end of lemma zenon_L39_ *)
% 40.87/41.09  assert (zenon_L40_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H7c zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L35_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L36_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L38_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L39_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L40_ *)
% 40.87/41.09  assert (zenon_L41_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H88 zenon_H68 zenon_H61 zenon_H73 zenon_H77 zenon_H1f zenon_H22 zenon_H6e zenon_H58 zenon_H59 zenon_H57 zenon_H89 zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.87/41.09  apply (zenon_L27_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.87/41.09  apply (zenon_L31_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.87/41.09  apply (zenon_L33_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.87/41.09  exact (zenon_H89 zenon_H8d).
% 40.87/41.09  apply (zenon_L40_); trivial.
% 40.87/41.09  (* end of lemma zenon_L41_ *)
% 40.87/41.09  assert (zenon_L42_ : ((op (e3) (unit)) = (e3)) -> ((unit) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H5f zenon_H21 zenon_H60 zenon_H8e.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (e0)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H8e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e2)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H8f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (unit)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H84.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L37_); trivial.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H65. apply sym_equal. exact zenon_H60.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L42_ *)
% 40.87/41.09  assert (zenon_L43_ : (~((op (e4) (e2)) = (op (unit) (e2)))) -> ((unit) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H90 zenon_H33.
% 40.87/41.09  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.09  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H3a. apply sym_equal. exact zenon_H33.
% 40.87/41.09  apply zenon_H7. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L43_ *)
% 40.87/41.09  assert (zenon_L44_ : (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e4)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H91 zenon_Hc zenon_H33 zenon_H92.
% 40.87/41.09  cut (((op (unit) (e2)) = (e2)) = ((op (e4) (e2)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H91.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hc.
% 40.87/41.09  cut (((e2) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 40.87/41.09  cut (((op (unit) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (unit) (e2)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H94.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L43_); trivial.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H93. apply sym_equal. exact zenon_H92.
% 40.87/41.09  (* end of lemma zenon_L44_ *)
% 40.87/41.09  assert (zenon_L45_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H43 zenon_H42 zenon_H41 zenon_H18 zenon_H16 zenon_H8e zenon_H60 zenon_H5f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L15_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L6_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L42_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L10_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L45_ *)
% 40.87/41.09  assert (zenon_L46_ : (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e1)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H61 zenon_H5f zenon_H9 zenon_H72.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H61.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H7e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H7f.
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L34_); trivial.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H75. apply sym_equal. exact zenon_H72.
% 40.87/41.09  (* end of lemma zenon_L46_ *)
% 40.87/41.09  assert (zenon_L47_ : (~((e4) = (e4))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H97.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L47_ *)
% 40.87/41.09  assert (zenon_L48_ : (~((op (e4) (e1)) = (op (e4) (unit)))) -> ((unit) = (e1)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H98 zenon_H14.
% 40.87/41.09  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.87/41.09  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.87/41.09  (* end of lemma zenon_L48_ *)
% 40.87/41.09  assert (zenon_L49_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e1)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H14 zenon_H9a zenon_H9b.
% 40.87/41.09  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e4) (e0)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9b.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H37.
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e1)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e4) (unit)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H37.
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L48_); trivial.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H9d. apply sym_equal. exact zenon_H9a.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L49_ *)
% 40.87/41.09  assert (zenon_L50_ : ((op (e3) (unit)) = (e3)) -> ((unit) = (e2)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H5f zenon_H21 zenon_H72 zenon_H9f.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (e1)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e2)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha0.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (unit)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H84.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L37_); trivial.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H75. apply sym_equal. exact zenon_H72.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L50_ *)
% 40.87/41.09  assert (zenon_L51_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H61 zenon_H9b zenon_H9a zenon_H99 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L46_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L49_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L50_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L30_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L51_ *)
% 40.87/41.09  assert (zenon_L52_ : (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e0)) -> ((op (e0) (e4)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Ha1 zenon_Hc zenon_H9 zenon_Ha2.
% 40.87/41.09  cut (((op (unit) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e0) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha1.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hc.
% 40.87/41.09  cut (((e2) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 40.87/41.09  cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e0) (e2)) = (op (e0) (e2)))); [ zenon_intro zenon_H10 | zenon_intro zenon_H11 ].
% 40.87/41.09  cut (((op (e0) (e2)) = (op (e0) (e2))) = ((op (unit) (e2)) = (op (e0) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H10.
% 40.87/41.09  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 40.87/41.09  cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L2_); trivial.
% 40.87/41.09  apply zenon_H11. apply refl_equal.
% 40.87/41.09  apply zenon_H11. apply refl_equal.
% 40.87/41.09  apply zenon_Ha3. apply sym_equal. exact zenon_Ha2.
% 40.87/41.09  (* end of lemma zenon_L52_ *)
% 40.87/41.09  assert (zenon_L53_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_Ha2 zenon_Ha1 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L52_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L6_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L10_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L53_ *)
% 40.87/41.09  assert (zenon_L54_ : (~((op (e4) (e0)) = (op (e4) (unit)))) -> ((unit) = (e0)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Ha4 zenon_H9.
% 40.87/41.09  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.09  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.09  (* end of lemma zenon_L54_ *)
% 40.87/41.09  assert (zenon_L55_ : (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> ((op (e4) (e1)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H9b zenon_H99 zenon_H9 zenon_Ha5.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e0)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9b.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e4) (unit)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha7.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Ha8.
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L54_); trivial.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Ha6. apply sym_equal. exact zenon_Ha5.
% 40.87/41.09  (* end of lemma zenon_L55_ *)
% 40.87/41.09  assert (zenon_L56_ : (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e1)) -> ((op (e1) (e4)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Haa zenon_Hc zenon_H14 zenon_Hab.
% 40.87/41.09  cut (((op (unit) (e2)) = (e2)) = ((op (e1) (e2)) = (op (e1) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Haa.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hc.
% 40.87/41.09  cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 40.87/41.09  cut (((op (unit) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e1) (e2)) = (op (e1) (e2)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ].
% 40.87/41.09  cut (((op (e1) (e2)) = (op (e1) (e2))) = ((op (unit) (e2)) = (op (e1) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H4c.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H4d.
% 40.87/41.09  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 40.87/41.09  cut (((op (e1) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L16_); trivial.
% 40.87/41.09  apply zenon_H4e. apply refl_equal.
% 40.87/41.09  apply zenon_H4e. apply refl_equal.
% 40.87/41.09  apply zenon_Hac. apply sym_equal. exact zenon_Hab.
% 40.87/41.09  (* end of lemma zenon_L56_ *)
% 40.87/41.09  assert (zenon_L57_ : (~((op (e4) (e2)) = (op (e4) (unit)))) -> ((unit) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Had zenon_H21.
% 40.87/41.09  cut (((e2) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 40.87/41.09  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  apply zenon_H28. apply sym_equal. exact zenon_H21.
% 40.87/41.09  (* end of lemma zenon_L57_ *)
% 40.87/41.09  assert (zenon_L58_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e2)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H21 zenon_Ha5 zenon_H32.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (e1)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H32.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e2)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hae.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (unit)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Haf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L57_); trivial.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_Ha6. apply sym_equal. exact zenon_Ha5.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L58_ *)
% 40.87/41.09  assert (zenon_L59_ : (~((op (e4) (e3)) = (op (e4) (unit)))) -> ((unit) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hb0 zenon_H2a.
% 40.87/41.09  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.09  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.09  (* end of lemma zenon_L59_ *)
% 40.87/41.09  assert (zenon_L60_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e3)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H2a zenon_Ha5 zenon_Hb1.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (e1)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb1.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e3)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb4.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (unit)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb5.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L59_); trivial.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Ha6. apply sym_equal. exact zenon_Ha5.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L60_ *)
% 40.87/41.09  assert (zenon_L61_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H9b zenon_Hab zenon_Haa zenon_H32 zenon_Hb1 zenon_Ha5 zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L55_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L56_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L58_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L60_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L61_ *)
% 40.87/41.09  assert (zenon_L62_ : (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e0)) -> ((op (e2) (e4)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hb6 zenon_H58 zenon_H9 zenon_Hb7.
% 40.87/41.09  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e0)) = (op (e2) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb6.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H58.
% 40.87/41.09  cut (((e2) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 40.87/41.09  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e2) (e0)) = (op (e2) (e0)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H5d ].
% 40.87/41.09  cut (((op (e2) (e0)) = (op (e2) (e0))) = ((op (e2) (unit)) = (op (e2) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H5b.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5c.
% 40.87/41.09  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 40.87/41.09  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L21_); trivial.
% 40.87/41.09  apply zenon_H5d. apply refl_equal.
% 40.87/41.09  apply zenon_H5d. apply refl_equal.
% 40.87/41.09  apply zenon_Hb8. apply sym_equal. exact zenon_Hb7.
% 40.87/41.09  (* end of lemma zenon_L62_ *)
% 40.87/41.09  assert (zenon_L63_ : (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e1)) -> ((op (e2) (e4)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hb9 zenon_H58 zenon_H14 zenon_Hb7.
% 40.87/41.09  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e1)) = (op (e2) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb9.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H58.
% 40.87/41.09  cut (((e2) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 40.87/41.09  cut (((op (e2) (unit)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e2) (unit)) = (op (e2) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H70.
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L28_); trivial.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_Hb8. apply sym_equal. exact zenon_Hb7.
% 40.87/41.09  (* end of lemma zenon_L63_ *)
% 40.87/41.09  assert (zenon_L64_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_Hb6 zenon_Hb7 zenon_H58 zenon_Hb9 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L62_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L63_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L50_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L30_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L64_ *)
% 40.87/41.09  assert (zenon_L65_ : ((op (e2) (unit)) = (e2)) -> ((unit) = (e1)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H58 zenon_H14 zenon_Hba zenon_Hbb.
% 40.87/41.09  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e2) (e0)) = (op (e2) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hbb.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H70.
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e1)) = (op (e2) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hbc.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H58.
% 40.87/41.09  cut (((e2) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 40.87/41.09  cut (((op (e2) (unit)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e2) (unit)) = (op (e2) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H6f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H70.
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.87/41.09  cut (((op (e2) (e1)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L28_); trivial.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_Hbd. apply sym_equal. exact zenon_Hba.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  apply zenon_H71. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L65_ *)
% 40.87/41.09  assert (zenon_L66_ : (~((op (e3) (e2)) = (op (unit) (e2)))) -> ((unit) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hbe zenon_H2a.
% 40.87/41.09  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.09  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.09  apply zenon_H7. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L66_ *)
% 40.87/41.09  assert (zenon_L67_ : (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e3)) -> ((op (e3) (e4)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H83 zenon_Hc zenon_H2a zenon_Hbf.
% 40.87/41.09  cut (((op (unit) (e2)) = (e2)) = ((op (e3) (e2)) = (op (e3) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H83.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hc.
% 40.87/41.09  cut (((e2) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 40.87/41.09  cut (((op (unit) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (unit) (e2)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hc1.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H85.
% 40.87/41.09  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.09  cut (((op (e3) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L66_); trivial.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_H86. apply refl_equal.
% 40.87/41.09  apply zenon_Hc0. apply sym_equal. exact zenon_Hbf.
% 40.87/41.09  (* end of lemma zenon_L67_ *)
% 40.87/41.09  assert (zenon_L68_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H9b zenon_Hbb zenon_Hba zenon_H58 zenon_H32 zenon_Ha5 zenon_H99 zenon_Hbf zenon_H83 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L55_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L65_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L58_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L67_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L68_ *)
% 40.87/41.09  assert (zenon_L69_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H22 zenon_H18 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_H34 zenon_H16 zenon_H20 zenon_H72 zenon_H73 zenon_H5f zenon_H9f zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H83 zenon_H99 zenon_Ha5 zenon_H32 zenon_H58 zenon_Hba zenon_Hbb zenon_H9b zenon_H3b zenon_Hc3.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.87/41.09  apply (zenon_L53_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.87/41.09  apply (zenon_L61_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.87/41.09  apply (zenon_L64_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.87/41.09  apply (zenon_L68_); trivial.
% 40.87/41.09  exact (zenon_Hc3 zenon_Hc7).
% 40.87/41.09  (* end of lemma zenon_L69_ *)
% 40.87/41.09  assert (zenon_L70_ : (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> ((op (e4) (e2)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hc8 zenon_H99 zenon_H9 zenon_Hc9.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e0)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hc8.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e4) (unit)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha7.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Ha8.
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L54_); trivial.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Hca. apply sym_equal. exact zenon_Hc9.
% 40.87/41.09  (* end of lemma zenon_L70_ *)
% 40.87/41.09  assert (zenon_L71_ : (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e1)) -> ((op (e4) (e2)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H32 zenon_H99 zenon_H14 zenon_Hc9.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e1)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H32.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e4) (unit)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H37.
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L48_); trivial.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_Hca. apply sym_equal. exact zenon_Hc9.
% 40.87/41.09  (* end of lemma zenon_L71_ *)
% 40.87/41.09  assert (zenon_L72_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e3)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H2a zenon_Hc9 zenon_H91.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (e2)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H91.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e3)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hcb.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (unit)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb5.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L59_); trivial.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hca. apply sym_equal. exact zenon_Hc9.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L72_ *)
% 40.87/41.09  assert (zenon_L73_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc9 zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L70_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L71_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L72_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L73_ *)
% 40.87/41.09  assert (zenon_L74_ : (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> ((op (e4) (e3)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hcc zenon_H99 zenon_H9 zenon_Hcd.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e0)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hcc.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e4) (unit)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha7.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Ha8.
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L54_); trivial.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Hce. apply sym_equal. exact zenon_Hcd.
% 40.87/41.09  (* end of lemma zenon_L74_ *)
% 40.87/41.09  assert (zenon_L75_ : (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e1)) -> ((op (e4) (e3)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hb1 zenon_H99 zenon_H14 zenon_Hcd.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e1)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb1.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e4) (unit)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H37.
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L48_); trivial.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_Hce. apply sym_equal. exact zenon_Hcd.
% 40.87/41.09  (* end of lemma zenon_L75_ *)
% 40.87/41.09  assert (zenon_L76_ : (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e2)) -> ((op (e4) (e3)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H91 zenon_H99 zenon_H21 zenon_Hcd.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e2)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H91.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (unit)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Haf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L57_); trivial.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_Hce. apply sym_equal. exact zenon_Hcd.
% 40.87/41.09  (* end of lemma zenon_L76_ *)
% 40.87/41.09  assert (zenon_L77_ : (~((op (e2) (e3)) = (op (e2) (unit)))) -> ((unit) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hcf zenon_H2a.
% 40.87/41.09  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.09  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H7. apply refl_equal.
% 40.87/41.09  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.09  (* end of lemma zenon_L77_ *)
% 40.87/41.09  assert (zenon_L78_ : ((op (e2) (unit)) = (e2)) -> ((unit) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H58 zenon_H2a zenon_Hba zenon_H57.
% 40.87/41.09  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (e0)) = (op (e2) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H57.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H25.
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e3)) = (op (e2) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd0.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H58.
% 40.87/41.09  cut (((e2) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 40.87/41.09  cut (((op (e2) (unit)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (unit)) = (op (e2) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd1.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H25.
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.09  cut (((op (e2) (e3)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L77_); trivial.
% 40.87/41.09  apply zenon_H26. apply refl_equal.
% 40.87/41.09  apply zenon_H26. apply refl_equal.
% 40.87/41.09  apply zenon_Hbd. apply sym_equal. exact zenon_Hba.
% 40.87/41.09  apply zenon_H26. apply refl_equal.
% 40.87/41.09  apply zenon_H26. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L78_ *)
% 40.87/41.09  assert (zenon_L79_ : (~((op (e4) (e4)) = (op (unit) (e4)))) -> ((unit) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd2 zenon_H33.
% 40.87/41.09  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.87/41.09  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply zenon_H3a. apply sym_equal. exact zenon_H33.
% 40.87/41.09  apply zenon_H97. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L79_ *)
% 40.87/41.09  assert (zenon_L80_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd3 zenon_H33 zenon_Hcd zenon_Hd4.
% 40.87/41.09  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.09  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (e4) (e3)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd4.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hd5.
% 40.87/41.09  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.09  cut (((op (e4) (e4)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (unit) (e4)) = (e4)) = ((op (e4) (e4)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd7.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hd3.
% 40.87/41.09  cut (((e4) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 40.87/41.09  cut (((op (unit) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.09  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (unit) (e4)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd8.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hd5.
% 40.87/41.09  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.09  cut (((op (e4) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L79_); trivial.
% 40.87/41.09  apply zenon_Hd6. apply refl_equal.
% 40.87/41.09  apply zenon_Hd6. apply refl_equal.
% 40.87/41.09  apply zenon_Hce. apply sym_equal. exact zenon_Hcd.
% 40.87/41.09  apply zenon_Hd6. apply refl_equal.
% 40.87/41.09  apply zenon_Hd6. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L80_ *)
% 40.87/41.09  assert (zenon_L81_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H57 zenon_Hba zenon_H58 zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L74_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L75_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L76_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L78_); trivial.
% 40.87/41.09  apply (zenon_L80_); trivial.
% 40.87/41.09  (* end of lemma zenon_L81_ *)
% 40.87/41.09  assert (zenon_L82_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd9 zenon_H61 zenon_Hc3 zenon_H9b zenon_Hbb zenon_H83 zenon_Hb6 zenon_Hb9 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H16 zenon_H34 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_H92 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.09  apply (zenon_L51_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.09  apply (zenon_L69_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.09  apply (zenon_L73_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.09  apply (zenon_L81_); trivial.
% 40.87/41.09  exact (zenon_Hda zenon_Hde).
% 40.87/41.09  (* end of lemma zenon_L82_ *)
% 40.87/41.09  assert (zenon_L83_ : (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e2)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H8e zenon_H5f zenon_H9 zenon_H76.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H8e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H7e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H7f.
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L34_); trivial.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H79. apply sym_equal. exact zenon_H76.
% 40.87/41.09  (* end of lemma zenon_L83_ *)
% 40.87/41.09  assert (zenon_L84_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e2)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H21 zenon_H9a zenon_Hc8.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (e0)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hc8.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e2)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hdf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (unit)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Haf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L57_); trivial.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H9d. apply sym_equal. exact zenon_H9a.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L84_ *)
% 40.87/41.09  assert (zenon_L85_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H5f zenon_H8e zenon_H9b zenon_Hc8 zenon_H9a zenon_H99 zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L83_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L49_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L84_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L32_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L85_ *)
% 40.87/41.09  assert (zenon_L86_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd9 zenon_H34 zenon_H16 zenon_H76 zenon_H77 zenon_H8e zenon_H5f zenon_Haa zenon_Hab zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.09  apply (zenon_L85_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.09  apply (zenon_L61_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.09  apply (zenon_L73_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.09  apply (zenon_L81_); trivial.
% 40.87/41.09  exact (zenon_Hda zenon_Hde).
% 40.87/41.09  (* end of lemma zenon_L86_ *)
% 40.87/41.09  assert (zenon_L87_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_Hb6 zenon_Hb7 zenon_H58 zenon_Hb9 zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L62_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L63_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L8_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L32_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L87_ *)
% 40.87/41.09  assert (zenon_L88_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H76 zenon_H5f zenon_H8e zenon_H9b zenon_Hc8 zenon_H9a zenon_H99 zenon_Hbf zenon_H83 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L83_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L49_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L84_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L67_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L88_ *)
% 40.87/41.09  assert (zenon_L89_ : (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e1)) -> ((op (e3) (e2)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H9f zenon_H5f zenon_H14 zenon_H76.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e1)) = (op (e3) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9f.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (unit)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H66.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H62.
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L23_); trivial.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H79. apply sym_equal. exact zenon_H76.
% 40.87/41.09  (* end of lemma zenon_L89_ *)
% 40.87/41.09  assert (zenon_L90_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H9b zenon_H76 zenon_H5f zenon_H9f zenon_H32 zenon_Ha5 zenon_H99 zenon_Hbf zenon_H83 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L55_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L89_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L58_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L67_); trivial.
% 40.87/41.09  apply (zenon_L44_); trivial.
% 40.87/41.09  (* end of lemma zenon_L90_ *)
% 40.87/41.09  assert (zenon_L91_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd9 zenon_H8e zenon_H83 zenon_Hbf zenon_H9f zenon_H5f zenon_H76 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.09  apply (zenon_L88_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.09  apply (zenon_L90_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.09  apply (zenon_L73_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.09  apply (zenon_L81_); trivial.
% 40.87/41.09  exact (zenon_Hda zenon_Hde).
% 40.87/41.09  (* end of lemma zenon_L91_ *)
% 40.87/41.09  assert (zenon_L92_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_Haa zenon_H16 zenon_H34 zenon_H77 zenon_Hb9 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H57 zenon_Hba zenon_H58 zenon_Hd3 zenon_Hd4 zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H92 zenon_H9b zenon_H76 zenon_H5f zenon_H9f zenon_H83 zenon_H8e zenon_Hd9 zenon_Hc3.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.87/41.09  apply (zenon_L53_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.87/41.09  apply (zenon_L86_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.87/41.09  apply (zenon_L87_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.87/41.09  apply (zenon_L91_); trivial.
% 40.87/41.09  exact (zenon_Hc3 zenon_Hc7).
% 40.87/41.09  (* end of lemma zenon_L92_ *)
% 40.87/41.09  assert (zenon_L93_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H73 zenon_Hbb zenon_H61 zenon_Hc3 zenon_Hd9 zenon_H8e zenon_H9f zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_Hda zenon_Hb6 zenon_Hb9 zenon_H77 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_H89 zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.87/41.09  apply (zenon_L45_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.87/41.09  apply (zenon_L82_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.87/41.09  apply (zenon_L92_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.87/41.09  exact (zenon_H89 zenon_H8d).
% 40.87/41.09  apply (zenon_L40_); trivial.
% 40.87/41.09  (* end of lemma zenon_L93_ *)
% 40.87/41.09  assert (zenon_L94_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_He0 zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H6e zenon_H68 zenon_He1 zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H73 zenon_Hbb zenon_H61 zenon_Hc3 zenon_Hd9 zenon_H8e zenon_H9f zenon_H9b zenon_Hc zenon_H1f zenon_H22 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_Hda zenon_Hb6 zenon_Hb9 zenon_H77 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_H89 zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.09  apply (zenon_L12_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.09  apply (zenon_L20_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.09  apply (zenon_L41_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.09  exact (zenon_He1 zenon_He5).
% 40.87/41.09  apply (zenon_L93_); trivial.
% 40.87/41.09  (* end of lemma zenon_L94_ *)
% 40.87/41.09  assert (zenon_L95_ : (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> ((op (e4) (e4)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_He6 zenon_H99 zenon_H9 zenon_Hde.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e0)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_He6.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e4) (unit)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Ha7.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Ha8.
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.87/41.09  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L54_); trivial.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_Ha9. apply refl_equal.
% 40.87/41.09  apply zenon_He7. apply sym_equal. exact zenon_Hde.
% 40.87/41.09  (* end of lemma zenon_L95_ *)
% 40.87/41.09  assert (zenon_L96_ : (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e1)) -> ((op (e4) (e4)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_He8 zenon_H99 zenon_H14 zenon_Hde.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e1)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_He8.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e4) (unit)) = (op (e4) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H9e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H37.
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.87/41.09  cut (((op (e4) (e1)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L48_); trivial.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_H38. apply refl_equal.
% 40.87/41.09  apply zenon_He7. apply sym_equal. exact zenon_Hde.
% 40.87/41.09  (* end of lemma zenon_L96_ *)
% 40.87/41.09  assert (zenon_L97_ : (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e2)) -> ((op (e4) (e4)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_He9 zenon_H99 zenon_H21 zenon_Hde.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e2)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_He9.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e4) (unit)) = (op (e4) (e2)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Haf.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H95.
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.87/41.09  cut (((op (e4) (e2)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L57_); trivial.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_H96. apply refl_equal.
% 40.87/41.09  apply zenon_He7. apply sym_equal. exact zenon_Hde.
% 40.87/41.09  (* end of lemma zenon_L97_ *)
% 40.87/41.09  assert (zenon_L98_ : (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e3)) -> ((op (e4) (e4)) = (e4)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_Hd4 zenon_H99 zenon_H2a zenon_Hde.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e3)) = (op (e4) (e4)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hd4.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (unit)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb5.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L59_); trivial.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_He7. apply sym_equal. exact zenon_Hde.
% 40.87/41.09  (* end of lemma zenon_L98_ *)
% 40.87/41.09  assert (zenon_L99_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e4) (e4)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_He6 zenon_He8 zenon_He9 zenon_Hde zenon_H99 zenon_Hd4 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L95_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L96_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L97_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L98_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L99_ *)
% 40.87/41.09  assert (zenon_L100_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Hb zenon_H50 zenon_H43 zenon_H51 zenon_H49 zenon_H41 zenon_H42 zenon_H34 zenon_H16 zenon_H87 zenon_H83 zenon_H5f zenon_H81 zenon_H7b zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H77 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc9 zenon_H99 zenon_H91 zenon_Hc.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.09  apply (zenon_L12_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.09  apply (zenon_L20_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.09  apply (zenon_L41_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.09  exact (zenon_He1 zenon_He5).
% 40.87/41.09  apply (zenon_L73_); trivial.
% 40.87/41.09  (* end of lemma zenon_L100_ *)
% 40.87/41.09  assert (zenon_L101_ : (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e3)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H68 zenon_H5f zenon_H9 zenon_H8d.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H68.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H7e.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H7f.
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.87/41.09  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L34_); trivial.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_H80. apply refl_equal.
% 40.87/41.09  apply zenon_Hea. apply sym_equal. exact zenon_H8d.
% 40.87/41.09  (* end of lemma zenon_L101_ *)
% 40.87/41.09  assert (zenon_L102_ : ((op (e4) (unit)) = (e4)) -> ((unit) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H99 zenon_H2a zenon_H9a zenon_Hcc.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (e0)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hcc.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 40.87/41.09  congruence.
% 40.87/41.09  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e3)) = (op (e4) (e0)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Heb.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H99.
% 40.87/41.09  cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 40.87/41.09  cut (((op (e4) (unit)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (unit)) = (op (e4) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_Hb5.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_Hb2.
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.87/41.09  cut (((op (e4) (e3)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L59_); trivial.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_H9d. apply sym_equal. exact zenon_H9a.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  apply zenon_Hb3. apply refl_equal.
% 40.87/41.09  (* end of lemma zenon_L102_ *)
% 40.87/41.09  assert (zenon_L103_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H8d zenon_H5f zenon_H68 zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L101_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L49_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L84_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L102_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L103_ *)
% 40.87/41.09  assert (zenon_L104_ : (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e1)) -> ((op (e3) (e3)) = (e3)) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H73 zenon_H5f zenon_H14 zenon_H8d.
% 40.87/41.09  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e1)) = (op (e3) (e3)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H73.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H5f.
% 40.87/41.09  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 40.87/41.09  cut (((op (e3) (unit)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 40.87/41.09  congruence.
% 40.87/41.09  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (unit)) = (op (e3) (e1)))).
% 40.87/41.09  intro zenon_D_pnotp.
% 40.87/41.09  apply zenon_H66.
% 40.87/41.09  rewrite <- zenon_D_pnotp.
% 40.87/41.09  exact zenon_H62.
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.87/41.09  cut (((op (e3) (e1)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 40.87/41.09  congruence.
% 40.87/41.09  apply (zenon_L23_); trivial.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_H63. apply refl_equal.
% 40.87/41.09  apply zenon_Hea. apply sym_equal. exact zenon_H8d.
% 40.87/41.09  (* end of lemma zenon_L104_ *)
% 40.87/41.09  assert (zenon_L105_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.09  do 0 intro. intros zenon_H3b zenon_H68 zenon_H8d zenon_H5f zenon_H73 zenon_Hb1 zenon_Ha5 zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.09  apply (zenon_L101_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.09  apply (zenon_L104_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.09  apply (zenon_L58_); trivial.
% 40.87/41.09  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.09  apply (zenon_L60_); trivial.
% 40.87/41.09  apply (zenon_L11_); trivial.
% 40.87/41.09  (* end of lemma zenon_L105_ *)
% 40.87/41.09  assert (zenon_L106_ : (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e2)) -> ((op (e3) (e3)) = (e3)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H77 zenon_H5f zenon_H21 zenon_H8d.
% 40.87/41.10  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e2)) = (op (e3) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H77.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H5f.
% 40.87/41.10  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 40.87/41.10  cut (((op (e3) (unit)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.10  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (unit)) = (op (e3) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H84.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H85.
% 40.87/41.10  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.10  cut (((op (e3) (e2)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L37_); trivial.
% 40.87/41.10  apply zenon_H86. apply refl_equal.
% 40.87/41.10  apply zenon_H86. apply refl_equal.
% 40.87/41.10  apply zenon_Hea. apply sym_equal. exact zenon_H8d.
% 40.87/41.10  (* end of lemma zenon_L106_ *)
% 40.87/41.10  assert (zenon_L107_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hd3 zenon_H33 zenon_Hc9 zenon_He9.
% 40.87/41.10  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (e4) (e2)) = (op (e4) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_He9.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd5.
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (unit) (e4)) = (e4)) = ((op (e4) (e4)) = (op (e4) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hec.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd3.
% 40.87/41.10  cut (((e4) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 40.87/41.10  cut (((op (unit) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (unit) (e4)) = (op (e4) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hd8.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd5.
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L79_); trivial.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Hca. apply sym_equal. exact zenon_Hc9.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L107_ *)
% 40.87/41.10  assert (zenon_L108_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H32 zenon_H8d zenon_H5f zenon_H77 zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L70_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L71_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L106_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L72_); trivial.
% 40.87/41.10  apply (zenon_L107_); trivial.
% 40.87/41.10  (* end of lemma zenon_L108_ *)
% 40.87/41.10  assert (zenon_L109_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H68 zenon_H73 zenon_H8d zenon_H5f zenon_H77 zenon_H2d zenon_H17 zenon_H2c zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L101_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L104_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L106_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L10_); trivial.
% 40.87/41.10  apply (zenon_L80_); trivial.
% 40.87/41.10  (* end of lemma zenon_L109_ *)
% 40.87/41.10  assert (zenon_L110_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hed zenon_He6 zenon_He8 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_H8d zenon_H5f zenon_H68 zenon_Hb1 zenon_H73 zenon_Hd3 zenon_He9 zenon_H91 zenon_H77 zenon_Hd4 zenon_H17 zenon_H2c zenon_H2d zenon_Hd9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L103_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L105_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L108_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L109_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L110_ *)
% 40.87/41.10  assert (zenon_L111_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hed zenon_He6 zenon_He8 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_H8d zenon_H5f zenon_H68 zenon_Hb1 zenon_H73 zenon_Hd3 zenon_He9 zenon_H91 zenon_H77 zenon_Hd4 zenon_Hba zenon_H58 zenon_H57 zenon_Hd9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L103_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L105_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L108_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L81_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L111_ *)
% 40.87/41.10  assert (zenon_L112_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H59 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_L41_); trivial.
% 40.87/41.10  apply (zenon_L111_); trivial.
% 40.87/41.10  (* end of lemma zenon_L112_ *)
% 40.87/41.10  assert (zenon_L113_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H8e zenon_H5f zenon_H9f zenon_Ha5 zenon_H99 zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L83_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L89_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L58_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L32_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L113_ *)
% 40.87/41.10  assert (zenon_L114_ : (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e3)) -> ((op (e3) (e3)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H77 zenon_Hc zenon_H2a zenon_He5.
% 40.87/41.10  cut (((op (unit) (e2)) = (e2)) = ((op (e3) (e2)) = (op (e3) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H77.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hc.
% 40.87/41.10  cut (((e2) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 40.87/41.10  cut (((op (unit) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.87/41.10  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (unit) (e2)) = (op (e3) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hc1.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H85.
% 40.87/41.10  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.87/41.10  cut (((op (e3) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L66_); trivial.
% 40.87/41.10  apply zenon_H86. apply refl_equal.
% 40.87/41.10  apply zenon_H86. apply refl_equal.
% 40.87/41.10  apply zenon_Hef. apply sym_equal. exact zenon_He5.
% 40.87/41.10  (* end of lemma zenon_L114_ *)
% 40.87/41.10  assert (zenon_L115_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H8e zenon_H76 zenon_H5f zenon_H9f zenon_H22 zenon_H20 zenon_H1f zenon_He5 zenon_Hc zenon_H77 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L83_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L89_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L114_); trivial.
% 40.87/41.10  apply (zenon_L107_); trivial.
% 40.87/41.10  (* end of lemma zenon_L115_ *)
% 40.87/41.10  assert (zenon_L116_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e3) (e3)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hd9 zenon_Hc8 zenon_H9b zenon_H34 zenon_H16 zenon_H32 zenon_He9 zenon_H77 zenon_Hc zenon_He5 zenon_H1f zenon_H20 zenon_H22 zenon_H9f zenon_H5f zenon_H76 zenon_H8e zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L85_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L113_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L115_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L81_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  (* end of lemma zenon_L116_ *)
% 40.87/41.10  assert (zenon_L117_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H8e zenon_H5f zenon_H9f zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L83_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L89_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L32_); trivial.
% 40.87/41.10  apply (zenon_L107_); trivial.
% 40.87/41.10  (* end of lemma zenon_L117_ *)
% 40.87/41.10  assert (zenon_L118_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf0 zenon_Hf1 zenon_He0 zenon_H91 zenon_H8e zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hd3 zenon_Hc8 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hba zenon_Hbb zenon_Hc2 zenon_H9b zenon_H99 zenon_H9f zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H49 zenon_H51 zenon_H50 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_Hee.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L94_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  apply (zenon_L100_); trivial.
% 40.87/41.10  apply (zenon_L110_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L20_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L112_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  apply (zenon_L116_); trivial.
% 40.87/41.10  apply (zenon_L92_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  apply (zenon_L117_); trivial.
% 40.87/41.10  (* end of lemma zenon_L118_ *)
% 40.87/41.10  assert (zenon_L119_ : (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e0)) -> ((op (e2) (e1)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hbb zenon_H58 zenon_H9 zenon_Hf2.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e0)) = (op (e2) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hbb.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e0)) = (op (e2) (e0)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H5d ].
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (e0))) = ((op (e2) (unit)) = (op (e2) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H5b.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H5c.
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L21_); trivial.
% 40.87/41.10  apply zenon_H5d. apply refl_equal.
% 40.87/41.10  apply zenon_H5d. apply refl_equal.
% 40.87/41.10  apply zenon_Hf3. apply sym_equal. exact zenon_Hf2.
% 40.87/41.10  (* end of lemma zenon_L119_ *)
% 40.87/41.10  assert (zenon_L120_ : ((op (e2) (unit)) = (e2)) -> ((unit) = (e3)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H58 zenon_H2a zenon_Hf2 zenon_H6e.
% 40.87/41.10  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (e1)) = (op (e2) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H6e.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H25.
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e3)) = (op (e2) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hf4.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (unit)) = (op (e2) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hd1.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H25.
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L77_); trivial.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_Hf3. apply sym_equal. exact zenon_Hf2.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L120_ *)
% 40.87/41.10  assert (zenon_L121_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_Hbb zenon_H9b zenon_H9a zenon_H99 zenon_H22 zenon_H20 zenon_H1f zenon_H6e zenon_Hf2 zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L119_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L49_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L120_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L121_ *)
% 40.87/41.10  assert (zenon_L122_ : (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e3)) -> ((op (e2) (e4)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H1f zenon_H58 zenon_H2a zenon_Hb7.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e3)) = (op (e2) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H1f.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (unit)) = (op (e2) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hd1.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H25.
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L77_); trivial.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_Hb8. apply sym_equal. exact zenon_Hb7.
% 40.87/41.10  (* end of lemma zenon_L122_ *)
% 40.87/41.10  assert (zenon_L123_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_Hb6 zenon_Hb9 zenon_H22 zenon_H20 zenon_Hb7 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L62_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L63_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L122_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L123_ *)
% 40.87/41.10  assert (zenon_L124_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hd3 zenon_H33 zenon_Ha5 zenon_He8.
% 40.87/41.10  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (e4) (e1)) = (op (e4) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_He8.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd5.
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (unit) (e4)) = (e4)) = ((op (e4) (e4)) = (op (e4) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hf5.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd3.
% 40.87/41.10  cut (((e4) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 40.87/41.10  cut (((op (unit) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (unit) (e4)) = (op (e4) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hd8.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_Hd5.
% 40.87/41.10  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.87/41.10  cut (((op (e4) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L79_); trivial.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Ha6. apply sym_equal. exact zenon_Ha5.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  apply zenon_Hd6. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L124_ *)
% 40.87/41.10  assert (zenon_L125_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H32 zenon_H99 zenon_Hbf zenon_Hc zenon_H83 zenon_Hd3 zenon_Ha5 zenon_He8.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L55_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L6_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L58_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L67_); trivial.
% 40.87/41.10  apply (zenon_L124_); trivial.
% 40.87/41.10  (* end of lemma zenon_L125_ *)
% 40.87/41.10  assert (zenon_L126_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H2d zenon_Ha1 zenon_H92 zenon_H91 zenon_Hb1 zenon_Haa zenon_H34 zenon_H1f zenon_H58 zenon_H20 zenon_H22 zenon_Hb9 zenon_Hb6 zenon_He8 zenon_Ha5 zenon_Hd3 zenon_H83 zenon_Hc zenon_H99 zenon_H32 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H3b zenon_Hc3.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.87/41.10  apply (zenon_L53_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.87/41.10  apply (zenon_L61_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.87/41.10  apply (zenon_L123_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.87/41.10  apply (zenon_L125_); trivial.
% 40.87/41.10  exact (zenon_Hc3 zenon_Hc7).
% 40.87/41.10  (* end of lemma zenon_L126_ *)
% 40.87/41.10  assert (zenon_L127_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H6e zenon_Hf2 zenon_H58 zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L74_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L75_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L76_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L120_); trivial.
% 40.87/41.10  apply (zenon_L80_); trivial.
% 40.87/41.10  (* end of lemma zenon_L127_ *)
% 40.87/41.10  assert (zenon_L128_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hd9 zenon_Hbb zenon_Hc3 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H83 zenon_He8 zenon_Hb6 zenon_Hb9 zenon_H34 zenon_Haa zenon_Ha1 zenon_H2d zenon_H2c zenon_Hc2 zenon_H92 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hf2 zenon_H6e zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L121_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L126_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L73_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L127_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  (* end of lemma zenon_L128_ *)
% 40.87/41.10  assert (zenon_L129_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hed zenon_He6 zenon_He9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H43 zenon_H42 zenon_H41 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H89 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_He1 zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hc8 zenon_H91 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hd3 zenon_He8 zenon_Hc3 zenon_Hc2 zenon_Hbb zenon_Hf2 zenon_H9b zenon_H99 zenon_He0.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L20_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L41_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  exact (zenon_He1 zenon_He5).
% 40.87/41.10  apply (zenon_L128_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L129_ *)
% 40.87/41.10  assert (zenon_L130_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hed zenon_He6 zenon_He8 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_H8d zenon_H5f zenon_H68 zenon_Hb1 zenon_H73 zenon_Hd3 zenon_He9 zenon_H91 zenon_H77 zenon_Hd4 zenon_Hf2 zenon_H58 zenon_H6e zenon_Hd9.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L103_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L105_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L108_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L127_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L130_ *)
% 40.87/41.10  assert (zenon_L131_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hee zenon_Hed zenon_He6 zenon_He9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H43 zenon_H42 zenon_H41 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_He1 zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hc8 zenon_H91 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hd3 zenon_He8 zenon_Hc2 zenon_Hbb zenon_Hf2 zenon_H9b zenon_H99 zenon_He0 zenon_Hf1.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.87/41.10  apply (zenon_L129_); trivial.
% 40.87/41.10  apply (zenon_L100_); trivial.
% 40.87/41.10  apply (zenon_L130_); trivial.
% 40.87/41.10  (* end of lemma zenon_L131_ *)
% 40.87/41.10  assert (zenon_L132_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_H2d zenon_H2c zenon_H17 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H59 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_L41_); trivial.
% 40.87/41.10  apply (zenon_L110_); trivial.
% 40.87/41.10  (* end of lemma zenon_L132_ *)
% 40.87/41.10  assert (zenon_L133_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e3) (e3)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hd9 zenon_Hc8 zenon_H9b zenon_H34 zenon_H16 zenon_H32 zenon_He9 zenon_H77 zenon_Hc zenon_He5 zenon_H1f zenon_H20 zenon_H22 zenon_H9f zenon_H5f zenon_H76 zenon_H8e zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hf2 zenon_H6e zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L85_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L113_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L115_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L127_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  (* end of lemma zenon_L133_ *)
% 40.87/41.10  assert (zenon_L134_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf0 zenon_H9f zenon_H8e zenon_Hf1 zenon_He0 zenon_H99 zenon_H9b zenon_Hf2 zenon_Hbb zenon_Hc2 zenon_He8 zenon_Hd3 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_H91 zenon_Hc8 zenon_Hd4 zenon_Hcc zenon_Hd9 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H49 zenon_H51 zenon_H50 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_He9 zenon_He6 zenon_Hed zenon_Hee.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.87/41.10  apply (zenon_L131_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L20_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L132_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  apply (zenon_L133_); trivial.
% 40.87/41.10  apply (zenon_L128_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  apply (zenon_L117_); trivial.
% 40.87/41.10  (* end of lemma zenon_L134_ *)
% 40.87/41.10  assert (zenon_L135_ : (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf6 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H43 zenon_H42 zenon_H41 zenon_Ha1 zenon_Haa zenon_Hc2 zenon_Hbb zenon_He0 zenon_Hf1 zenon_H8e zenon_H9f zenon_Hf0 zenon_Hf7 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H17 zenon_H2c zenon_H2d zenon_Hd9 zenon_Hee zenon_H3b zenon_Hb6 zenon_Hb9 zenon_H22 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.87/41.10  apply (zenon_L118_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.87/41.10  apply (zenon_L134_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.87/41.10  exact (zenon_Hf7 zenon_Hfb).
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.87/41.10  apply (zenon_L132_); trivial.
% 40.87/41.10  apply (zenon_L123_); trivial.
% 40.87/41.10  (* end of lemma zenon_L135_ *)
% 40.87/41.10  assert (zenon_L136_ : (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e0)) -> ((op (e2) (e2)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hfc zenon_H58 zenon_H9 zenon_Hfb.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e0)) = (op (e2) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hfc.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e0)) = (op (e2) (e0)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H5d ].
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (e0))) = ((op (e2) (unit)) = (op (e2) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H5b.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H5c.
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 40.87/41.10  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L21_); trivial.
% 40.87/41.10  apply zenon_H5d. apply refl_equal.
% 40.87/41.10  apply zenon_H5d. apply refl_equal.
% 40.87/41.10  apply zenon_Hfd. apply sym_equal. exact zenon_Hfb.
% 40.87/41.10  (* end of lemma zenon_L136_ *)
% 40.87/41.10  assert (zenon_L137_ : (~((op (e2) (e1)) = (op (e2) (e2)))) -> ((op (e2) (unit)) = (e2)) -> ((unit) = (e1)) -> ((op (e2) (e2)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hfe zenon_H58 zenon_H14 zenon_Hfb.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e1)) = (op (e2) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hfe.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.87/41.10  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e2) (unit)) = (op (e2) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H6f.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H70.
% 40.87/41.10  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.87/41.10  cut (((op (e2) (e1)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L28_); trivial.
% 40.87/41.10  apply zenon_H71. apply refl_equal.
% 40.87/41.10  apply zenon_H71. apply refl_equal.
% 40.87/41.10  apply zenon_Hfd. apply sym_equal. exact zenon_Hfb.
% 40.87/41.10  (* end of lemma zenon_L137_ *)
% 40.87/41.10  assert (zenon_L138_ : ((op (e2) (unit)) = (e2)) -> ((unit) = (e3)) -> ((op (e2) (e2)) = (e2)) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H58 zenon_H2a zenon_Hfb zenon_Hff.
% 40.87/41.10  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (e2)) = (op (e2) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hff.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H25.
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e3)) = (op (e2) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H100.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H58.
% 40.87/41.10  cut (((e2) = (op (e2) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 40.87/41.10  cut (((op (e2) (unit)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e2) (e3)) = (op (e2) (e3)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3))) = ((op (e2) (unit)) = (op (e2) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hd1.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H25.
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 40.87/41.10  cut (((op (e2) (e3)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L77_); trivial.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_Hfd. apply sym_equal. exact zenon_Hfb.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  apply zenon_H26. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L138_ *)
% 40.87/41.10  assert (zenon_L139_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((op (e2) (e2)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_Hfc zenon_Hfe zenon_H22 zenon_H20 zenon_H1f zenon_Hff zenon_Hfb zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L136_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L137_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L138_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L139_ *)
% 40.87/41.10  assert (zenon_L140_ : ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_Hf1 zenon_He0 zenon_H91 zenon_H8e zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hd3 zenon_Hc8 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hbb zenon_Hc2 zenon_H9b zenon_H99 zenon_H9f zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H49 zenon_H51 zenon_H50 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_Hee zenon_Hf6.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.87/41.10  apply (zenon_L135_); trivial.
% 40.87/41.10  apply (zenon_L139_); trivial.
% 40.87/41.10  (* end of lemma zenon_L140_ *)
% 40.87/41.10  assert (zenon_L141_ : (~((op (e1) (e0)) = (op (e1) (unit)))) -> ((unit) = (e0)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H102 zenon_H9.
% 40.87/41.10  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.87/41.10  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.10  congruence.
% 40.87/41.10  apply zenon_H12. apply refl_equal.
% 40.87/41.10  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.87/41.10  (* end of lemma zenon_L141_ *)
% 40.87/41.10  assert (zenon_L142_ : (~((op (e1) (e0)) = (op (e1) (e2)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e0)) -> ((op (e1) (e2)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H103 zenon_H2c zenon_H9 zenon_H104.
% 40.87/41.10  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e0)) = (op (e1) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H103.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2c.
% 40.87/41.10  cut (((e1) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 40.87/41.10  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (e1) (unit)) = (op (e1) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H106.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H107.
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L141_); trivial.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H105. apply sym_equal. exact zenon_H104.
% 40.87/41.10  (* end of lemma zenon_L142_ *)
% 40.87/41.10  assert (zenon_L143_ : (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e1)) -> ((op (e1) (e2)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H109 zenon_H16 zenon_H14 zenon_H104.
% 40.87/41.10  cut (((op (unit) (e1)) = (e1)) = ((op (e1) (e1)) = (op (e1) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H109.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H16.
% 40.87/41.10  cut (((e1) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 40.87/41.10  cut (((op (unit) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H19 | zenon_intro zenon_H1a ].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (unit) (e1)) = (op (e1) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H1d.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H19.
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L5_); trivial.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H105. apply sym_equal. exact zenon_H104.
% 40.87/41.10  (* end of lemma zenon_L143_ *)
% 40.87/41.10  assert (zenon_L144_ : ((op (e1) (unit)) = (e1)) -> ((unit) = (e3)) -> ((op (e1) (e2)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H2c zenon_H2a zenon_H104 zenon_H49.
% 40.87/41.10  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (e2)) = (op (e1) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H49.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2e.
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e3)) = (op (e1) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H10a.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2c.
% 40.87/41.10  cut (((e1) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 40.87/41.10  cut (((op (e1) (unit)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (unit)) = (op (e1) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H31.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2e.
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L9_); trivial.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  apply zenon_H105. apply sym_equal. exact zenon_H104.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L144_ *)
% 40.87/41.10  assert (zenon_L145_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e2)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H103 zenon_H109 zenon_H22 zenon_H20 zenon_H1f zenon_H49 zenon_H104 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L142_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L143_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L144_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L145_ *)
% 40.87/41.10  assert (zenon_L146_ : (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e0)) -> ((op (e0) (e2)) = (e0)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H10b zenon_H42 zenon_H9 zenon_H10c.
% 40.87/41.10  cut (((op (unit) (e0)) = (e0)) = ((op (e0) (e0)) = (op (e0) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H10b.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H42.
% 40.87/41.10  cut (((e0) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 40.87/41.10  cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e0) (e0)) = (op (e0) (e0)))); [ zenon_intro zenon_H46 | zenon_intro zenon_H47 ].
% 40.87/41.10  cut (((op (e0) (e0)) = (op (e0) (e0))) = ((op (unit) (e0)) = (op (e0) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H45.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H46.
% 40.87/41.10  cut (((op (e0) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 40.87/41.10  cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L14_); trivial.
% 40.87/41.10  apply zenon_H47. apply refl_equal.
% 40.87/41.10  apply zenon_H47. apply refl_equal.
% 40.87/41.10  apply zenon_H10d. apply sym_equal. exact zenon_H10c.
% 40.87/41.10  (* end of lemma zenon_L146_ *)
% 40.87/41.10  assert (zenon_L147_ : ((op (e0) (unit)) = (e0)) -> ((unit) = (e3)) -> ((op (e0) (e2)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H50 zenon_H2a zenon_H10c zenon_Hb.
% 40.87/41.10  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (e2)) = (op (e0) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_Hb.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H52.
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e3)) = (op (e0) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H10e.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H50.
% 40.87/41.10  cut (((e0) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 40.87/41.10  cut (((op (e0) (unit)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (unit)) = (op (e0) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H55.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H52.
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.87/41.10  cut (((op (e0) (e3)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L18_); trivial.
% 40.87/41.10  apply zenon_H53. apply refl_equal.
% 40.87/41.10  apply zenon_H53. apply refl_equal.
% 40.87/41.10  apply zenon_H10d. apply sym_equal. exact zenon_H10c.
% 40.87/41.10  apply zenon_H53. apply refl_equal.
% 40.87/41.10  apply zenon_H53. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L147_ *)
% 40.87/41.10  assert (zenon_L148_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H42 zenon_H10b zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hb zenon_H10c zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L146_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L17_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L147_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L148_ *)
% 40.87/41.10  assert (zenon_L149_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H42 zenon_H10b zenon_H18 zenon_H17 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_Hb zenon_H10c zenon_H50 zenon_H91 zenon_Hc zenon_H92.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L146_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L6_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L147_); trivial.
% 40.87/41.10  apply (zenon_L44_); trivial.
% 40.87/41.10  (* end of lemma zenon_L149_ *)
% 40.87/41.10  assert (zenon_L150_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_He0 zenon_H2c zenon_H2d zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H42 zenon_H10b zenon_H18 zenon_H17 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_Hb zenon_H10c zenon_H50 zenon_H91 zenon_Hc.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L148_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L112_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  exact (zenon_He1 zenon_He5).
% 40.87/41.10  apply (zenon_L149_); trivial.
% 40.87/41.10  (* end of lemma zenon_L150_ *)
% 40.87/41.10  assert (zenon_L151_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf0 zenon_H8e zenon_H9f zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H49 zenon_H10c zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.87/41.10  apply (zenon_L150_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L148_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L112_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  apply (zenon_L116_); trivial.
% 40.87/41.10  apply (zenon_L149_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L151_ *)
% 40.87/41.10  assert (zenon_L152_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_Hf2 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H59 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_L41_); trivial.
% 40.87/41.10  apply (zenon_L130_); trivial.
% 40.87/41.10  (* end of lemma zenon_L152_ *)
% 40.87/41.10  assert (zenon_L153_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e1)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_He0 zenon_H2c zenon_H2d zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hf2 zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H42 zenon_H10b zenon_H18 zenon_H17 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_Hb zenon_H10c zenon_H50 zenon_H91 zenon_Hc.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L148_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L152_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  exact (zenon_He1 zenon_He5).
% 40.87/41.10  apply (zenon_L149_); trivial.
% 40.87/41.10  (* end of lemma zenon_L153_ *)
% 40.87/41.10  assert (zenon_L154_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf0 zenon_H8e zenon_H9f zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H49 zenon_H10c zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hf2 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.87/41.10  apply (zenon_L153_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.87/41.10  apply (zenon_L12_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.87/41.10  apply (zenon_L148_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.87/41.10  apply (zenon_L152_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.87/41.10  apply (zenon_L133_); trivial.
% 40.87/41.10  apply (zenon_L149_); trivial.
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L154_ *)
% 40.87/41.10  assert (zenon_L155_ : ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_H8e zenon_H9f zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H49 zenon_H10c zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_Hb9 zenon_Hb6 zenon_Hf6.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.87/41.10  apply (zenon_L151_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.87/41.10  apply (zenon_L154_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.87/41.10  exact (zenon_Hf7 zenon_Hfb).
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.87/41.10  apply (zenon_L132_); trivial.
% 40.87/41.10  apply (zenon_L123_); trivial.
% 40.87/41.10  apply (zenon_L139_); trivial.
% 40.87/41.10  (* end of lemma zenon_L155_ *)
% 40.87/41.10  assert (zenon_L156_ : (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e0)) -> ((op (e1) (e3)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H2d zenon_H2c zenon_H9 zenon_H10f.
% 40.87/41.10  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e0)) = (op (e1) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H2d.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2c.
% 40.87/41.10  cut (((e1) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 40.87/41.10  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (e1) (unit)) = (op (e1) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H106.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H107.
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L141_); trivial.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H110. apply sym_equal. exact zenon_H10f.
% 40.87/41.10  (* end of lemma zenon_L156_ *)
% 40.87/41.10  assert (zenon_L157_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e3)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H10f zenon_H2c zenon_H2d zenon_Hbb zenon_H22 zenon_H20 zenon_H1f zenon_H57 zenon_Hba zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L156_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L65_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L78_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L157_ *)
% 40.87/41.10  assert (zenon_L158_ : (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e1)) -> ((op (e1) (e3)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H111 zenon_H16 zenon_H14 zenon_H10f.
% 40.87/41.10  cut (((op (unit) (e1)) = (e1)) = ((op (e1) (e1)) = (op (e1) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H111.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H16.
% 40.87/41.10  cut (((e1) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 40.87/41.10  cut (((op (unit) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H19 | zenon_intro zenon_H1a ].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (unit) (e1)) = (op (e1) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H1d.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H19.
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L5_); trivial.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H110. apply sym_equal. exact zenon_H10f.
% 40.87/41.10  (* end of lemma zenon_L158_ *)
% 40.87/41.10  assert (zenon_L159_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H2c zenon_H2d zenon_H10f zenon_H111 zenon_H22 zenon_H20 zenon_H1f zenon_H6e zenon_Hf2 zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L156_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L158_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L120_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L159_ *)
% 40.87/41.10  assert (zenon_L160_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H2c zenon_H2d zenon_H10f zenon_H16 zenon_H111 zenon_H8d zenon_H5f zenon_H77 zenon_Hb zenon_H10c zenon_H50 zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L156_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L158_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L106_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L147_); trivial.
% 40.87/41.10  apply (zenon_L80_); trivial.
% 40.87/41.10  (* end of lemma zenon_L160_ *)
% 40.87/41.10  assert (zenon_L161_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e2)) = (e0)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_H2d zenon_H2c zenon_H10f zenon_H111 zenon_Hb zenon_H50 zenon_H10c zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H59 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.87/41.10  apply (zenon_L41_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.87/41.10  apply (zenon_L103_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.87/41.10  apply (zenon_L105_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.87/41.10  apply (zenon_L108_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.87/41.10  apply (zenon_L160_); trivial.
% 40.87/41.10  exact (zenon_Hda zenon_Hde).
% 40.87/41.10  apply (zenon_L99_); trivial.
% 40.87/41.10  (* end of lemma zenon_L161_ *)
% 40.87/41.10  assert (zenon_L162_ : (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_Hf6 zenon_Hbb zenon_Hf7 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H10c zenon_H50 zenon_Hb zenon_H111 zenon_H10f zenon_H2c zenon_H2d zenon_Hd9 zenon_Hee zenon_H3b zenon_Hb6 zenon_Hb9 zenon_H22 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.87/41.10  apply (zenon_L157_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.87/41.10  apply (zenon_L159_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.87/41.10  exact (zenon_Hf7 zenon_Hfb).
% 40.87/41.10  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.87/41.10  apply (zenon_L161_); trivial.
% 40.87/41.10  apply (zenon_L123_); trivial.
% 40.87/41.10  (* end of lemma zenon_L162_ *)
% 40.87/41.10  assert (zenon_L163_ : ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e1) (e3)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e2)) = (e0)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H57 zenon_H22 zenon_H20 zenon_H1f zenon_H58 zenon_Hbb zenon_H10f zenon_H2c zenon_H2d zenon_H6e zenon_H111 zenon_Hee zenon_Hd9 zenon_Hb zenon_H50 zenon_H10c zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H73 zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_Hb9 zenon_Hb6 zenon_Hf6.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.87/41.10  apply (zenon_L162_); trivial.
% 40.87/41.10  apply (zenon_L139_); trivial.
% 40.87/41.10  (* end of lemma zenon_L163_ *)
% 40.87/41.10  assert (zenon_L164_ : (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e0)) -> ((op (e1) (e4)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H112 zenon_H2c zenon_H9 zenon_H113.
% 40.87/41.10  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e0)) = (op (e1) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H112.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2c.
% 40.87/41.10  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 40.87/41.10  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (e1) (unit)) = (op (e1) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H106.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H107.
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.87/41.10  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L141_); trivial.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H108. apply refl_equal.
% 40.87/41.10  apply zenon_H114. apply sym_equal. exact zenon_H113.
% 40.87/41.10  (* end of lemma zenon_L164_ *)
% 40.87/41.10  assert (zenon_L165_ : (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e1)) -> ((op (e1) (e4)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H115 zenon_H16 zenon_H14 zenon_H113.
% 40.87/41.10  cut (((op (unit) (e1)) = (e1)) = ((op (e1) (e1)) = (op (e1) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H115.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H16.
% 40.87/41.10  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 40.87/41.10  cut (((op (unit) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H19 | zenon_intro zenon_H1a ].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (unit) (e1)) = (op (e1) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H1d.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H19.
% 40.87/41.10  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 40.87/41.10  cut (((op (e1) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L5_); trivial.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H1a. apply refl_equal.
% 40.87/41.10  apply zenon_H114. apply sym_equal. exact zenon_H113.
% 40.87/41.10  (* end of lemma zenon_L165_ *)
% 40.87/41.10  assert (zenon_L166_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e3)) -> ((op (e1) (e4)) = (e1)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H116 zenon_H2c zenon_H2a zenon_H113.
% 40.87/41.10  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e3)) = (op (e1) (e4)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H116.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2c.
% 40.87/41.10  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 40.87/41.10  cut (((op (e1) (unit)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (unit)) = (op (e1) (e3)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H31.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H2e.
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.87/41.10  cut (((op (e1) (e3)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L9_); trivial.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  apply zenon_H2f. apply refl_equal.
% 40.87/41.10  apply zenon_H114. apply sym_equal. exact zenon_H113.
% 40.87/41.10  (* end of lemma zenon_L166_ *)
% 40.87/41.10  assert (zenon_L167_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H112 zenon_H115 zenon_H22 zenon_H20 zenon_H1f zenon_H113 zenon_H2c zenon_H116 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L164_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L165_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L166_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L167_ *)
% 40.87/41.10  assert (zenon_L168_ : (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e1) (e1)) = (e1))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H117 zenon_He0 zenon_H10b zenon_H42 zenon_Hc zenon_H18 zenon_H9f zenon_H8e zenon_Hf0 zenon_H118 zenon_H49 zenon_H109 zenon_H103 zenon_Hf6 zenon_Hb6 zenon_Hb9 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H73 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H10c zenon_H50 zenon_Hb zenon_Hd9 zenon_Hee zenon_H111 zenon_H6e zenon_H2d zenon_Hbb zenon_H58 zenon_H57 zenon_Hff zenon_Hfe zenon_Hfc zenon_H101 zenon_H3b zenon_H112 zenon_H115 zenon_H22 zenon_H20 zenon_H1f zenon_H2c zenon_H116 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H117); [ zenon_intro zenon_H17 | zenon_intro zenon_H119 ].
% 40.87/41.10  apply (zenon_L155_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11b | zenon_intro zenon_H11a ].
% 40.87/41.10  exact (zenon_H118 zenon_H11b).
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H104 | zenon_intro zenon_H11c ].
% 40.87/41.10  apply (zenon_L145_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10f | zenon_intro zenon_H113 ].
% 40.87/41.10  apply (zenon_L163_); trivial.
% 40.87/41.10  apply (zenon_L167_); trivial.
% 40.87/41.10  (* end of lemma zenon_L168_ *)
% 40.87/41.10  assert (zenon_L169_ : (~((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H11d zenon_H34.
% 40.87/41.10  cut (((op (e4) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 40.87/41.10  cut (((op (e4) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 40.87/41.10  congruence.
% 40.87/41.10  apply zenon_H11e. apply sym_equal. exact zenon_H34.
% 40.87/41.10  apply zenon_H11e. apply sym_equal. exact zenon_H34.
% 40.87/41.10  (* end of lemma zenon_L169_ *)
% 40.87/41.10  assert (zenon_L170_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (e2)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H11f zenon_H120 zenon_H34 zenon_H109.
% 40.87/41.10  elim (classic ((op (e1) (e2)) = (op (e1) (e2)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ].
% 40.87/41.10  cut (((op (e1) (e2)) = (op (e1) (e2))) = ((op (e1) (e1)) = (op (e1) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H109.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H4d.
% 40.87/41.10  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 40.87/41.10  cut (((op (e1) (e2)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e1) (e2)) = (op (e1) (e1)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H121.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H11f.
% 40.87/41.10  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.87/41.10  cut (((e0) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H122].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e1) (e2)) = (op (e1) (e2)))); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ].
% 40.87/41.10  cut (((op (e1) (e2)) = (op (e1) (e2))) = ((e0) = (op (e1) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H122.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H4d.
% 40.87/41.10  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 40.87/41.10  cut (((op (e1) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 40.87/41.10  congruence.
% 40.87/41.10  exact (zenon_H123 zenon_H120).
% 40.87/41.10  apply zenon_H4e. apply refl_equal.
% 40.87/41.10  apply zenon_H4e. apply refl_equal.
% 40.87/41.10  apply (zenon_L169_); trivial.
% 40.87/41.10  apply zenon_H4e. apply refl_equal.
% 40.87/41.10  apply zenon_H4e. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L170_ *)
% 40.87/41.10  assert (zenon_L171_ : (~((op (e3) (e0)) = (op (unit) (e0)))) -> ((unit) = (e3)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H124 zenon_H2a.
% 40.87/41.10  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.87/41.10  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.87/41.10  congruence.
% 40.87/41.10  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.87/41.10  apply zenon_H3f. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L171_ *)
% 40.87/41.10  assert (zenon_L172_ : (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e3)) -> ((op (e3) (e2)) = (e0)) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H8e zenon_H42 zenon_H2a zenon_H125.
% 40.87/41.10  cut (((op (unit) (e0)) = (e0)) = ((op (e3) (e0)) = (op (e3) (e2)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H8e.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H42.
% 40.87/41.10  cut (((e0) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H126].
% 40.87/41.10  cut (((op (unit) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 40.87/41.10  congruence.
% 40.87/41.10  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.87/41.10  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (unit) (e0)) = (op (e3) (e0)))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H127.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H7f.
% 40.87/41.10  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.87/41.10  cut (((op (e3) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 40.87/41.10  congruence.
% 40.87/41.10  apply (zenon_L171_); trivial.
% 40.87/41.10  apply zenon_H80. apply refl_equal.
% 40.87/41.10  apply zenon_H80. apply refl_equal.
% 40.87/41.10  apply zenon_H126. apply sym_equal. exact zenon_H125.
% 40.87/41.10  (* end of lemma zenon_L172_ *)
% 40.87/41.10  assert (zenon_L173_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H3b zenon_H2c zenon_H2d zenon_H10f zenon_H111 zenon_H22 zenon_H20 zenon_H1f zenon_H125 zenon_H42 zenon_H8e zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.10  apply (zenon_L156_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.10  apply (zenon_L158_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.10  apply (zenon_L8_); trivial.
% 40.87/41.10  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.10  apply (zenon_L172_); trivial.
% 40.87/41.10  apply (zenon_L11_); trivial.
% 40.87/41.10  (* end of lemma zenon_L173_ *)
% 40.87/41.10  assert (zenon_L174_ : ((e1) = (op (e4) (e2))) -> ((op (e4) (e2)) = (e0)) -> (~((e0) = (e1))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H34 zenon_H128 zenon_H129.
% 40.87/41.10  elim (classic ((e1) = (e1))); [ zenon_intro zenon_H12a | zenon_intro zenon_H12 ].
% 40.87/41.10  cut (((e1) = (e1)) = ((e0) = (e1))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H129.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H12a.
% 40.87/41.10  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.10  cut (((e1) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H12b].
% 40.87/41.10  congruence.
% 40.87/41.10  cut (((e1) = (op (e4) (e2))) = ((e1) = (e0))).
% 40.87/41.10  intro zenon_D_pnotp.
% 40.87/41.10  apply zenon_H12b.
% 40.87/41.10  rewrite <- zenon_D_pnotp.
% 40.87/41.10  exact zenon_H34.
% 40.87/41.10  cut (((op (e4) (e2)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 40.87/41.10  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.87/41.10  congruence.
% 40.87/41.10  apply zenon_H12. apply refl_equal.
% 40.87/41.10  exact (zenon_H12c zenon_H128).
% 40.87/41.10  apply zenon_H12. apply refl_equal.
% 40.87/41.10  apply zenon_H12. apply refl_equal.
% 40.87/41.10  (* end of lemma zenon_L174_ *)
% 40.87/41.10  assert (zenon_L175_ : (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (e1))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((e0) = (e1))) -> False).
% 40.87/41.10  do 0 intro. intros zenon_H12d zenon_H116 zenon_H115 zenon_H112 zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_H57 zenon_H58 zenon_Hbb zenon_H6e zenon_Hee zenon_Hd9 zenon_Hb zenon_H50 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H73 zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_Hb9 zenon_Hb6 zenon_Hf6 zenon_H103 zenon_H49 zenon_H118 zenon_Hf0 zenon_H9f zenon_H18 zenon_Hc zenon_H10b zenon_He0 zenon_H117 zenon_H109 zenon_H11f zenon_H12e zenon_H16 zenon_H32 zenon_H8e zenon_H42 zenon_H1f zenon_H20 zenon_H22 zenon_H111 zenon_H10f zenon_H2d zenon_H2c zenon_H3b zenon_H34 zenon_H129.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H10c | zenon_intro zenon_H12f ].
% 40.87/41.11  apply (zenon_L168_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H120 | zenon_intro zenon_H130 ].
% 40.87/41.11  apply (zenon_L170_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H130); [ zenon_intro zenon_H132 | zenon_intro zenon_H131 ].
% 40.87/41.11  exact (zenon_H12e zenon_H132).
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H131); [ zenon_intro zenon_H125 | zenon_intro zenon_H128 ].
% 40.87/41.11  apply (zenon_L173_); trivial.
% 40.87/41.11  apply (zenon_L174_); trivial.
% 40.87/41.11  (* end of lemma zenon_L175_ *)
% 40.87/41.11  assert (zenon_L176_ : (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e1)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (~((e0) = (e1))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e1) (e1)) = (e1))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.11  do 0 intro. intros zenon_H51 zenon_H43 zenon_H41 zenon_Hc2 zenon_Haa zenon_Ha1 zenon_Hf1 zenon_H129 zenon_H2d zenon_H111 zenon_H42 zenon_H8e zenon_H12e zenon_H11f zenon_H109 zenon_H117 zenon_He0 zenon_H10b zenon_Hc zenon_H18 zenon_H9f zenon_Hf0 zenon_H118 zenon_H49 zenon_H103 zenon_Hf6 zenon_Hb6 zenon_Hb9 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H73 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H50 zenon_Hb zenon_Hd9 zenon_Hee zenon_H6e zenon_Hbb zenon_H58 zenon_H57 zenon_Hff zenon_Hfe zenon_Hfc zenon_H101 zenon_H12d zenon_H3b zenon_H112 zenon_H115 zenon_H22 zenon_H20 zenon_H1f zenon_H2c zenon_H116 zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H117); [ zenon_intro zenon_H17 | zenon_intro zenon_H119 ].
% 40.87/41.11  apply (zenon_L140_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11b | zenon_intro zenon_H11a ].
% 40.87/41.11  exact (zenon_H118 zenon_H11b).
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H104 | zenon_intro zenon_H11c ].
% 40.87/41.11  apply (zenon_L145_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10f | zenon_intro zenon_H113 ].
% 40.87/41.11  apply (zenon_L175_); trivial.
% 40.87/41.11  apply (zenon_L167_); trivial.
% 40.87/41.11  (* end of lemma zenon_L176_ *)
% 40.87/41.11  assert (zenon_L177_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e2)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.87/41.11  do 0 intro. intros zenon_H3b zenon_H103 zenon_Hbb zenon_Hba zenon_H58 zenon_H22 zenon_H20 zenon_H1f zenon_H49 zenon_H104 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.87/41.11  apply (zenon_L142_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.87/41.11  apply (zenon_L65_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.87/41.11  apply (zenon_L8_); trivial.
% 40.87/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.87/41.11  apply (zenon_L144_); trivial.
% 40.87/41.11  apply (zenon_L11_); trivial.
% 40.87/41.11  (* end of lemma zenon_L177_ *)
% 40.87/41.11  assert (zenon_L178_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H113 zenon_H2c zenon_H112 zenon_Hbb zenon_H22 zenon_H20 zenon_H1f zenon_H57 zenon_Hba zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L164_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L65_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L78_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L178_ *)
% 40.94/41.11  assert (zenon_L179_ : (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e0)) -> ((op (e1) (e1)) = (e1)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H18 zenon_H2c zenon_H9 zenon_H11b.
% 40.94/41.11  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e0)) = (op (e1) (e1)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H18.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H2c.
% 40.94/41.11  cut (((e1) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 40.94/41.11  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.94/41.11  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (e1) (unit)) = (op (e1) (e0)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H106.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H107.
% 40.94/41.11  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.94/41.11  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 40.94/41.11  congruence.
% 40.94/41.11  apply (zenon_L141_); trivial.
% 40.94/41.11  apply zenon_H108. apply refl_equal.
% 40.94/41.11  apply zenon_H108. apply refl_equal.
% 40.94/41.11  apply zenon_H133. apply sym_equal. exact zenon_H11b.
% 40.94/41.11  (* end of lemma zenon_L179_ *)
% 40.94/41.11  assert (zenon_L180_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H11b zenon_H2c zenon_H18 zenon_Hbb zenon_H22 zenon_H20 zenon_H1f zenon_H57 zenon_Hba zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L179_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L65_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L78_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L180_ *)
% 40.94/41.11  assert (zenon_L181_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hbb zenon_H61 zenon_H60 zenon_H5f zenon_H22 zenon_H20 zenon_H1f zenon_H6e zenon_Hf2 zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L119_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L24_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L120_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L181_ *)
% 40.94/41.11  assert (zenon_L182_ : (~((op (e0) (e1)) = (op (e0) (unit)))) -> ((unit) = (e1)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H134 zenon_H14.
% 40.94/41.11  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.94/41.11  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.11  congruence.
% 40.94/41.11  apply zenon_H3f. apply refl_equal.
% 40.94/41.11  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.94/41.11  (* end of lemma zenon_L182_ *)
% 40.94/41.11  assert (zenon_L183_ : ((op (e1) (unit)) = (e1)) -> ((unit) = (e3)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H2c zenon_H2a zenon_H11b zenon_H111.
% 40.94/41.11  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (e1)) = (op (e1) (e3)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H111.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H2e.
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H135].
% 40.94/41.11  congruence.
% 40.94/41.11  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e3)) = (op (e1) (e1)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H135.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H2c.
% 40.94/41.11  cut (((e1) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 40.94/41.11  cut (((op (e1) (unit)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (unit)) = (op (e1) (e3)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H31.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H2e.
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.94/41.11  cut (((op (e1) (e3)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 40.94/41.11  congruence.
% 40.94/41.11  apply (zenon_L9_); trivial.
% 40.94/41.11  apply zenon_H2f. apply refl_equal.
% 40.94/41.11  apply zenon_H2f. apply refl_equal.
% 40.94/41.11  apply zenon_H133. apply sym_equal. exact zenon_H11b.
% 40.94/41.11  apply zenon_H2f. apply refl_equal.
% 40.94/41.11  apply zenon_H2f. apply refl_equal.
% 40.94/41.11  (* end of lemma zenon_L183_ *)
% 40.94/41.11  assert (zenon_L184_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H18 zenon_H10c zenon_H50 zenon_H136 zenon_H9f zenon_H72 zenon_H5f zenon_H111 zenon_H11b zenon_H2c zenon_Hd3 zenon_Ha5 zenon_He8.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L179_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e1)) = (op (e0) (e2)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H136.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H50.
% 40.94/41.11  cut (((e0) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 40.94/41.11  cut (((op (e0) (unit)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.11  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (e0) (unit)) = (op (e0) (e1)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H137.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H138.
% 40.94/41.11  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.11  cut (((op (e0) (e1)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 40.94/41.11  congruence.
% 40.94/41.11  apply (zenon_L182_); trivial.
% 40.94/41.11  apply zenon_H139. apply refl_equal.
% 40.94/41.11  apply zenon_H139. apply refl_equal.
% 40.94/41.11  apply zenon_H10d. apply sym_equal. exact zenon_H10c.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L50_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L183_); trivial.
% 40.94/41.11  apply (zenon_L124_); trivial.
% 40.94/41.11  (* end of lemma zenon_L184_ *)
% 40.94/41.11  assert (zenon_L185_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hd zenon_Hc zenon_Hb zenon_H32 zenon_H9f zenon_H72 zenon_H5f zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L3_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L71_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L50_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L72_); trivial.
% 40.94/41.11  apply (zenon_L107_); trivial.
% 40.94/41.11  (* end of lemma zenon_L185_ *)
% 40.94/41.11  assert (zenon_L186_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H111 zenon_H11b zenon_H2c zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L74_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L75_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L76_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L183_); trivial.
% 40.94/41.11  apply (zenon_L80_); trivial.
% 40.94/41.11  (* end of lemma zenon_L186_ *)
% 40.94/41.11  assert (zenon_L187_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e2)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e0) (e3)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hd9 zenon_H34 zenon_H16 zenon_H20 zenon_H73 zenon_H9b zenon_H61 zenon_He8 zenon_H136 zenon_H50 zenon_H10c zenon_H18 zenon_He9 zenon_H5f zenon_H72 zenon_H9f zenon_H32 zenon_Hb zenon_Hc zenon_Hd zenon_Hd4 zenon_Hd3 zenon_H2c zenon_H11b zenon_H111 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.11  apply (zenon_L51_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.11  apply (zenon_L184_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.11  apply (zenon_L185_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_L186_); trivial.
% 40.94/41.11  exact (zenon_Hda zenon_Hde).
% 40.94/41.11  (* end of lemma zenon_L187_ *)
% 40.94/41.11  assert (zenon_L188_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H18 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H111 zenon_H11b zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L179_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L17_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L183_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L188_ *)
% 40.94/41.11  assert (zenon_L189_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Ha2 zenon_Ha1 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc9 zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L52_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L71_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L72_); trivial.
% 40.94/41.11  apply (zenon_L44_); trivial.
% 40.94/41.11  (* end of lemma zenon_L189_ *)
% 40.94/41.11  assert (zenon_L190_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H18 zenon_Hab zenon_Hc zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H111 zenon_H11b zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L179_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L56_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L183_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L190_ *)
% 40.94/41.11  assert (zenon_L191_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H99 zenon_H32 zenon_H9f zenon_H72 zenon_H5f zenon_Hbf zenon_Hc zenon_H83 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L70_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L71_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L50_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L67_); trivial.
% 40.94/41.11  apply (zenon_L107_); trivial.
% 40.94/41.11  (* end of lemma zenon_L191_ *)
% 40.94/41.11  assert (zenon_L192_ : (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e4)) -> ((op (e4) (e4)) = (e2)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_He9 zenon_Hc zenon_H33 zenon_Hc7.
% 40.94/41.11  cut (((op (unit) (e2)) = (e2)) = ((op (e4) (e2)) = (op (e4) (e4)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_He9.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_Hc.
% 40.94/41.11  cut (((e2) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 40.94/41.11  cut (((op (unit) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.94/41.11  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (unit) (e2)) = (op (e4) (e2)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H94.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H95.
% 40.94/41.11  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.11  cut (((op (e4) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 40.94/41.11  congruence.
% 40.94/41.11  apply (zenon_L43_); trivial.
% 40.94/41.11  apply zenon_H96. apply refl_equal.
% 40.94/41.11  apply zenon_H96. apply refl_equal.
% 40.94/41.11  apply zenon_H13a. apply sym_equal. exact zenon_Hc7.
% 40.94/41.11  (* end of lemma zenon_L192_ *)
% 40.94/41.11  assert (zenon_L193_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e4)) = (e2)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_H91 zenon_Hc9 zenon_H99 zenon_He9 zenon_Hc zenon_Hc7.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L70_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L71_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L72_); trivial.
% 40.94/41.11  apply (zenon_L192_); trivial.
% 40.94/41.11  (* end of lemma zenon_L193_ *)
% 40.94/41.11  assert (zenon_L194_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hc2 zenon_H92 zenon_Ha1 zenon_H2c zenon_H11b zenon_H111 zenon_Haa zenon_H18 zenon_H34 zenon_H16 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_Hd3 zenon_H83 zenon_H5f zenon_H72 zenon_H9f zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_H91 zenon_Hc9 zenon_H99 zenon_He9 zenon_Hc.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.11  apply (zenon_L189_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.11  apply (zenon_L190_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.11  apply (zenon_L123_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.11  apply (zenon_L191_); trivial.
% 40.94/41.11  apply (zenon_L193_); trivial.
% 40.94/41.11  (* end of lemma zenon_L194_ *)
% 40.94/41.11  assert (zenon_L195_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e4) (e3)) = (e2)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hd9 zenon_Hf2 zenon_H6e zenon_H9b zenon_Hbb zenon_He8 zenon_H136 zenon_H50 zenon_H10c zenon_Hc zenon_He9 zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_H9f zenon_H72 zenon_H5f zenon_H83 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_H16 zenon_H34 zenon_H18 zenon_Haa zenon_Ha1 zenon_H92 zenon_Hc2 zenon_Hd4 zenon_Hd3 zenon_H2c zenon_H11b zenon_H111 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.11  apply (zenon_L121_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.11  apply (zenon_L184_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.11  apply (zenon_L194_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_L186_); trivial.
% 40.94/41.11  exact (zenon_Hda zenon_Hde).
% 40.94/41.11  (* end of lemma zenon_L195_ *)
% 40.94/41.11  assert (zenon_L196_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H8e zenon_H9f zenon_H72 zenon_H5f zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L83_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L89_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L50_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L32_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L196_ *)
% 40.94/41.11  assert (zenon_L197_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e2) (e1)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hf0 zenon_H8e zenon_He0 zenon_Hbb zenon_Hc2 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Ha1 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_Hc8 zenon_Hf2 zenon_Hee zenon_H49 zenon_H1f zenon_H22 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H20 zenon_H73 zenon_H9f zenon_H99 zenon_H9b zenon_H72 zenon_H5f zenon_H61 zenon_Hd3 zenon_He8 zenon_H111 zenon_H10c zenon_H50 zenon_H136 zenon_H11b zenon_H2c zenon_H18 zenon_He9 zenon_H91 zenon_Hc zenon_Hb zenon_Hd4 zenon_Hb1 zenon_Hcc zenon_Hd9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.11  apply (zenon_L187_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.11  apply (zenon_L188_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.11  apply (zenon_L152_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.11  exact (zenon_He1 zenon_He5).
% 40.94/41.11  apply (zenon_L195_); trivial.
% 40.94/41.11  apply (zenon_L99_); trivial.
% 40.94/41.11  apply (zenon_L196_); trivial.
% 40.94/41.11  (* end of lemma zenon_L197_ *)
% 40.94/41.11  assert (zenon_L198_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hd9 zenon_Hc8 zenon_H9b zenon_H34 zenon_H16 zenon_H32 zenon_He9 zenon_H20 zenon_H76 zenon_H77 zenon_H1f zenon_H22 zenon_H9f zenon_H5f zenon_H8e zenon_Hd4 zenon_Hd3 zenon_H2c zenon_H11b zenon_H111 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.11  apply (zenon_L85_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.11  apply (zenon_L113_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.11  apply (zenon_L117_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_L186_); trivial.
% 40.94/41.11  exact (zenon_Hda zenon_Hde).
% 40.94/41.11  (* end of lemma zenon_L198_ *)
% 40.94/41.11  assert (zenon_L199_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hed zenon_He6 zenon_He8 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H20 zenon_H77 zenon_Hc8 zenon_H99 zenon_H9b zenon_H76 zenon_H5f zenon_H8e zenon_H9f zenon_Hd3 zenon_He9 zenon_H22 zenon_H1f zenon_Hd4 zenon_H11b zenon_H2c zenon_H111 zenon_H91 zenon_Hb1 zenon_Hcc zenon_Hd9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_L198_); trivial.
% 40.94/41.11  apply (zenon_L99_); trivial.
% 40.94/41.11  (* end of lemma zenon_L199_ *)
% 40.94/41.11  assert (zenon_L200_ : (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e2)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hb zenon_Hc zenon_H18 zenon_H136 zenon_H50 zenon_H10c zenon_H61 zenon_H73 zenon_H49 zenon_Hee zenon_Hf2 zenon_H68 zenon_H58 zenon_H57 zenon_H6e zenon_H88 zenon_Ha1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hc2 zenon_Hbb zenon_He0 zenon_Hf0 zenon_Hd9 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H111 zenon_H2c zenon_H11b zenon_Hd4 zenon_H1f zenon_H22 zenon_He9 zenon_Hd3 zenon_H9f zenon_H8e zenon_H9b zenon_H99 zenon_Hc8 zenon_H77 zenon_He8 zenon_He6 zenon_Hed zenon_H89 zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.94/41.11  apply (zenon_L181_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.94/41.11  apply (zenon_L197_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.94/41.11  apply (zenon_L199_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.94/41.11  exact (zenon_H89 zenon_H8d).
% 40.94/41.11  apply (zenon_L40_); trivial.
% 40.94/41.11  (* end of lemma zenon_L200_ *)
% 40.94/41.11  assert (zenon_L201_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H6e zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_Hf2 zenon_H58 zenon_Hbb zenon_Hf0 zenon_H8e zenon_He0 zenon_Hc2 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Ha1 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H57 zenon_H68 zenon_Hed zenon_He6 zenon_Hc8 zenon_Hee zenon_H49 zenon_H73 zenon_H9f zenon_H99 zenon_H9b zenon_Hd3 zenon_He8 zenon_H111 zenon_H10c zenon_H50 zenon_H136 zenon_H11b zenon_H2c zenon_H18 zenon_He9 zenon_H91 zenon_Hc zenon_Hb zenon_Hd4 zenon_Hb1 zenon_Hcc zenon_Hd9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.11  apply (zenon_L200_); trivial.
% 40.94/41.11  apply (zenon_L130_); trivial.
% 40.94/41.11  (* end of lemma zenon_L201_ *)
% 40.94/41.11  assert (zenon_L202_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hed zenon_He6 zenon_He8 zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_H8d zenon_H5f zenon_H68 zenon_Hb1 zenon_H73 zenon_Hd3 zenon_He9 zenon_H91 zenon_H77 zenon_Hd4 zenon_H11b zenon_H2c zenon_H111 zenon_Hd9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.11  apply (zenon_L103_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.11  apply (zenon_L105_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.11  apply (zenon_L108_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_L186_); trivial.
% 40.94/41.11  exact (zenon_Hda zenon_Hde).
% 40.94/41.11  apply (zenon_L99_); trivial.
% 40.94/41.11  (* end of lemma zenon_L202_ *)
% 40.94/41.11  assert (zenon_L203_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_H111 zenon_H2c zenon_H11b zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H59 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.11  apply (zenon_L41_); trivial.
% 40.94/41.11  apply (zenon_L202_); trivial.
% 40.94/41.11  (* end of lemma zenon_L203_ *)
% 40.94/41.11  assert (zenon_L204_ : ((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H13b zenon_H136 zenon_Ha1 zenon_Haa zenon_Hc2 zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_H8e zenon_H9f zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H49 zenon_H10c zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_Hb9 zenon_Hb6 zenon_Hf6 zenon_H109 zenon_H103 zenon_Hbb zenon_H111 zenon_H116 zenon_H115 zenon_H112 zenon_H117.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H13b); [ zenon_intro zenon_H118 | zenon_intro zenon_H11b ].
% 40.94/41.11  apply (zenon_L168_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.94/41.11  apply (zenon_L180_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.94/41.11  apply (zenon_L201_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.94/41.11  exact (zenon_Hf7 zenon_Hfb).
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.94/41.11  apply (zenon_L203_); trivial.
% 40.94/41.11  apply (zenon_L123_); trivial.
% 40.94/41.11  apply (zenon_L139_); trivial.
% 40.94/41.11  (* end of lemma zenon_L204_ *)
% 40.94/41.11  assert (zenon_L205_ : (~((op (e1) (e0)) = (op (unit) (e0)))) -> ((unit) = (e1)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H13c zenon_H14.
% 40.94/41.11  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.11  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 40.94/41.11  congruence.
% 40.94/41.11  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 40.94/41.11  apply zenon_H3f. apply refl_equal.
% 40.94/41.11  (* end of lemma zenon_L205_ *)
% 40.94/41.11  assert (zenon_L206_ : (~((op (e1) (e0)) = (op (e1) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e1)) -> ((op (e1) (e2)) = (e0)) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H103 zenon_H42 zenon_H14 zenon_H120.
% 40.94/41.11  cut (((op (unit) (e0)) = (e0)) = ((op (e1) (e0)) = (op (e1) (e2)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H103.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H42.
% 40.94/41.11  cut (((e0) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H122].
% 40.94/41.11  cut (((op (unit) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.94/41.11  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (unit) (e0)) = (op (e1) (e0)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H13d.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H107.
% 40.94/41.11  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.94/41.11  cut (((op (e1) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 40.94/41.11  congruence.
% 40.94/41.11  apply (zenon_L205_); trivial.
% 40.94/41.11  apply zenon_H108. apply refl_equal.
% 40.94/41.11  apply zenon_H108. apply refl_equal.
% 40.94/41.11  apply zenon_H122. apply sym_equal. exact zenon_H120.
% 40.94/41.11  (* end of lemma zenon_L206_ *)
% 40.94/41.11  assert (zenon_L207_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_H18 zenon_H120 zenon_H42 zenon_H103 zenon_H22 zenon_H20 zenon_H1f zenon_H111 zenon_H11b zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L179_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L206_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L8_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L183_); trivial.
% 40.94/41.11  apply (zenon_L11_); trivial.
% 40.94/41.11  (* end of lemma zenon_L207_ *)
% 40.94/41.11  assert (zenon_L208_ : ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e4)) = (e3))) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_Hed zenon_He6 zenon_H99 zenon_He8 zenon_Hd4 zenon_H32 zenon_H16 zenon_H3b zenon_H13e zenon_He9 zenon_H34 zenon_Hc3 zenon_H13f zenon_H140.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H140); [ zenon_intro zenon_H142 | zenon_intro zenon_H141 ].
% 40.94/41.11  exact (zenon_H13e zenon_H142).
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H141); [ zenon_intro zenon_H144 | zenon_intro zenon_H143 ].
% 40.94/41.11  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.94/41.11  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((op (e4) (e2)) = (op (e4) (e4)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_He9.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_Hd5.
% 40.94/41.11  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.94/41.11  cut (((op (e4) (e4)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 40.94/41.11  congruence.
% 40.94/41.11  cut (((e1) = (op (e4) (e2))) = ((op (e4) (e4)) = (op (e4) (e2)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_Hec.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_H34.
% 40.94/41.11  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.11  cut (((e1) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 40.94/41.11  congruence.
% 40.94/41.11  elim (classic ((op (e4) (e4)) = (op (e4) (e4)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hd6 ].
% 40.94/41.11  cut (((op (e4) (e4)) = (op (e4) (e4))) = ((e1) = (op (e4) (e4)))).
% 40.94/41.11  intro zenon_D_pnotp.
% 40.94/41.11  apply zenon_H145.
% 40.94/41.11  rewrite <- zenon_D_pnotp.
% 40.94/41.11  exact zenon_Hd5.
% 40.94/41.11  cut (((op (e4) (e4)) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 40.94/41.11  cut (((op (e4) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H146].
% 40.94/41.11  congruence.
% 40.94/41.11  exact (zenon_H146 zenon_H144).
% 40.94/41.11  apply zenon_Hd6. apply refl_equal.
% 40.94/41.11  apply zenon_Hd6. apply refl_equal.
% 40.94/41.11  apply zenon_H96. apply refl_equal.
% 40.94/41.11  apply zenon_Hd6. apply refl_equal.
% 40.94/41.11  apply zenon_Hd6. apply refl_equal.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H143); [ zenon_intro zenon_Hc7 | zenon_intro zenon_H147 ].
% 40.94/41.11  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H147); [ zenon_intro zenon_H148 | zenon_intro zenon_Hde ].
% 40.94/41.11  exact (zenon_H13f zenon_H148).
% 40.94/41.11  exact (zenon_Hda zenon_Hde).
% 40.94/41.11  apply (zenon_L99_); trivial.
% 40.94/41.11  (* end of lemma zenon_L208_ *)
% 40.94/41.11  assert (zenon_L209_ : ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e4)) = (e0))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H149 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H6e zenon_H58 zenon_Hf2 zenon_Hd3 zenon_H140 zenon_Hc3 zenon_H34 zenon_He9 zenon_H13e zenon_H3b zenon_H16 zenon_H32 zenon_Hd4 zenon_He8 zenon_H99 zenon_He6 zenon_Hed.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H13f | zenon_intro zenon_Hcd ].
% 40.94/41.11  apply (zenon_L208_); trivial.
% 40.94/41.11  apply (zenon_L127_); trivial.
% 40.94/41.11  (* end of lemma zenon_L209_ *)
% 40.94/41.11  assert (zenon_L210_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e4) (e2)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e0) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e1)) = (e1)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H88 zenon_H58 zenon_Hf2 zenon_H6e zenon_H61 zenon_Hbb zenon_Hc9 zenon_Hb zenon_Hc zenon_Hd zenon_Hd9 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H111 zenon_H2c zenon_H11b zenon_Hd4 zenon_H1f zenon_H22 zenon_He9 zenon_Hd3 zenon_H9f zenon_H8e zenon_H9b zenon_H99 zenon_Hc8 zenon_H77 zenon_He8 zenon_He6 zenon_Hed zenon_H89 zenon_H3b zenon_H7b zenon_H81 zenon_H5f zenon_H83 zenon_H20 zenon_H87 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.94/41.11  apply (zenon_L181_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.94/41.11  apply (zenon_L185_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.94/41.11  apply (zenon_L199_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.94/41.11  exact (zenon_H89 zenon_H8d).
% 40.94/41.11  apply (zenon_L40_); trivial.
% 40.94/41.11  (* end of lemma zenon_L210_ *)
% 40.94/41.11  assert (zenon_L211_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e3) (e4)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H32 zenon_H7c zenon_H5f zenon_H83 zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.11  apply (zenon_L70_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.11  apply (zenon_L71_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.11  apply (zenon_L38_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.11  apply (zenon_L72_); trivial.
% 40.94/41.11  apply (zenon_L107_); trivial.
% 40.94/41.11  (* end of lemma zenon_L211_ *)
% 40.94/41.11  assert (zenon_L212_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.94/41.11  do 0 intro. intros zenon_H88 zenon_H68 zenon_H61 zenon_H73 zenon_H34 zenon_H16 zenon_H20 zenon_H77 zenon_H1f zenon_H22 zenon_H6e zenon_H58 zenon_H59 zenon_H57 zenon_H89 zenon_H3b zenon_Hc8 zenon_H32 zenon_H5f zenon_H83 zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.94/41.11  apply (zenon_L27_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.94/41.11  apply (zenon_L31_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.94/41.11  apply (zenon_L33_); trivial.
% 40.94/41.11  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.94/41.12  exact (zenon_H89 zenon_H8d).
% 40.94/41.12  apply (zenon_L211_); trivial.
% 40.94/41.12  (* end of lemma zenon_L212_ *)
% 40.94/41.12  assert (zenon_L213_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hf0 zenon_H14a zenon_H149 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H6e zenon_H58 zenon_Hf2 zenon_Hd3 zenon_H140 zenon_H34 zenon_He9 zenon_H3b zenon_H16 zenon_H32 zenon_Hd4 zenon_He8 zenon_H99 zenon_He6 zenon_Hed zenon_He0 zenon_H68 zenon_H57 zenon_H73 zenon_H41 zenon_H42 zenon_H43 zenon_H49 zenon_H51 zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_Hbb zenon_H9f zenon_Hc zenon_Hb zenon_H77 zenon_Hc8 zenon_H9b zenon_H8e zenon_H11b zenon_H2c zenon_H111 zenon_Hd9 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_Hf1 zenon_Hee.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.94/41.12  apply (zenon_L209_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L210_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L20_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L212_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L73_); trivial.
% 40.94/41.12  apply (zenon_L121_); trivial.
% 40.94/41.12  apply (zenon_L202_); trivial.
% 40.94/41.12  apply (zenon_L199_); trivial.
% 40.94/41.12  (* end of lemma zenon_L213_ *)
% 40.94/41.12  assert (zenon_L214_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_Hb6 zenon_Hb7 zenon_H58 zenon_Hb9 zenon_H22 zenon_H20 zenon_H1f zenon_H125 zenon_H42 zenon_H8e zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L62_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L63_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L172_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L214_ *)
% 40.94/41.12  assert (zenon_L215_ : ((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e1))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> ((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H13b zenon_H136 zenon_H140 zenon_H149 zenon_H14a zenon_H117 zenon_H112 zenon_H115 zenon_H116 zenon_H111 zenon_H10b zenon_H11f zenon_H129 zenon_H12d zenon_H103 zenon_H109 zenon_Hf6 zenon_Hee zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H43 zenon_H42 zenon_H41 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H9f zenon_H99 zenon_H9b zenon_Hc2 zenon_Hbb zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_Hc8 zenon_Hd3 zenon_Hd4 zenon_Hcc zenon_Hd9 zenon_H8e zenon_H91 zenon_He0 zenon_Hf1 zenon_Hf0 zenon_Hff zenon_Hfe zenon_Hfc zenon_H101 zenon_H14b.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H13b); [ zenon_intro zenon_H118 | zenon_intro zenon_H11b ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H14b); [ zenon_intro zenon_H12e | zenon_intro zenon_Hba ].
% 40.94/41.12  apply (zenon_L176_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H117); [ zenon_intro zenon_H17 | zenon_intro zenon_H119 ].
% 40.94/41.12  apply (zenon_L135_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H11b | zenon_intro zenon_H11a ].
% 40.94/41.12  exact (zenon_H118 zenon_H11b).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H104 | zenon_intro zenon_H11c ].
% 40.94/41.12  apply (zenon_L177_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10f | zenon_intro zenon_H113 ].
% 40.94/41.12  apply (zenon_L157_); trivial.
% 40.94/41.12  apply (zenon_L178_); trivial.
% 40.94/41.12  apply (zenon_L139_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H14b); [ zenon_intro zenon_H12e | zenon_intro zenon_Hba ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H10c | zenon_intro zenon_H12f ].
% 40.94/41.12  apply (zenon_L204_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H120 | zenon_intro zenon_H130 ].
% 40.94/41.12  apply (zenon_L207_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H130); [ zenon_intro zenon_H132 | zenon_intro zenon_H131 ].
% 40.94/41.12  exact (zenon_H12e zenon_H132).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H131); [ zenon_intro zenon_H125 | zenon_intro zenon_H128 ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.94/41.12  apply (zenon_L180_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.94/41.12  apply (zenon_L213_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.94/41.12  exact (zenon_Hf7 zenon_Hfb).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.94/41.12  apply (zenon_L203_); trivial.
% 40.94/41.12  apply (zenon_L214_); trivial.
% 40.94/41.12  apply (zenon_L174_); trivial.
% 40.94/41.12  apply (zenon_L139_); trivial.
% 40.94/41.12  apply (zenon_L180_); trivial.
% 40.94/41.12  (* end of lemma zenon_L215_ *)
% 40.94/41.12  assert (zenon_L216_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e2) (e1)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H11f zenon_H14c zenon_H34 zenon_H14d.
% 40.94/41.12  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (e1) (e1)) = (op (e2) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H14d.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H70.
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H14e].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e2) (e1)) = (op (e1) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H14e.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H11f.
% 40.94/41.12  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.94/41.12  cut (((e0) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((e0) = (op (e2) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H14f.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H70.
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.94/41.12  cut (((op (e2) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H150].
% 40.94/41.12  congruence.
% 40.94/41.12  exact (zenon_H150 zenon_H14c).
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  apply (zenon_L169_); trivial.
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L216_ *)
% 40.94/41.12  assert (zenon_L217_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e3) (e1)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H11f zenon_H151 zenon_H34 zenon_H152.
% 40.94/41.12  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e1) (e1)) = (op (e3) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H152.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H62.
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e3) (e1)) = (op (e1) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H153.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H11f.
% 40.94/41.12  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.94/41.12  cut (((e0) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H154].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((e0) = (op (e3) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H154.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H62.
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.94/41.12  cut (((op (e3) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H155].
% 40.94/41.12  congruence.
% 40.94/41.12  exact (zenon_H155 zenon_H151).
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  apply (zenon_L169_); trivial.
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L217_ *)
% 40.94/41.12  assert (zenon_L218_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e4) (e1)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H11f zenon_H156 zenon_H34 zenon_H157.
% 40.94/41.12  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.94/41.12  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((op (e1) (e1)) = (op (e4) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H157.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H37.
% 40.94/41.12  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.94/41.12  cut (((op (e4) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H158].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e4) (e1)) = (op (e1) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H158.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H11f.
% 40.94/41.12  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.94/41.12  cut (((e0) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H159].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e4) (e1)) = (op (e4) (e1)))); [ zenon_intro zenon_H37 | zenon_intro zenon_H38 ].
% 40.94/41.12  cut (((op (e4) (e1)) = (op (e4) (e1))) = ((e0) = (op (e4) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H159.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H37.
% 40.94/41.12  cut (((op (e4) (e1)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 40.94/41.12  cut (((op (e4) (e1)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 40.94/41.12  congruence.
% 40.94/41.12  exact (zenon_H15a zenon_H156).
% 40.94/41.12  apply zenon_H38. apply refl_equal.
% 40.94/41.12  apply zenon_H38. apply refl_equal.
% 40.94/41.12  apply (zenon_L169_); trivial.
% 40.94/41.12  apply zenon_H38. apply refl_equal.
% 40.94/41.12  apply zenon_H38. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L218_ *)
% 40.94/41.12  assert (zenon_L219_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> ((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((e0) = (e1))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1))) -> (~((op (e1) (e1)) = (e0))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H15b zenon_H14b zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_Hf1 zenon_He0 zenon_H91 zenon_H8e zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hd3 zenon_Hc8 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hbb zenon_Hc2 zenon_H9b zenon_H99 zenon_H9f zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H41 zenon_H42 zenon_H49 zenon_H51 zenon_H50 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H3b zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_Hee zenon_Hf6 zenon_H109 zenon_H103 zenon_H12d zenon_H129 zenon_H10b zenon_H111 zenon_H116 zenon_H115 zenon_H112 zenon_H117 zenon_H14a zenon_H149 zenon_H140 zenon_H136 zenon_H13b zenon_H15c zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 40.94/41.12  apply (zenon_L215_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 40.94/41.12  exact (zenon_H15c zenon_H15f).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 40.94/41.12  apply (zenon_L216_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 40.94/41.12  apply (zenon_L217_); trivial.
% 40.94/41.12  apply (zenon_L218_); trivial.
% 40.94/41.12  (* end of lemma zenon_L219_ *)
% 40.94/41.12  assert (zenon_L220_ : (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e0)) -> ((op (e0) (e3)) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H161 zenon_H42 zenon_H9 zenon_H162.
% 40.94/41.12  cut (((op (unit) (e0)) = (e0)) = ((op (e0) (e0)) = (op (e0) (e3)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H161.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H42.
% 40.94/41.12  cut (((e0) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 40.94/41.12  cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e0)) = (op (e0) (e0)))); [ zenon_intro zenon_H46 | zenon_intro zenon_H47 ].
% 40.94/41.12  cut (((op (e0) (e0)) = (op (e0) (e0))) = ((op (unit) (e0)) = (op (e0) (e0)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H45.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H46.
% 40.94/41.12  cut (((op (e0) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 40.94/41.12  cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L14_); trivial.
% 40.94/41.12  apply zenon_H47. apply refl_equal.
% 40.94/41.12  apply zenon_H47. apply refl_equal.
% 40.94/41.12  apply zenon_H163. apply sym_equal. exact zenon_H162.
% 40.94/41.12  (* end of lemma zenon_L220_ *)
% 40.94/41.12  assert (zenon_L221_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H162 zenon_H42 zenon_H161 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L220_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L17_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L221_ *)
% 40.94/41.12  assert (zenon_L222_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H162 zenon_H42 zenon_H161 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L220_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L222_ *)
% 40.94/41.12  assert (zenon_L223_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_H87 zenon_H83 zenon_H5f zenon_H81 zenon_H7b zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H77 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H162 zenon_H42 zenon_H161 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L221_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L41_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L222_); trivial.
% 40.94/41.12  (* end of lemma zenon_L223_ *)
% 40.94/41.12  assert (zenon_L224_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H162 zenon_H42 zenon_H161 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_He1 zenon_H91 zenon_He0.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.12  apply (zenon_L223_); trivial.
% 40.94/41.12  apply (zenon_L110_); trivial.
% 40.94/41.12  (* end of lemma zenon_L224_ *)
% 40.94/41.12  assert (zenon_L225_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e3)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H68 zenon_H73 zenon_H8d zenon_H5f zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L101_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L104_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L106_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L32_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L225_ *)
% 40.94/41.12  assert (zenon_L226_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e3)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hf0 zenon_Hba zenon_H9f zenon_H8e zenon_He0 zenon_H91 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H161 zenon_H42 zenon_H162 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.94/41.12  apply (zenon_L224_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L221_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L41_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  apply (zenon_L116_); trivial.
% 40.94/41.12  apply (zenon_L222_); trivial.
% 40.94/41.12  apply (zenon_L99_); trivial.
% 40.94/41.12  apply (zenon_L225_); trivial.
% 40.94/41.12  (* end of lemma zenon_L226_ *)
% 40.94/41.12  assert (zenon_L227_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e3)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hf0 zenon_Hf2 zenon_H9f zenon_H8e zenon_He0 zenon_H91 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H161 zenon_H42 zenon_H162 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 40.94/41.12  apply (zenon_L224_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L221_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L41_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  apply (zenon_L133_); trivial.
% 40.94/41.12  apply (zenon_L222_); trivial.
% 40.94/41.12  apply (zenon_L99_); trivial.
% 40.94/41.12  apply (zenon_L225_); trivial.
% 40.94/41.12  (* end of lemma zenon_L227_ *)
% 40.94/41.12  assert (zenon_L228_ : (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hf6 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H162 zenon_H42 zenon_H161 zenon_He0 zenon_H8e zenon_H9f zenon_Hf0 zenon_Hf7 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H17 zenon_H2c zenon_H2d zenon_Hd9 zenon_Hee zenon_H3b zenon_Hb6 zenon_Hb9 zenon_H22 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.94/41.12  apply (zenon_L226_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.94/41.12  apply (zenon_L227_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.94/41.12  exact (zenon_Hf7 zenon_Hfb).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.94/41.12  apply (zenon_L132_); trivial.
% 40.94/41.12  apply (zenon_L123_); trivial.
% 40.94/41.12  (* end of lemma zenon_L228_ *)
% 40.94/41.12  assert (zenon_L229_ : ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e3)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_H9f zenon_H8e zenon_He0 zenon_H91 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H161 zenon_H42 zenon_H162 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_Hb9 zenon_Hb6 zenon_Hf6.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 40.94/41.12  apply (zenon_L228_); trivial.
% 40.94/41.12  apply (zenon_L139_); trivial.
% 40.94/41.12  (* end of lemma zenon_L229_ *)
% 40.94/41.12  assert (zenon_L230_ : ((~((op (e1) (e1)) = (e0)))\/((op (e1) (e0)) = (e1))) -> ((op (e0) (e3)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e1))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> ((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H164 zenon_H162 zenon_H161 zenon_H13b zenon_H136 zenon_H140 zenon_H149 zenon_H14a zenon_H117 zenon_H112 zenon_H115 zenon_H116 zenon_H111 zenon_H10b zenon_H11f zenon_H129 zenon_H12d zenon_H103 zenon_H109 zenon_Hf6 zenon_Hee zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H42 zenon_H41 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H9f zenon_H99 zenon_H9b zenon_Hc2 zenon_Hbb zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_Hc8 zenon_Hd3 zenon_Hd4 zenon_Hcc zenon_Hd9 zenon_H8e zenon_H91 zenon_He0 zenon_Hf1 zenon_Hf0 zenon_Hff zenon_Hfe zenon_Hfc zenon_H101 zenon_H14b zenon_H14d zenon_H152 zenon_H157 zenon_H15b.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H164); [ zenon_intro zenon_H15c | zenon_intro zenon_H17 ].
% 40.94/41.12  apply (zenon_L219_); trivial.
% 40.94/41.12  apply (zenon_L229_); trivial.
% 40.94/41.12  (* end of lemma zenon_L230_ *)
% 40.94/41.12  assert (zenon_L231_ : (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e0)) -> ((op (e0) (e4)) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H165 zenon_H42 zenon_H9 zenon_H166.
% 40.94/41.12  cut (((op (unit) (e0)) = (e0)) = ((op (e0) (e0)) = (op (e0) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H165.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H42.
% 40.94/41.12  cut (((e0) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H167].
% 40.94/41.12  cut (((op (unit) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e0)) = (op (e0) (e0)))); [ zenon_intro zenon_H46 | zenon_intro zenon_H47 ].
% 40.94/41.12  cut (((op (e0) (e0)) = (op (e0) (e0))) = ((op (unit) (e0)) = (op (e0) (e0)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H45.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H46.
% 40.94/41.12  cut (((op (e0) (e0)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 40.94/41.12  cut (((op (e0) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L14_); trivial.
% 40.94/41.12  apply zenon_H47. apply refl_equal.
% 40.94/41.12  apply zenon_H47. apply refl_equal.
% 40.94/41.12  apply zenon_H167. apply sym_equal. exact zenon_H166.
% 40.94/41.12  (* end of lemma zenon_L231_ *)
% 40.94/41.12  assert (zenon_L232_ : (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((unit) = (e1)) -> ((op (e0) (e4)) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H168 zenon_H50 zenon_H14 zenon_H166.
% 40.94/41.12  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e1)) = (op (e0) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H168.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H50.
% 40.94/41.12  cut (((e0) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H167].
% 40.94/41.12  cut (((op (e0) (unit)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (e0) (unit)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H137.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L182_); trivial.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H167. apply sym_equal. exact zenon_H166.
% 40.94/41.12  (* end of lemma zenon_L232_ *)
% 40.94/41.12  assert (zenon_L233_ : (~((op (e0) (e3)) = (op (e0) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((unit) = (e3)) -> ((op (e0) (e4)) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H169 zenon_H50 zenon_H2a zenon_H166.
% 40.94/41.12  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e3)) = (op (e0) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H169.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H50.
% 40.94/41.12  cut (((e0) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H167].
% 40.94/41.12  cut (((op (e0) (unit)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (unit)) = (op (e0) (e3)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H55.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H52.
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L18_); trivial.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  apply zenon_H167. apply sym_equal. exact zenon_H166.
% 40.94/41.12  (* end of lemma zenon_L233_ *)
% 40.94/41.12  assert (zenon_L234_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (e4)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H42 zenon_H165 zenon_H168 zenon_H22 zenon_H20 zenon_H1f zenon_H166 zenon_H50 zenon_H169 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L231_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L232_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L233_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L234_ *)
% 40.94/41.12  assert (zenon_L235_ : ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e4)) = (e0))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H149 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H57 zenon_H58 zenon_Hba zenon_Hd3 zenon_H140 zenon_Hc3 zenon_H34 zenon_He9 zenon_H13e zenon_H3b zenon_H16 zenon_H32 zenon_Hd4 zenon_He8 zenon_H99 zenon_He6 zenon_Hed.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H149); [ zenon_intro zenon_H13f | zenon_intro zenon_Hcd ].
% 40.94/41.12  apply (zenon_L208_); trivial.
% 40.94/41.12  apply (zenon_L81_); trivial.
% 40.94/41.12  (* end of lemma zenon_L235_ *)
% 40.94/41.12  assert (zenon_L236_ : (((op (e0) (e0)) = (e0))\/(((op (e0) (e1)) = (e0))\/(((op (e0) (e2)) = (e0))\/(((op (e0) (e3)) = (e0))\/((op (e0) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (e0))) -> ((op (e4) (e2)) = (e4)) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((e0) = (e1))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (((op (e1) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e1) (e2)) = (e1))\/(((op (e1) (e3)) = (e1))\/((op (e1) (e4)) = (e1)))))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((~((op (e1) (e1)) = (e0)))\/((op (e1) (e0)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H16a zenon_H16b zenon_Hc9 zenon_He1 zenon_H89 zenon_H17 zenon_H15b zenon_H157 zenon_H152 zenon_H14d zenon_H14b zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_Hf0 zenon_Hf1 zenon_He0 zenon_H91 zenon_H8e zenon_Hd9 zenon_Hcc zenon_Hd4 zenon_Hd3 zenon_Hc8 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hbb zenon_Hc2 zenon_H9b zenon_H99 zenon_H9f zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H41 zenon_H49 zenon_H51 zenon_Hb zenon_Hc zenon_H18 zenon_H2d zenon_H2c zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_Hee zenon_Hf6 zenon_H109 zenon_H103 zenon_H12d zenon_H129 zenon_H11f zenon_H10b zenon_H111 zenon_H116 zenon_H115 zenon_H112 zenon_H117 zenon_H14a zenon_H149 zenon_H140 zenon_H136 zenon_H13b zenon_H161 zenon_H164 zenon_H3b zenon_H42 zenon_H165 zenon_H168 zenon_H22 zenon_H20 zenon_H1f zenon_H50 zenon_H169 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H16d | zenon_intro zenon_H16c ].
% 40.94/41.12  exact (zenon_H16b zenon_H16d).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H43 | zenon_intro zenon_H16e ].
% 40.94/41.12  apply (zenon_L100_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16e); [ zenon_intro zenon_H10c | zenon_intro zenon_H16f ].
% 40.94/41.12  apply (zenon_L204_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16f); [ zenon_intro zenon_H162 | zenon_intro zenon_H166 ].
% 40.94/41.12  apply (zenon_L230_); trivial.
% 40.94/41.12  apply (zenon_L234_); trivial.
% 40.94/41.12  (* end of lemma zenon_L236_ *)
% 40.94/41.12  assert (zenon_L237_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H7c zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L35_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L49_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L84_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L102_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L237_ *)
% 40.94/41.12  assert (zenon_L238_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H88 zenon_H68 zenon_H1f zenon_H22 zenon_H57 zenon_H58 zenon_H59 zenon_H73 zenon_H9f zenon_H61 zenon_H20 zenon_H77 zenon_H8e zenon_H89 zenon_H3b zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.94/41.12  apply (zenon_L27_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.94/41.12  apply (zenon_L51_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.94/41.12  apply (zenon_L85_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.94/41.12  exact (zenon_H89 zenon_H8d).
% 40.94/41.12  apply (zenon_L237_); trivial.
% 40.94/41.12  (* end of lemma zenon_L238_ *)
% 40.94/41.12  assert (zenon_L239_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H7c zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L35_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L49_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L84_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L102_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L239_ *)
% 40.94/41.12  assert (zenon_L240_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (e1)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H50 zenon_H51 zenon_H49 zenon_H68 zenon_He1 zenon_H88 zenon_H41 zenon_H42 zenon_H43 zenon_H73 zenon_Hbb zenon_H61 zenon_Hc3 zenon_Hd9 zenon_H8e zenon_H83 zenon_H9f zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_Hb1 zenon_Hda zenon_Hb6 zenon_Hb9 zenon_H77 zenon_H34 zenon_H16 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_H89 zenon_H3b zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L20_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L238_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 40.94/41.12  apply (zenon_L45_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 40.94/41.12  apply (zenon_L82_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 40.94/41.12  apply (zenon_L92_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 40.94/41.12  exact (zenon_H89 zenon_H8d).
% 40.94/41.12  apply (zenon_L239_); trivial.
% 40.94/41.12  (* end of lemma zenon_L240_ *)
% 40.94/41.12  assert (zenon_L241_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H162 zenon_H42 zenon_H161 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L221_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L238_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L222_); trivial.
% 40.94/41.12  (* end of lemma zenon_L241_ *)
% 40.94/41.12  assert (zenon_L242_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H166 zenon_H42 zenon_H165 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L231_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L17_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L242_ *)
% 40.94/41.12  assert (zenon_L243_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H166 zenon_H42 zenon_H165 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L231_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L243_ *)
% 40.94/41.12  assert (zenon_L244_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H166 zenon_H42 zenon_H165 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L242_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L112_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L243_); trivial.
% 40.94/41.12  (* end of lemma zenon_L244_ *)
% 40.94/41.12  assert (zenon_L245_ : (~((op (e0) (e0)) = (e0))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e0)) = (e0))\/(((op (e0) (e1)) = (e0))\/(((op (e0) (e2)) = (e0))\/(((op (e0) (e3)) = (e0))\/((op (e0) (e4)) = (e0)))))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H16b zenon_He0 zenon_H91 zenon_Hd9 zenon_Hd4 zenon_Hd3 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_H83 zenon_Hba zenon_Hbb zenon_Hc3 zenon_Hc2 zenon_He1 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H9f zenon_H9a zenon_H99 zenon_H9b zenon_H77 zenon_Hc8 zenon_H8e zenon_H89 zenon_Hcc zenon_H7b zenon_H88 zenon_H41 zenon_H42 zenon_H49 zenon_H51 zenon_H50 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_Hf0 zenon_H10b zenon_Hee zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H6e zenon_H87 zenon_H81 zenon_H161 zenon_H165 zenon_H16a.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H16d | zenon_intro zenon_H16c ].
% 40.94/41.12  exact (zenon_H16b zenon_H16d).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H43 | zenon_intro zenon_H16e ].
% 40.94/41.12  apply (zenon_L240_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16e); [ zenon_intro zenon_H10c | zenon_intro zenon_H16f ].
% 40.94/41.12  apply (zenon_L151_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H16f); [ zenon_intro zenon_H162 | zenon_intro zenon_H166 ].
% 40.94/41.12  apply (zenon_L241_); trivial.
% 40.94/41.12  apply (zenon_L244_); trivial.
% 40.94/41.12  apply (zenon_L99_); trivial.
% 40.94/41.12  (* end of lemma zenon_L245_ *)
% 40.94/41.12  assert (zenon_L246_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H32 zenon_Hc8 zenon_H9a zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L70_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L71_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L84_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L72_); trivial.
% 40.94/41.12  apply (zenon_L107_); trivial.
% 40.94/41.12  (* end of lemma zenon_L246_ *)
% 40.94/41.12  assert (zenon_L247_ : ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (((op (e4) (e4)) = (e0))\/(((op (e4) (e4)) = (e1))\/(((op (e4) (e4)) = (e2))\/(((op (e4) (e4)) = (e3))\/((op (e4) (e4)) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e2)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H14a zenon_H9b zenon_Hc8 zenon_H149 zenon_Hcc zenon_Hb1 zenon_H91 zenon_H57 zenon_H58 zenon_Hba zenon_Hd3 zenon_H140 zenon_H34 zenon_He9 zenon_H3b zenon_H16 zenon_H32 zenon_Hd4 zenon_He8 zenon_H99 zenon_He6 zenon_Hed zenon_H77 zenon_H22 zenon_H20 zenon_H1f zenon_H9f zenon_H76 zenon_H5f zenon_H8e zenon_Hf1.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 40.94/41.12  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 40.94/41.12  apply (zenon_L235_); trivial.
% 40.94/41.12  apply (zenon_L117_); trivial.
% 40.94/41.12  apply (zenon_L85_); trivial.
% 40.94/41.12  (* end of lemma zenon_L247_ *)
% 40.94/41.12  assert (zenon_L248_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H18 zenon_H17 zenon_H22 zenon_H20 zenon_H1f zenon_H111 zenon_H11b zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L179_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L183_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L248_ *)
% 40.94/41.12  assert (zenon_L249_ : ((op (e0) (unit)) = (e0)) -> ((unit) = (e1)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H50 zenon_H14 zenon_H16d zenon_H41.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (e0) (e0)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H41.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H170].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e1)) = (op (e0) (e0)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H170.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H50.
% 40.94/41.12  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 40.94/41.12  cut (((op (e0) (unit)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (e0) (unit)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H137.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L182_); trivial.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H171. apply sym_equal. exact zenon_H16d.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L249_ *)
% 40.94/41.12  assert (zenon_L250_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e1)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H42 zenon_H41 zenon_H16d zenon_H22 zenon_H20 zenon_H1f zenon_H51 zenon_H43 zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L15_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L249_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L19_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L250_ *)
% 40.94/41.12  assert (zenon_L251_ : ((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0))))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H172.
% 40.94/41.12  apply (zenon_and_s _ _ zenon_H172). zenon_intro zenon_H47. zenon_intro zenon_H173.
% 40.94/41.12  apply zenon_H47. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L251_ *)
% 40.94/41.12  assert (zenon_L252_ : (~((op (e0) (e1)) = (op (unit) (e1)))) -> ((unit) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H174 zenon_H9.
% 40.94/41.12  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.12  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.94/41.12  congruence.
% 40.94/41.12  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.94/41.12  apply zenon_H12. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L252_ *)
% 40.94/41.12  assert (zenon_L253_ : (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e0)) -> ((op (e0) (e2)) = (e1)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H136 zenon_H16 zenon_H9 zenon_H175.
% 40.94/41.12  cut (((op (unit) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e0) (e2)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H136.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H16.
% 40.94/41.12  cut (((e1) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 40.94/41.12  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (unit) (e1)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H177.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L252_); trivial.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H176. apply sym_equal. exact zenon_H175.
% 40.94/41.12  (* end of lemma zenon_L253_ *)
% 40.94/41.12  assert (zenon_L254_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e2)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H175 zenon_H136 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L253_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L17_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L254_ *)
% 40.94/41.12  assert (zenon_L255_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e2)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H175 zenon_H136 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L253_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L255_ *)
% 40.94/41.12  assert (zenon_L256_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e2)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H175 zenon_H136 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L254_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L112_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L255_); trivial.
% 40.94/41.12  (* end of lemma zenon_L256_ *)
% 40.94/41.12  assert (zenon_L257_ : (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e0)) -> ((op (e0) (e3)) = (e1)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H51 zenon_H16 zenon_H9 zenon_H178.
% 40.94/41.12  cut (((op (unit) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e0) (e3)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H51.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H16.
% 40.94/41.12  cut (((e1) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 40.94/41.12  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (unit) (e1)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H177.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L252_); trivial.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H179. apply sym_equal. exact zenon_H178.
% 40.94/41.12  (* end of lemma zenon_L257_ *)
% 40.94/41.12  assert (zenon_L258_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H178 zenon_H51 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L257_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L17_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L258_ *)
% 40.94/41.12  assert (zenon_L259_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H178 zenon_H51 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L257_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L259_ *)
% 40.94/41.12  assert (zenon_L260_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H178 zenon_H51 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L258_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L112_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L259_); trivial.
% 40.94/41.12  (* end of lemma zenon_L260_ *)
% 40.94/41.12  assert (zenon_L261_ : (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e0)) -> ((op (e0) (e4)) = (e1)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H168 zenon_H16 zenon_H9 zenon_H17a.
% 40.94/41.12  cut (((op (unit) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e0) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H168.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H16.
% 40.94/41.12  cut (((e1) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 40.94/41.12  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (unit) (e1)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H177.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H138.
% 40.94/41.12  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.12  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L252_); trivial.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H139. apply refl_equal.
% 40.94/41.12  apply zenon_H17b. apply sym_equal. exact zenon_H17a.
% 40.94/41.12  (* end of lemma zenon_L261_ *)
% 40.94/41.12  assert (zenon_L262_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H17a zenon_H168 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L261_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L17_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L262_ *)
% 40.94/41.12  assert (zenon_L263_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H17a zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L261_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L6_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L10_); trivial.
% 40.94/41.12  apply (zenon_L44_); trivial.
% 40.94/41.12  (* end of lemma zenon_L263_ *)
% 40.94/41.12  assert (zenon_L264_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H17a zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.12  apply (zenon_L12_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.12  apply (zenon_L262_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.12  apply (zenon_L112_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.12  exact (zenon_He1 zenon_He5).
% 40.94/41.12  apply (zenon_L263_); trivial.
% 40.94/41.12  (* end of lemma zenon_L264_ *)
% 40.94/41.12  assert (zenon_L265_ : ((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1))))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e0)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H17c zenon_H17d zenon_H17e zenon_H136 zenon_H51 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.12  apply (zenon_and_s _ _ zenon_H17c). zenon_intro zenon_H180. zenon_intro zenon_H17f.
% 40.94/41.12  apply (zenon_and_s _ _ zenon_H17f). zenon_intro zenon_H182. zenon_intro zenon_H181.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H17d); [ zenon_intro zenon_H184 | zenon_intro zenon_H183 ].
% 40.94/41.12  exact (zenon_H17e zenon_H184).
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H186 | zenon_intro zenon_H185 ].
% 40.94/41.12  cut (((op (e1) (e0)) = (e1)) = ((op (op (e0) (e1)) (e0)) = (e1))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H181.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H17.
% 40.94/41.12  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.12  cut (((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H187].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [ zenon_intro zenon_H188 | zenon_intro zenon_H189 ].
% 40.94/41.12  cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0))) = ((op (e1) (e0)) = (op (op (e0) (e1)) (e0)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H187.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H188.
% 40.94/41.12  cut (((op (op (e0) (e1)) (e0)) = (op (op (e0) (e1)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H189].
% 40.94/41.12  cut (((op (op (e0) (e1)) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H18a].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.12  cut (((op (e0) (e1)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 40.94/41.12  congruence.
% 40.94/41.12  exact (zenon_H18b zenon_H186).
% 40.94/41.12  apply zenon_H3f. apply refl_equal.
% 40.94/41.12  apply zenon_H189. apply refl_equal.
% 40.94/41.12  apply zenon_H189. apply refl_equal.
% 40.94/41.12  apply zenon_H12. apply refl_equal.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H175 | zenon_intro zenon_H18c ].
% 40.94/41.12  apply (zenon_L256_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H18c); [ zenon_intro zenon_H178 | zenon_intro zenon_H17a ].
% 40.94/41.12  apply (zenon_L260_); trivial.
% 40.94/41.12  apply (zenon_L264_); trivial.
% 40.94/41.12  (* end of lemma zenon_L265_ *)
% 40.94/41.12  assert (zenon_L266_ : ((e3) = (op (e2) (e4))) -> ((op (e2) (e4)) = (e1)) -> (~((e1) = (e3))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H22 zenon_H18d zenon_H18e.
% 40.94/41.12  elim (classic ((e3) = (e3))); [ zenon_intro zenon_H18f | zenon_intro zenon_H1e ].
% 40.94/41.12  cut (((e3) = (e3)) = ((e1) = (e3))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H18e.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H18f.
% 40.94/41.12  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.12  cut (((e3) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H190].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((e3) = (op (e2) (e4))) = ((e3) = (e1))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H190.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H22.
% 40.94/41.12  cut (((op (e2) (e4)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 40.94/41.12  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.12  congruence.
% 40.94/41.12  apply zenon_H1e. apply refl_equal.
% 40.94/41.12  exact (zenon_H191 zenon_H18d).
% 40.94/41.12  apply zenon_H1e. apply refl_equal.
% 40.94/41.12  apply zenon_H1e. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L266_ *)
% 40.94/41.12  assert (zenon_L267_ : (~((op (e0) (e3)) = (op (unit) (e3)))) -> ((unit) = (e0)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H192 zenon_H9.
% 40.94/41.12  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.12  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.94/41.12  congruence.
% 40.94/41.12  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.94/41.12  apply zenon_H1e. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L267_ *)
% 40.94/41.12  assert (zenon_L268_ : ((op (unit) (e3)) = (e3)) -> ((unit) = (e0)) -> ((op (e0) (e1)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H20 zenon_H9 zenon_H193 zenon_H51.
% 40.94/41.12  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (e1)) = (op (e0) (e3)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H51.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H52.
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H54].
% 40.94/41.12  congruence.
% 40.94/41.12  cut (((op (unit) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e0) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H54.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H20.
% 40.94/41.12  cut (((e3) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H194].
% 40.94/41.12  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (unit) (e3)) = (op (e0) (e3)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H195.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H52.
% 40.94/41.12  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.12  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L267_); trivial.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  apply zenon_H194. apply sym_equal. exact zenon_H193.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  apply zenon_H53. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L268_ *)
% 40.94/41.12  assert (zenon_L269_ : (~((op (e3) (e1)) = (op (unit) (e1)))) -> ((unit) = (e3)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H196 zenon_H2a.
% 40.94/41.12  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.12  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.94/41.12  congruence.
% 40.94/41.12  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.94/41.12  apply zenon_H12. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L269_ *)
% 40.94/41.12  assert (zenon_L270_ : (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e3)) -> ((op (e3) (e4)) = (e1)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H81 zenon_H16 zenon_H2a zenon_H197.
% 40.94/41.12  cut (((op (unit) (e1)) = (e1)) = ((op (e3) (e1)) = (op (e3) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H81.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H16.
% 40.94/41.12  cut (((e1) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 40.94/41.12  cut (((op (unit) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (unit) (e1)) = (op (e3) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H199.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H62.
% 40.94/41.12  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 40.94/41.12  cut (((op (e3) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H196].
% 40.94/41.12  congruence.
% 40.94/41.12  apply (zenon_L269_); trivial.
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  apply zenon_H63. apply refl_equal.
% 40.94/41.12  apply zenon_H198. apply sym_equal. exact zenon_H197.
% 40.94/41.12  (* end of lemma zenon_L270_ *)
% 40.94/41.12  assert (zenon_L271_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e1)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H51 zenon_H193 zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H81 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.12  apply (zenon_L268_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.12  apply (zenon_L249_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.12  apply (zenon_L8_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.12  apply (zenon_L270_); trivial.
% 40.94/41.12  apply (zenon_L11_); trivial.
% 40.94/41.12  (* end of lemma zenon_L271_ *)
% 40.94/41.12  assert (zenon_L272_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e1)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H19a zenon_Hc zenon_H91 zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H34 zenon_H16 zenon_H32 zenon_H81 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H193 zenon_H51 zenon_H3b zenon_H146.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.12  apply (zenon_L264_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.12  apply (zenon_L167_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.12  apply (zenon_L266_); trivial.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.12  apply (zenon_L271_); trivial.
% 40.94/41.12  exact (zenon_H146 zenon_H144).
% 40.94/41.12  (* end of lemma zenon_L272_ *)
% 40.94/41.12  assert (zenon_L273_ : (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (e2) (e1)) = (e3)) -> False).
% 40.94/41.12  do 0 intro. intros zenon_Hb9 zenon_H22 zenon_H19e.
% 40.94/41.12  cut (((e3) = (op (e2) (e4))) = ((op (e2) (e1)) = (op (e2) (e4)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_Hb9.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H22.
% 40.94/41.12  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 40.94/41.12  cut (((e3) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a0].
% 40.94/41.12  congruence.
% 40.94/41.12  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((e3) = (op (e2) (e1)))).
% 40.94/41.12  intro zenon_D_pnotp.
% 40.94/41.12  apply zenon_H1a0.
% 40.94/41.12  rewrite <- zenon_D_pnotp.
% 40.94/41.12  exact zenon_H70.
% 40.94/41.12  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.94/41.12  cut (((op (e2) (e1)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 40.94/41.12  congruence.
% 40.94/41.12  exact (zenon_H1a1 zenon_H19e).
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  apply zenon_H71. apply refl_equal.
% 40.94/41.12  apply zenon_H19f. apply refl_equal.
% 40.94/41.12  (* end of lemma zenon_L273_ *)
% 40.94/41.12  assert (zenon_L274_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.12  do 0 intro. intros zenon_H3b zenon_H61 zenon_H60 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.12  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L46_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L24_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L50_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L30_); trivial.
% 40.94/41.13  apply (zenon_L11_); trivial.
% 40.94/41.13  (* end of lemma zenon_L274_ *)
% 40.94/41.13  assert (zenon_L275_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (e4)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H11f zenon_H1a2 zenon_H34 zenon_H115.
% 40.94/41.13  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((op (e1) (e1)) = (op (e1) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H115.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1a3.
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e1) (e4)) = (op (e1) (e1)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1a5.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H11f.
% 40.94/41.13  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.94/41.13  cut (((e0) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((e0) = (op (e1) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1a6.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1a3.
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  cut (((op (e1) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1a7].
% 40.94/41.13  congruence.
% 40.94/41.13  exact (zenon_H1a7 zenon_H1a2).
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply (zenon_L169_); trivial.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L275_ *)
% 40.94/41.13  assert (zenon_L276_ : ((e3) = (op (e2) (e4))) -> ((op (e2) (e4)) = (e0)) -> (~((e0) = (e3))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H22 zenon_H1a8 zenon_H1a9.
% 40.94/41.13  elim (classic ((e3) = (e3))); [ zenon_intro zenon_H18f | zenon_intro zenon_H1e ].
% 40.94/41.13  cut (((e3) = (e3)) = ((e0) = (e3))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1a9.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H18f.
% 40.94/41.13  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.13  cut (((e3) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((e3) = (op (e2) (e4))) = ((e3) = (e0))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1aa.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H22.
% 40.94/41.13  cut (((op (e2) (e4)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 40.94/41.13  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.13  congruence.
% 40.94/41.13  apply zenon_H1e. apply refl_equal.
% 40.94/41.13  exact (zenon_H1ab zenon_H1a8).
% 40.94/41.13  apply zenon_H1e. apply refl_equal.
% 40.94/41.13  apply zenon_H1e. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L276_ *)
% 40.94/41.13  assert (zenon_L277_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Ha2 zenon_Hc zenon_Ha1 zenon_H18 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L52_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L6_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L8_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L10_); trivial.
% 40.94/41.13  apply (zenon_L11_); trivial.
% 40.94/41.13  (* end of lemma zenon_L277_ *)
% 40.94/41.13  assert (zenon_L278_ : ((op (e1) (e4)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Hab zenon_H4a zenon_H116.
% 40.94/41.13  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((op (e1) (e3)) = (op (e1) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H116.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1a3.
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1ac].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (e4)) = (op (e1) (e3)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1ac.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hab.
% 40.94/41.13  cut (((e2) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  congruence.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H4b. apply sym_equal. exact zenon_H4a.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L278_ *)
% 40.94/41.13  assert (zenon_L279_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hb7 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L62_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L24_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L42_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L26_); trivial.
% 40.94/41.13  apply (zenon_L11_); trivial.
% 40.94/41.13  (* end of lemma zenon_L279_ *)
% 40.94/41.13  assert (zenon_L280_ : (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((op (e3) (e4)) = (e2)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1ad zenon_Hab zenon_Hbf.
% 40.94/41.13  cut (((op (e1) (e4)) = (e2)) = ((op (e1) (e4)) = (op (e3) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1ad.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hab.
% 40.94/41.13  cut (((e2) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  congruence.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_Hc0. apply sym_equal. exact zenon_Hbf.
% 40.94/41.13  (* end of lemma zenon_L280_ *)
% 40.94/41.13  assert (zenon_L281_ : (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (e1) (e4)) = (e3)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1ae zenon_H22 zenon_H1af.
% 40.94/41.13  cut (((e3) = (op (e2) (e4))) = ((op (e1) (e4)) = (op (e2) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1ae.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H22.
% 40.94/41.13  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 40.94/41.13  cut (((e3) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b0].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((e3) = (op (e1) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1b0.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1a3.
% 40.94/41.13  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.13  cut (((op (e1) (e4)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1b1].
% 40.94/41.13  congruence.
% 40.94/41.13  exact (zenon_H1b1 zenon_H1af).
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H1a4. apply refl_equal.
% 40.94/41.13  apply zenon_H19f. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L281_ *)
% 40.94/41.13  assert (zenon_L282_ : (~((op (e0) (e4)) = (op (unit) (e4)))) -> ((unit) = (e0)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1b2 zenon_H9.
% 40.94/41.13  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.13  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 40.94/41.13  congruence.
% 40.94/41.13  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 40.94/41.13  apply zenon_H97. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L282_ *)
% 40.94/41.13  assert (zenon_L283_ : (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> ((op (e1) (e4)) = (e4)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1b3 zenon_Hd3 zenon_H9 zenon_H1b4.
% 40.94/41.13  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e1) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1b3.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hd3.
% 40.94/41.13  cut (((e4) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b5].
% 40.94/41.13  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1b6.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1b7.
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L282_); trivial.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply zenon_H1b5. apply sym_equal. exact zenon_H1b4.
% 40.94/41.13  (* end of lemma zenon_L283_ *)
% 40.94/41.13  assert (zenon_L284_ : (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_Hbf zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H9.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1b9); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1ba ].
% 40.94/41.13  apply (zenon_L275_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1ba); [ zenon_intro zenon_H113 | zenon_intro zenon_H1bb ].
% 40.94/41.13  apply (zenon_L164_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1bb); [ zenon_intro zenon_Hab | zenon_intro zenon_H1bc ].
% 40.94/41.13  apply (zenon_L280_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1bc); [ zenon_intro zenon_H1af | zenon_intro zenon_H1b4 ].
% 40.94/41.13  apply (zenon_L281_); trivial.
% 40.94/41.13  apply (zenon_L283_); trivial.
% 40.94/41.13  (* end of lemma zenon_L284_ *)
% 40.94/41.13  assert (zenon_L285_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hbf zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L284_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L17_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L8_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L67_); trivial.
% 40.94/41.13  apply (zenon_L11_); trivial.
% 40.94/41.13  (* end of lemma zenon_L285_ *)
% 40.94/41.13  assert (zenon_L286_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_H57 zenon_H59 zenon_H58 zenon_H6e zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H81 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L22_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L29_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L8_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L270_); trivial.
% 40.94/41.13  apply (zenon_L11_); trivial.
% 40.94/41.13  (* end of lemma zenon_L286_ *)
% 40.94/41.13  assert (zenon_L287_ : (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e1)) -> ((op (e1) (e1)) = (e0)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H18 zenon_H42 zenon_H14 zenon_H15f.
% 40.94/41.13  cut (((op (unit) (e0)) = (e0)) = ((op (e1) (e0)) = (op (e1) (e1)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H18.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H42.
% 40.94/41.13  cut (((e0) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1bd].
% 40.94/41.13  cut (((op (unit) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 40.94/41.13  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (unit) (e0)) = (op (e1) (e0)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H13d.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H107.
% 40.94/41.13  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 40.94/41.13  cut (((op (e1) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L205_); trivial.
% 40.94/41.13  apply zenon_H108. apply refl_equal.
% 40.94/41.13  apply zenon_H108. apply refl_equal.
% 40.94/41.13  apply zenon_H1bd. apply sym_equal. exact zenon_H15f.
% 40.94/41.13  (* end of lemma zenon_L287_ *)
% 40.94/41.13  assert (zenon_L288_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_Hbf zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L284_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L287_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L84_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L102_); trivial.
% 40.94/41.13  apply (zenon_L44_); trivial.
% 40.94/41.13  (* end of lemma zenon_L288_ *)
% 40.94/41.13  assert (zenon_L289_ : (~((op (e4) (e3)) = (op (unit) (e3)))) -> ((unit) = (e4)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1be zenon_H33.
% 40.94/41.13  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.13  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 40.94/41.13  congruence.
% 40.94/41.13  apply zenon_H3a. apply sym_equal. exact zenon_H33.
% 40.94/41.13  apply zenon_H1e. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L289_ *)
% 40.94/41.13  assert (zenon_L290_ : ((op (unit) (e3)) = (e3)) -> ((unit) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H20 zenon_H33 zenon_H1bf zenon_Hb1.
% 40.94/41.13  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.13  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (e1)) = (op (e4) (e3)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_Hb1.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hb2.
% 40.94/41.13  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.13  cut (((op (e4) (e3)) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((op (unit) (e3)) = (e3)) = ((op (e4) (e3)) = (op (e4) (e1)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_Hb4.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H20.
% 40.94/41.13  cut (((e3) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 40.94/41.13  cut (((op (unit) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1c1].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.13  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (unit) (e3)) = (op (e4) (e3)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1c1.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hb2.
% 40.94/41.13  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.13  cut (((op (e4) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1be].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L289_); trivial.
% 40.94/41.13  apply zenon_Hb3. apply refl_equal.
% 40.94/41.13  apply zenon_Hb3. apply refl_equal.
% 40.94/41.13  apply zenon_H1c0. apply sym_equal. exact zenon_H1bf.
% 40.94/41.13  apply zenon_Hb3. apply refl_equal.
% 40.94/41.13  apply zenon_Hb3. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L290_ *)
% 40.94/41.13  assert (zenon_L291_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_Hc9 zenon_H99 zenon_H32 zenon_H22 zenon_H1f zenon_Hbf zenon_Hc zenon_H83 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L70_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L71_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L8_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L67_); trivial.
% 40.94/41.13  apply (zenon_L290_); trivial.
% 40.94/41.13  (* end of lemma zenon_L291_ *)
% 40.94/41.13  assert (zenon_L292_ : (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((unit) = (e3)) -> ((op (e3) (e4)) = (e0)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H7b zenon_H42 zenon_H2a zenon_H1c2.
% 40.94/41.13  cut (((op (unit) (e0)) = (e0)) = ((op (e3) (e0)) = (op (e3) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H7b.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H42.
% 40.94/41.13  cut (((e0) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 40.94/41.13  cut (((op (unit) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.94/41.13  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (unit) (e0)) = (op (e3) (e0)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H127.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H7f.
% 40.94/41.13  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.94/41.13  cut (((op (e3) (e0)) = (op (unit) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L171_); trivial.
% 40.94/41.13  apply zenon_H80. apply refl_equal.
% 40.94/41.13  apply zenon_H80. apply refl_equal.
% 40.94/41.13  apply zenon_H1c3. apply sym_equal. exact zenon_H1c2.
% 40.94/41.13  (* end of lemma zenon_L292_ *)
% 40.94/41.13  assert (zenon_L293_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e3)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hcd zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L74_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L75_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L76_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L292_); trivial.
% 40.94/41.13  apply (zenon_L290_); trivial.
% 40.94/41.13  (* end of lemma zenon_L293_ *)
% 40.94/41.13  assert (zenon_L294_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_Hbf zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.13  apply (zenon_L288_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.13  apply (zenon_L125_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.13  apply (zenon_L291_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.13  apply (zenon_L293_); trivial.
% 40.94/41.13  exact (zenon_Hda zenon_Hde).
% 40.94/41.13  (* end of lemma zenon_L294_ *)
% 40.94/41.13  assert (zenon_L295_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H81 zenon_H197 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_Hbf zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.13  apply (zenon_L12_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.13  apply (zenon_L285_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.13  apply (zenon_L286_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.13  exact (zenon_He1 zenon_He5).
% 40.94/41.13  apply (zenon_L294_); trivial.
% 40.94/41.13  (* end of lemma zenon_L295_ *)
% 40.94/41.13  assert (zenon_L296_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H116 zenon_H4a zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H197 zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.13  apply (zenon_L277_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.13  apply (zenon_L278_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.13  apply (zenon_L279_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.13  apply (zenon_L295_); trivial.
% 40.94/41.13  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.13  (* end of lemma zenon_L296_ *)
% 40.94/41.13  assert (zenon_L297_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H19a zenon_H168 zenon_Hba zenon_Hbb zenon_H18e zenon_Hc3 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H81 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H4a zenon_H116 zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.13  apply (zenon_L262_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.13  apply (zenon_L178_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.13  apply (zenon_L266_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.13  apply (zenon_L296_); trivial.
% 40.94/41.13  exact (zenon_H146 zenon_H144).
% 40.94/41.13  (* end of lemma zenon_L297_ *)
% 40.94/41.13  assert (zenon_L298_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H116 zenon_H4a zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H18e zenon_Hbb zenon_Hba zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.13  apply (zenon_L242_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.13  apply (zenon_L275_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.13  apply (zenon_L276_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.13  apply (zenon_L297_); trivial.
% 40.94/41.13  exact (zenon_H13e zenon_H142).
% 40.94/41.13  (* end of lemma zenon_L298_ *)
% 40.94/41.13  assert (zenon_L299_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H88 zenon_H87 zenon_H77 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hee zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H116 zenon_H4a zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H18e zenon_Hbb zenon_Hba zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.13  apply (zenon_L272_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.13  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.13  apply (zenon_L273_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.13  apply (zenon_L274_); trivial.
% 40.94/41.13  apply (zenon_L298_); trivial.
% 40.94/41.13  (* end of lemma zenon_L299_ *)
% 40.94/41.13  assert (zenon_L300_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_H113 zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H20 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L164_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L24_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L42_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L26_); trivial.
% 40.94/41.13  apply (zenon_L44_); trivial.
% 40.94/41.13  (* end of lemma zenon_L300_ *)
% 40.94/41.13  assert (zenon_L301_ : (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> ((op (e0) (e2)) = (e2)) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H1ce zenon_Hba zenon_H1cf.
% 40.94/41.13  cut (((op (e2) (e0)) = (e2)) = ((op (op (e0) (e2)) (e0)) = (e2))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1ce.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hba.
% 40.94/41.13  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.94/41.13  cut (((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1d0].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 40.94/41.13  cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0))) = ((op (e2) (e0)) = (op (op (e0) (e2)) (e0)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1d0.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1d1.
% 40.94/41.13  cut (((op (op (e0) (e2)) (e0)) = (op (op (e0) (e2)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1d2].
% 40.94/41.13  cut (((op (op (e0) (e2)) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.13  cut (((op (e0) (e2)) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 40.94/41.13  congruence.
% 40.94/41.13  exact (zenon_H1d4 zenon_H1cf).
% 40.94/41.13  apply zenon_H3f. apply refl_equal.
% 40.94/41.13  apply zenon_H1d2. apply refl_equal.
% 40.94/41.13  apply zenon_H1d2. apply refl_equal.
% 40.94/41.13  apply zenon_H7. apply refl_equal.
% 40.94/41.13  (* end of lemma zenon_L301_ *)
% 40.94/41.13  assert (zenon_L302_ : (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e1) (e0)) = (e1)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Ha1 zenon_Hd3 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H16 zenon_H3b zenon_H10b zenon_H17 zenon_H22 zenon_H1f zenon_H50 zenon_H91 zenon_Hc zenon_H92 zenon_H1d5 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1d5); [ zenon_intro zenon_H10c | zenon_intro zenon_H1d6 ].
% 40.94/41.13  apply (zenon_L149_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1d6); [ zenon_intro zenon_H175 | zenon_intro zenon_H1d7 ].
% 40.94/41.13  apply (zenon_L253_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1d7); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1d8 ].
% 40.94/41.13  apply (zenon_L301_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_H1da | zenon_intro zenon_H1d9 ].
% 40.94/41.13  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.13  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (e2)) = (op (e0) (e3)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_Hb.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H52.
% 40.94/41.13  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.13  cut (((op (e0) (e3)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((op (unit) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e0) (e2)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H10e.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H20.
% 40.94/41.13  cut (((e3) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 40.94/41.13  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.13  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (unit) (e3)) = (op (e0) (e3)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H195.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H52.
% 40.94/41.13  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.13  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L267_); trivial.
% 40.94/41.13  apply zenon_H53. apply refl_equal.
% 40.94/41.13  apply zenon_H53. apply refl_equal.
% 40.94/41.13  apply zenon_H1db. apply sym_equal. exact zenon_H1da.
% 40.94/41.13  apply zenon_H53. apply refl_equal.
% 40.94/41.13  apply zenon_H53. apply refl_equal.
% 40.94/41.13  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (e0) (e2)) = (op (e0) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_Ha1.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1b7.
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1dc].
% 40.94/41.13  congruence.
% 40.94/41.13  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e0) (e2)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1dc.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_Hd3.
% 40.94/41.13  cut (((e4) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1dd].
% 40.94/41.13  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.13  congruence.
% 40.94/41.13  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.13  intro zenon_D_pnotp.
% 40.94/41.13  apply zenon_H1b6.
% 40.94/41.13  rewrite <- zenon_D_pnotp.
% 40.94/41.13  exact zenon_H1b7.
% 40.94/41.13  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.13  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.13  congruence.
% 40.94/41.13  apply (zenon_L282_); trivial.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply zenon_H1dd. apply sym_equal. exact zenon_H1d9.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply zenon_H1b8. apply refl_equal.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L287_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L84_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L102_); trivial.
% 40.94/41.13  apply (zenon_L290_); trivial.
% 40.94/41.13  (* end of lemma zenon_L302_ *)
% 40.94/41.13  assert (zenon_L303_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e1) (e0)) = (e1)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_He0 zenon_H2c zenon_H2d zenon_H116 zenon_Hab zenon_H34 zenon_H32 zenon_H81 zenon_H197 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_Ha1 zenon_Hd3 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H16 zenon_H3b zenon_H10b zenon_H17 zenon_H22 zenon_H1f zenon_H50 zenon_H91 zenon_Hc zenon_H1d5 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.13  apply (zenon_L12_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.13  apply (zenon_L278_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.13  apply (zenon_L286_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.13  exact (zenon_He1 zenon_He5).
% 40.94/41.13  apply (zenon_L302_); trivial.
% 40.94/41.13  (* end of lemma zenon_L303_ *)
% 40.94/41.13  assert (zenon_L304_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_H9b zenon_H18 zenon_H17 zenon_H32 zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_Hd3 zenon_Ha5 zenon_He8.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L55_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L6_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L58_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L270_); trivial.
% 40.94/41.13  apply (zenon_L124_); trivial.
% 40.94/41.13  (* end of lemma zenon_L304_ *)
% 40.94/41.13  assert (zenon_L305_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e3)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hcd zenon_H99 zenon_H91 zenon_H197 zenon_H16 zenon_H81 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.13  apply (zenon_L74_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.13  apply (zenon_L75_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.13  apply (zenon_L76_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.13  apply (zenon_L270_); trivial.
% 40.94/41.13  apply (zenon_L290_); trivial.
% 40.94/41.13  (* end of lemma zenon_L305_ *)
% 40.94/41.13  assert (zenon_L306_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e1) = (op (e4) (e2))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Hd9 zenon_H42 zenon_H15f zenon_H1d5 zenon_H50 zenon_H10b zenon_H136 zenon_Hba zenon_H1ce zenon_Hb zenon_Ha1 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H34 zenon_Hab zenon_H116 zenon_H2d zenon_H2c zenon_He0 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.13  apply (zenon_L303_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.13  apply (zenon_L304_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.13  apply (zenon_L73_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.13  apply (zenon_L305_); trivial.
% 40.94/41.13  exact (zenon_Hda zenon_Hde).
% 40.94/41.13  (* end of lemma zenon_L306_ *)
% 40.94/41.13  assert (zenon_L307_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_Hc2 zenon_H197 zenon_H81 zenon_He0 zenon_H2d zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_Ha1 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H10b zenon_H50 zenon_H1d5 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.13  apply (zenon_L53_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.13  apply (zenon_L306_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.13  apply (zenon_L279_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.13  apply (zenon_L294_); trivial.
% 40.94/41.13  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.13  (* end of lemma zenon_L307_ *)
% 40.94/41.13  assert (zenon_L308_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.13  do 0 intro. intros zenon_H19a zenon_H168 zenon_H18e zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H1d5 zenon_H50 zenon_H10b zenon_H136 zenon_Hba zenon_H1ce zenon_Hb zenon_Ha1 zenon_He1 zenon_H57 zenon_H6e zenon_H116 zenon_H2d zenon_He0 zenon_H81 zenon_Hc2 zenon_H146.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.13  apply (zenon_L263_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.13  apply (zenon_L300_); trivial.
% 40.94/41.13  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L307_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L308_ *)
% 40.94/41.14  assert (zenon_L309_ : (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hbb zenon_H49 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H88 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hee zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_H81 zenon_He0 zenon_H2d zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_Ha1 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H10b zenon_H50 zenon_H1d5 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.14  apply (zenon_L272_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.14  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.14  apply (zenon_L273_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.14  apply (zenon_L274_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L299_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L112_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.14  apply (zenon_L243_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.14  apply (zenon_L275_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.14  apply (zenon_L276_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.14  apply (zenon_L308_); trivial.
% 40.94/41.14  exact (zenon_H13e zenon_H142).
% 40.94/41.14  (* end of lemma zenon_L309_ *)
% 40.94/41.14  assert (zenon_L310_ : (~((op (e3) (e4)) = (op (unit) (e4)))) -> ((unit) = (e3)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1de zenon_H2a.
% 40.94/41.14  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.14  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 40.94/41.14  congruence.
% 40.94/41.14  apply zenon_H2b. apply sym_equal. exact zenon_H2a.
% 40.94/41.14  apply zenon_H97. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L310_ *)
% 40.94/41.14  assert (zenon_L311_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e3)) -> ((op (e3) (e0)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hd3 zenon_H2a zenon_H1df zenon_H7b.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e3) (e0)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H7b.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1e2].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e3) (e4)) = (op (e3) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e2.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (unit) (e4)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e4.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L310_); trivial.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e3. apply sym_equal. exact zenon_H1df.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L311_ *)
% 40.94/41.14  assert (zenon_L312_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (e0)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H1e5 zenon_H99 zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H7b zenon_H1df zenon_Hd3 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e3) (e0)) = (op (e4) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e5.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Ha8.
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (e4) (unit)) = (e4)) = ((op (e4) (e0)) = (op (e3) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e6.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H99.
% 40.94/41.14  cut (((e4) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 40.94/41.14  cut (((op (e4) (unit)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e4) (e0)) = (op (e4) (e0)))); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha9 ].
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e4) (e0))) = ((op (e4) (unit)) = (op (e4) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_Ha7.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Ha8.
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 40.94/41.14  cut (((op (e4) (e0)) = (op (e4) (unit)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L54_); trivial.
% 40.94/41.14  apply zenon_Ha9. apply refl_equal.
% 40.94/41.14  apply zenon_Ha9. apply refl_equal.
% 40.94/41.14  apply zenon_H1e3. apply sym_equal. exact zenon_H1df.
% 40.94/41.14  apply zenon_Ha9. apply refl_equal.
% 40.94/41.14  apply zenon_Ha9. apply refl_equal.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L249_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L311_); trivial.
% 40.94/41.14  apply (zenon_L11_); trivial.
% 40.94/41.14  (* end of lemma zenon_L312_ *)
% 40.94/41.14  assert (zenon_L313_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e3)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hd3 zenon_H2a zenon_H1e7 zenon_H81.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e3) (e1)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H81.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1e8].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e3) (e4)) = (op (e3) (e1)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e8.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1e9].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (unit) (e4)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e4.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L310_); trivial.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e9. apply sym_equal. exact zenon_H1e7.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L313_ *)
% 40.94/41.14  assert (zenon_L314_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e3)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H57 zenon_H59 zenon_H58 zenon_H6e zenon_H22 zenon_H20 zenon_H1f zenon_H81 zenon_H1e7 zenon_Hd3 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L22_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L29_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L313_); trivial.
% 40.94/41.14  apply (zenon_L11_); trivial.
% 40.94/41.14  (* end of lemma zenon_L314_ *)
% 40.94/41.14  assert (zenon_L315_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_Hd3 zenon_H1e7 zenon_H81 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H3b zenon_H17a zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L262_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L314_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L263_); trivial.
% 40.94/41.14  (* end of lemma zenon_L315_ *)
% 40.94/41.14  assert (zenon_L316_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H112 zenon_H16 zenon_H115 zenon_H22 zenon_H1f zenon_H113 zenon_H2c zenon_H116 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L164_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L165_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L166_); trivial.
% 40.94/41.14  apply (zenon_L290_); trivial.
% 40.94/41.14  (* end of lemma zenon_L316_ *)
% 40.94/41.14  assert (zenon_L317_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_Ha2 zenon_Ha1 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L52_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L17_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L10_); trivial.
% 40.94/41.14  apply (zenon_L11_); trivial.
% 40.94/41.14  (* end of lemma zenon_L317_ *)
% 40.94/41.14  assert (zenon_L318_ : (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> ((op (e0) (e3)) = (e3)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1ea zenon_H60 zenon_H1eb.
% 40.94/41.14  cut (((op (e3) (e0)) = (e3)) = ((op (op (e0) (e3)) (e0)) = (e3))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1ea.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H60.
% 40.94/41.14  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.14  cut (((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1ec].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ee ].
% 40.94/41.14  cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0))) = ((op (e3) (e0)) = (op (op (e0) (e3)) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1ec.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1ed.
% 40.94/41.14  cut (((op (op (e0) (e3)) (e0)) = (op (op (e0) (e3)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1ee].
% 40.94/41.14  cut (((op (op (e0) (e3)) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1ef].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.14  cut (((op (e0) (e3)) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 40.94/41.14  congruence.
% 40.94/41.14  exact (zenon_H1f0 zenon_H1eb).
% 40.94/41.14  apply zenon_H3f. apply refl_equal.
% 40.94/41.14  apply zenon_H1ee. apply refl_equal.
% 40.94/41.14  apply zenon_H1ee. apply refl_equal.
% 40.94/41.14  apply zenon_H1e. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L318_ *)
% 40.94/41.14  assert (zenon_L319_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> ((op (e0) (e3)) = (e4)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hd3 zenon_H9 zenon_H1f1 zenon_H169.
% 40.94/41.14  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (e0) (e3)) = (op (e0) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H169.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1b7.
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e0) (e3)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1f2.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1b6.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1b7.
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L282_); trivial.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1f3. apply sym_equal. exact zenon_H1f1.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L319_ *)
% 40.94/41.14  assert (zenon_L320_ : (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1f4 zenon_H92 zenon_H91 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H18 zenon_H161 zenon_H42 zenon_H3b zenon_H16 zenon_H51 zenon_Hc zenon_Hb zenon_H60 zenon_H1ea zenon_Hd3 zenon_H9 zenon_H169.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_H162 | zenon_intro zenon_H1f5 ].
% 40.94/41.14  apply (zenon_L222_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_H178 | zenon_intro zenon_H1f6 ].
% 40.94/41.14  apply (zenon_L257_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_Hd | zenon_intro zenon_H1f7 ].
% 40.94/41.14  apply (zenon_L3_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1f7); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1f1 ].
% 40.94/41.14  apply (zenon_L318_); trivial.
% 40.94/41.14  apply (zenon_L319_); trivial.
% 40.94/41.14  (* end of lemma zenon_L320_ *)
% 40.94/41.14  assert (zenon_L321_ : (~((op (e0) (e3)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H169 zenon_Hd3 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H3b zenon_H161 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H1f4 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L320_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L287_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L84_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L270_); trivial.
% 40.94/41.14  apply (zenon_L44_); trivial.
% 40.94/41.14  (* end of lemma zenon_L321_ *)
% 40.94/41.14  assert (zenon_L322_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_H116 zenon_Hab zenon_H34 zenon_H32 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H169 zenon_Hd3 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H3b zenon_H161 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H1f4 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L278_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L286_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L321_); trivial.
% 40.94/41.14  (* end of lemma zenon_L322_ *)
% 40.94/41.14  assert (zenon_L323_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_Hb6 zenon_Hb7 zenon_H58 zenon_Hb9 zenon_H22 zenon_H20 zenon_H1f zenon_H81 zenon_H1e7 zenon_Hd3 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L62_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L63_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L313_); trivial.
% 40.94/41.14  apply (zenon_L11_); trivial.
% 40.94/41.14  (* end of lemma zenon_L323_ *)
% 40.94/41.14  assert (zenon_L324_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H68 zenon_H32 zenon_H16 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_Hbf zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L285_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L112_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L288_); trivial.
% 40.94/41.14  (* end of lemma zenon_L324_ *)
% 40.94/41.14  assert (zenon_L325_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hc2 zenon_H4a zenon_Ha1 zenon_H197 zenon_H1f4 zenon_H161 zenon_H51 zenon_H60 zenon_H1ea zenon_H169 zenon_H116 zenon_H1e7 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H16 zenon_H32 zenon_H68 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_Hc3.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.14  apply (zenon_L317_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.14  apply (zenon_L322_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.14  apply (zenon_L323_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.14  apply (zenon_L324_); trivial.
% 40.94/41.14  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.14  (* end of lemma zenon_L325_ *)
% 40.94/41.14  assert (zenon_L326_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e4) (e1)) = (e3)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H19a zenon_H168 zenon_H1bf zenon_H18e zenon_Hc3 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H68 zenon_H32 zenon_H16 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H1e7 zenon_H116 zenon_H169 zenon_H1ea zenon_H60 zenon_H51 zenon_H161 zenon_H1f4 zenon_Ha1 zenon_H4a zenon_Hc2 zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.14  apply (zenon_L315_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.14  apply (zenon_L316_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L325_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L326_ *)
% 40.94/41.14  assert (zenon_L327_ : ((op (unit) (e4)) = (e4)) -> ((unit) = (e3)) -> ((op (e3) (e2)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hd3 zenon_H2a zenon_H1f8 zenon_H83.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e3) (e2)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H83.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1f9].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e3) (e4)) = (op (e3) (e2)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1f9.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (unit) (e4)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1e4.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1e0.
% 40.94/41.14  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.14  cut (((op (e3) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L310_); trivial.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1fa. apply sym_equal. exact zenon_H1f8.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  apply zenon_H1e1. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L327_ *)
% 40.94/41.14  assert (zenon_L328_ : (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (e2)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H169 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H16 zenon_H3b zenon_H42 zenon_H161 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_H1f4 zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H83 zenon_H1f8 zenon_Hd3 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L320_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L56_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L327_); trivial.
% 40.94/41.14  apply (zenon_L44_); trivial.
% 40.94/41.14  (* end of lemma zenon_L328_ *)
% 40.94/41.14  assert (zenon_L329_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (e2)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_H116 zenon_H34 zenon_H32 zenon_H81 zenon_H197 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H169 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H16 zenon_H3b zenon_H42 zenon_H161 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_H1f4 zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H83 zenon_H1f8 zenon_Hd3 zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L278_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L286_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L328_); trivial.
% 40.94/41.14  (* end of lemma zenon_L329_ *)
% 40.94/41.14  assert (zenon_L330_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e2)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H91 zenon_H1f8 zenon_Haa zenon_H1f4 zenon_H17 zenon_H2d zenon_H18 zenon_H161 zenon_H42 zenon_H51 zenon_Hb zenon_H60 zenon_H1ea zenon_H169 zenon_He1 zenon_H57 zenon_H6e zenon_H197 zenon_H81 zenon_H116 zenon_He0 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.14  apply (zenon_L277_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.14  apply (zenon_L329_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.14  apply (zenon_L123_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.14  apply (zenon_L285_); trivial.
% 40.94/41.14  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.14  (* end of lemma zenon_L330_ *)
% 40.94/41.14  assert (zenon_L331_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e3) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H19a zenon_H168 zenon_Hba zenon_Hbb zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_He0 zenon_H116 zenon_H81 zenon_H6e zenon_H57 zenon_He1 zenon_H169 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H42 zenon_H161 zenon_H18 zenon_H2d zenon_H17 zenon_H1f4 zenon_Haa zenon_H1f8 zenon_H91 zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.14  apply (zenon_L262_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.14  apply (zenon_L178_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L330_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L331_ *)
% 40.94/41.14  assert (zenon_L332_ : (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> ((op (e3) (e4)) = (e4)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1fb zenon_Hd3 zenon_H9 zenon_H1fc.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e3) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1fb.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1fd].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1b6.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1b7.
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L282_); trivial.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1fd. apply sym_equal. exact zenon_H1fc.
% 40.94/41.14  (* end of lemma zenon_L332_ *)
% 40.94/41.14  assert (zenon_L333_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H1fc zenon_Hd3 zenon_H1fb zenon_Hab zenon_Hc zenon_Haa zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L332_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L56_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L84_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L102_); trivial.
% 40.94/41.14  apply (zenon_L290_); trivial.
% 40.94/41.14  (* end of lemma zenon_L333_ *)
% 40.94/41.14  assert (zenon_L334_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H1fc zenon_Hd3 zenon_H1fb zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hbf zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L332_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L17_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L67_); trivial.
% 40.94/41.14  apply (zenon_L11_); trivial.
% 40.94/41.14  (* end of lemma zenon_L334_ *)
% 40.94/41.14  assert (zenon_L335_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_Hb1 zenon_H1bf zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_Haa zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H1fc zenon_H3b zenon_Hc3.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.14  apply (zenon_L277_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.14  apply (zenon_L333_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.14  apply (zenon_L123_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.14  apply (zenon_L334_); trivial.
% 40.94/41.14  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.14  (* end of lemma zenon_L335_ *)
% 40.94/41.14  assert (zenon_L336_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1c8 zenon_H1c9 zenon_H9f zenon_H1fe zenon_H50 zenon_H16d zenon_H41 zenon_H1e5 zenon_H15f zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H73 zenon_H77 zenon_H87 zenon_H7b zenon_H88 zenon_H146 zenon_H91 zenon_H1f4 zenon_H161 zenon_H42 zenon_H51 zenon_Hb zenon_H60 zenon_H1ea zenon_H169 zenon_He1 zenon_H57 zenon_H6e zenon_H81 zenon_H116 zenon_He0 zenon_H1b9 zenon_H115 zenon_H11f zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H18e zenon_Hbb zenon_Hba zenon_H168 zenon_H19a zenon_H1ff zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_Hb1 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_Haa zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.14  apply (zenon_L272_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.14  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.14  apply (zenon_L273_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.14  apply (zenon_L274_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 40.94/41.14  apply (zenon_L312_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 40.94/41.14  apply (zenon_L326_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 40.94/41.14  apply (zenon_L331_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 40.94/41.14  exact (zenon_H1ff zenon_H203).
% 40.94/41.14  apply (zenon_L335_); trivial.
% 40.94/41.14  (* end of lemma zenon_L336_ *)
% 40.94/41.14  assert (zenon_L337_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H19a zenon_H168 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H18e zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1f4 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H161 zenon_H3b zenon_H51 zenon_Hb zenon_H60 zenon_H1ea zenon_Hd3 zenon_H169 zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.14  apply (zenon_L263_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.14  apply (zenon_L300_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L321_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L337_ *)
% 40.94/41.14  assert (zenon_L338_ : (~((op (e4) (e4)) = (e2))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e4))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hc3 zenon_H1fb zenon_H49 zenon_H83 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H1ff zenon_Hba zenon_Hbb zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_H115 zenon_H1b9 zenon_He0 zenon_H116 zenon_H6e zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H1fe zenon_H1c9 zenon_H1c8 zenon_H34 zenon_H32 zenon_Hcc zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H88 zenon_He1 zenon_H19a zenon_H168 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H18e zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1f4 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H161 zenon_H3b zenon_H51 zenon_Hb zenon_H60 zenon_H1ea zenon_Hd3 zenon_H169 zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L336_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L238_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L337_); trivial.
% 40.94/41.14  (* end of lemma zenon_L338_ *)
% 40.94/41.14  assert (zenon_L339_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H15b zenon_Hda zenon_H146 zenon_H169 zenon_Hd3 zenon_H1ea zenon_H60 zenon_Hb zenon_H51 zenon_H3b zenon_H161 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H1f4 zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H18e zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H168 zenon_H19a zenon_He1 zenon_H88 zenon_H57 zenon_H58 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hcc zenon_H32 zenon_H1c8 zenon_H1c9 zenon_H1fe zenon_H50 zenon_H16d zenon_H41 zenon_H1e5 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H6e zenon_H116 zenon_He0 zenon_H1b9 zenon_H115 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hbb zenon_Hba zenon_H1ff zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_H83 zenon_H49 zenon_H1fb zenon_Hc3 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 40.94/41.14  apply (zenon_L240_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 40.94/41.14  apply (zenon_L338_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 40.94/41.14  apply (zenon_L216_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 40.94/41.14  apply (zenon_L217_); trivial.
% 40.94/41.14  apply (zenon_L218_); trivial.
% 40.94/41.14  (* end of lemma zenon_L339_ *)
% 40.94/41.14  assert (zenon_L340_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Hb zenon_H116 zenon_H34 zenon_H16 zenon_H87 zenon_H20 zenon_H83 zenon_H5f zenon_H81 zenon_H7b zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H22 zenon_H1f zenon_H77 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H9b zenon_Hab zenon_Haa zenon_H32 zenon_Hb1 zenon_Ha5 zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L278_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L41_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L61_); trivial.
% 40.94/41.14  (* end of lemma zenon_L340_ *)
% 40.94/41.14  assert (zenon_L341_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_He9 zenon_Hc9 zenon_Hd3 zenon_H99 zenon_H83 zenon_H5f zenon_H32 zenon_Hc8 zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H77 zenon_H34 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H17a zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L262_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L212_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L263_); trivial.
% 40.94/41.14  (* end of lemma zenon_L341_ *)
% 40.94/41.14  assert (zenon_L342_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e4)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_Hc9 zenon_H99 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_He9 zenon_Hc zenon_Hc7.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L70_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L71_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L270_); trivial.
% 40.94/41.14  apply (zenon_L192_); trivial.
% 40.94/41.14  (* end of lemma zenon_L342_ *)
% 40.94/41.14  assert (zenon_L343_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H116 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H83 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc8 zenon_Hc9 zenon_H99 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_He9 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.14  apply (zenon_L277_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.14  apply (zenon_L278_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.14  apply (zenon_L279_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.14  apply (zenon_L285_); trivial.
% 40.94/41.14  apply (zenon_L342_); trivial.
% 40.94/41.14  (* end of lemma zenon_L343_ *)
% 40.94/41.14  assert (zenon_L344_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((e1) = (e3))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H19a zenon_H91 zenon_H168 zenon_He1 zenon_H88 zenon_H73 zenon_H77 zenon_H6e zenon_H57 zenon_H89 zenon_Hb zenon_He0 zenon_H18e zenon_Hc zenon_He9 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_H99 zenon_Hc9 zenon_Hc8 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H83 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H116 zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_Hc2 zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.14  apply (zenon_L341_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.14  apply (zenon_L167_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L343_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L344_ *)
% 40.94/41.14  assert (zenon_L345_ : (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H146 zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H116 zenon_H60 zenon_H8e zenon_Hb6 zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H18e zenon_He0 zenon_Hb zenon_H89 zenon_H168 zenon_H19a zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_H16 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc9 zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L344_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L112_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L73_); trivial.
% 40.94/41.14  (* end of lemma zenon_L345_ *)
% 40.94/41.14  assert (zenon_L346_ : (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((e1) = (e3))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H157 zenon_H152 zenon_H14d zenon_Hc3 zenon_H1fb zenon_Hb9 zenon_H1ff zenon_Hbb zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H1fe zenon_H1c9 zenon_H1c8 zenon_H9f zenon_H1f4 zenon_H161 zenon_H51 zenon_H1ea zenon_H169 zenon_H15b zenon_Haa zenon_Hab zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H34 zenon_H16 zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H88 zenon_H19a zenon_H168 zenon_H89 zenon_Hb zenon_He0 zenon_H18e zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H49 zenon_Hb6 zenon_H8e zenon_H60 zenon_H116 zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_Hc2 zenon_H146 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.14  apply (zenon_L339_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.14  apply (zenon_L340_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.14  apply (zenon_L345_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.14  apply (zenon_L293_); trivial.
% 40.94/41.14  exact (zenon_Hda zenon_Hde).
% 40.94/41.14  (* end of lemma zenon_L346_ *)
% 40.94/41.14  assert (zenon_L347_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H81 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_Hbf zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.14  apply (zenon_L12_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.14  apply (zenon_L285_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.14  apply (zenon_L112_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.14  exact (zenon_He1 zenon_He5).
% 40.94/41.14  apply (zenon_L294_); trivial.
% 40.94/41.14  (* end of lemma zenon_L347_ *)
% 40.94/41.14  assert (zenon_L348_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (op (e0) (e3)) (e0)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H1a9 zenon_Hc3 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H81 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H20 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_Hb6 zenon_H8e zenon_H60 zenon_H157 zenon_H152 zenon_H14d zenon_H1fb zenon_Hb9 zenon_H1ff zenon_Hbb zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H1fe zenon_H1c9 zenon_H1c8 zenon_H9f zenon_H1f4 zenon_H161 zenon_H51 zenon_H1ea zenon_H169 zenon_H15b zenon_Haa zenon_H19a zenon_H168 zenon_H89 zenon_H18e zenon_H116 zenon_Ha1 zenon_Hc2 zenon_H146 zenon_H13e.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.14  apply (zenon_L272_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.14  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.14  apply (zenon_L273_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.14  apply (zenon_L274_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.14  apply (zenon_L234_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.14  apply (zenon_L275_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.14  apply (zenon_L276_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.14  apply (zenon_L277_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.14  apply (zenon_L346_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.14  apply (zenon_L279_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.14  apply (zenon_L347_); trivial.
% 40.94/41.14  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.14  exact (zenon_H13e zenon_H142).
% 40.94/41.14  (* end of lemma zenon_L348_ *)
% 40.94/41.14  assert (zenon_L349_ : (~((op (op (e0) (e4)) (e0)) = (e4))) -> ((op (e4) (e0)) = (e4)) -> ((op (e0) (e4)) = (e4)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H204 zenon_H9a zenon_H205.
% 40.94/41.14  cut (((op (e4) (e0)) = (e4)) = ((op (op (e0) (e4)) (e0)) = (e4))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H204.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H9a.
% 40.94/41.14  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.14  cut (((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [ zenon_intro zenon_H207 | zenon_intro zenon_H208 ].
% 40.94/41.14  cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0))) = ((op (e4) (e0)) = (op (op (e0) (e4)) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H206.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H207.
% 40.94/41.14  cut (((op (op (e0) (e4)) (e0)) = (op (op (e0) (e4)) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H208].
% 40.94/41.14  cut (((op (op (e0) (e4)) (e0)) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 40.94/41.14  cut (((op (e0) (e4)) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H20a].
% 40.94/41.14  congruence.
% 40.94/41.14  exact (zenon_H20a zenon_H205).
% 40.94/41.14  apply zenon_H3f. apply refl_equal.
% 40.94/41.14  apply zenon_H208. apply refl_equal.
% 40.94/41.14  apply zenon_H208. apply refl_equal.
% 40.94/41.14  apply zenon_H97. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L349_ *)
% 40.94/41.14  assert (zenon_L350_ : ((op (e0) (unit)) = (e0)) -> ((unit) = (e3)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H50 zenon_H2a zenon_H16d zenon_H161.
% 40.94/41.14  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (e0)) = (op (e0) (e3)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H161.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H52.
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H20b].
% 40.94/41.14  congruence.
% 40.94/41.14  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e3)) = (op (e0) (e0)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H20b.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H50.
% 40.94/41.14  cut (((e0) = (op (e0) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 40.94/41.14  cut (((op (e0) (unit)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (e0) (unit)) = (op (e0) (e3)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H55.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H52.
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.14  cut (((op (e0) (e3)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L18_); trivial.
% 40.94/41.14  apply zenon_H53. apply refl_equal.
% 40.94/41.14  apply zenon_H53. apply refl_equal.
% 40.94/41.14  apply zenon_H171. apply sym_equal. exact zenon_H16d.
% 40.94/41.14  apply zenon_H53. apply refl_equal.
% 40.94/41.14  apply zenon_H53. apply refl_equal.
% 40.94/41.14  (* end of lemma zenon_L350_ *)
% 40.94/41.14  assert (zenon_L351_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H1b4 zenon_Hd3 zenon_H1b3 zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L283_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L249_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L350_); trivial.
% 40.94/41.14  apply (zenon_L44_); trivial.
% 40.94/41.14  (* end of lemma zenon_L351_ *)
% 40.94/41.14  assert (zenon_L352_ : (~((op (e0) (e4)) = (op (e2) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> ((op (e2) (e4)) = (e4)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H20c zenon_Hd3 zenon_H9 zenon_H20d.
% 40.94/41.14  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e2) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H20c.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_Hd3.
% 40.94/41.14  cut (((e4) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H20e].
% 40.94/41.14  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.14  congruence.
% 40.94/41.14  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.14  intro zenon_D_pnotp.
% 40.94/41.14  apply zenon_H1b6.
% 40.94/41.14  rewrite <- zenon_D_pnotp.
% 40.94/41.14  exact zenon_H1b7.
% 40.94/41.14  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.14  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.14  congruence.
% 40.94/41.14  apply (zenon_L282_); trivial.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H1b8. apply refl_equal.
% 40.94/41.14  apply zenon_H20e. apply sym_equal. exact zenon_H20d.
% 40.94/41.14  (* end of lemma zenon_L352_ *)
% 40.94/41.14  assert (zenon_L353_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H20d zenon_Hd3 zenon_H20c zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L352_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L249_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L350_); trivial.
% 40.94/41.14  apply (zenon_L44_); trivial.
% 40.94/41.14  (* end of lemma zenon_L353_ *)
% 40.94/41.14  assert (zenon_L354_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H3b zenon_H1fc zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.14  apply (zenon_L332_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.14  apply (zenon_L249_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.14  apply (zenon_L8_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.14  apply (zenon_L270_); trivial.
% 40.94/41.14  apply (zenon_L44_); trivial.
% 40.94/41.14  (* end of lemma zenon_L354_ *)
% 40.94/41.14  assert (zenon_L355_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd3 zenon_H1fc zenon_H3b zenon_H146.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.14  apply (zenon_L263_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.14  apply (zenon_L300_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.14  apply (zenon_L266_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.14  apply (zenon_L354_); trivial.
% 40.94/41.14  exact (zenon_H146 zenon_H144).
% 40.94/41.14  (* end of lemma zenon_L355_ *)
% 40.94/41.14  assert (zenon_L356_ : (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e0)) = (e4)) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_H20f zenon_H9a zenon_H204 zenon_H1b3 zenon_H161 zenon_H20c zenon_H146 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_Hda.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H20f); [ zenon_intro zenon_H205 | zenon_intro zenon_H210 ].
% 40.94/41.14  apply (zenon_L349_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H210); [ zenon_intro zenon_H1b4 | zenon_intro zenon_H211 ].
% 40.94/41.14  apply (zenon_L351_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H211); [ zenon_intro zenon_H20d | zenon_intro zenon_H212 ].
% 40.94/41.14  apply (zenon_L353_); trivial.
% 40.94/41.14  apply (zenon_or_s _ _ zenon_H212); [ zenon_intro zenon_H1fc | zenon_intro zenon_Hde ].
% 40.94/41.14  apply (zenon_L355_); trivial.
% 40.94/41.14  exact (zenon_Hda zenon_Hde).
% 40.94/41.14  (* end of lemma zenon_L356_ *)
% 40.94/41.14  assert (zenon_L357_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e0)) = (e4)) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.14  do 0 intro. intros zenon_He0 zenon_Hb zenon_H116 zenon_Hab zenon_H34 zenon_H32 zenon_H197 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H20f zenon_H9a zenon_H204 zenon_H1b3 zenon_H161 zenon_H20c zenon_H146 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_Hda.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.15  apply (zenon_L12_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.15  apply (zenon_L278_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.15  apply (zenon_L286_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.15  exact (zenon_He1 zenon_He5).
% 40.94/41.15  apply (zenon_L356_); trivial.
% 40.94/41.15  (* end of lemma zenon_L357_ *)
% 40.94/41.15  assert (zenon_L358_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((e1) = (op (e4) (e2))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hd9 zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H146 zenon_H20c zenon_H161 zenon_H1b3 zenon_H204 zenon_H20f zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H34 zenon_Hab zenon_H116 zenon_Hb zenon_He0 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.15  apply (zenon_L357_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.15  apply (zenon_L304_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.15  apply (zenon_L73_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.15  apply (zenon_L305_); trivial.
% 40.94/41.15  exact (zenon_Hda zenon_Hde).
% 40.94/41.15  (* end of lemma zenon_L358_ *)
% 40.94/41.15  assert (zenon_L359_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H197 zenon_H81 zenon_He0 zenon_Hb zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_H20f zenon_H204 zenon_H161 zenon_H20c zenon_H146 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H168 zenon_H2d zenon_H19a zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.15  apply (zenon_L53_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.15  apply (zenon_L358_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.15  apply (zenon_L279_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.15  apply (zenon_L294_); trivial.
% 40.94/41.15  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.15  (* end of lemma zenon_L359_ *)
% 40.94/41.15  assert (zenon_L360_ : (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H19a zenon_H2d zenon_H168 zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H20c zenon_H161 zenon_H204 zenon_H20f zenon_He1 zenon_H57 zenon_H6e zenon_H116 zenon_Hb zenon_He0 zenon_H81 zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.15  apply (zenon_L263_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.15  apply (zenon_L300_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.15  apply (zenon_L266_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.15  apply (zenon_L359_); trivial.
% 40.94/41.15  exact (zenon_H146 zenon_H144).
% 40.94/41.15  (* end of lemma zenon_L360_ *)
% 40.94/41.15  assert (zenon_L361_ : (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hbb zenon_H49 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H51 zenon_H1c8 zenon_H88 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H81 zenon_He0 zenon_Hb zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_H20f zenon_H204 zenon_H161 zenon_H20c zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H168 zenon_H2d zenon_H19a zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H13e.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.15  apply (zenon_L272_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.15  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.15  apply (zenon_L273_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.15  apply (zenon_L274_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.15  apply (zenon_L12_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.15  apply (zenon_L299_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.15  apply (zenon_L112_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.15  exact (zenon_He1 zenon_He5).
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.15  apply (zenon_L243_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.15  apply (zenon_L275_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.15  apply (zenon_L276_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.15  apply (zenon_L360_); trivial.
% 40.94/41.15  exact (zenon_H13e zenon_H142).
% 40.94/41.15  (* end of lemma zenon_L361_ *)
% 40.94/41.15  assert (zenon_L362_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_H17 zenon_H16 zenon_H213 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  cut (((op (unit) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e1) (e0)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H213.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H16.
% 40.94/41.15  cut (((e1) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 40.94/41.15  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 40.94/41.15  congruence.
% 40.94/41.15  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.15  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (unit) (e1)) = (op (e0) (e1)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H177.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H138.
% 40.94/41.15  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.15  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 40.94/41.15  congruence.
% 40.94/41.15  apply (zenon_L252_); trivial.
% 40.94/41.15  apply zenon_H139. apply refl_equal.
% 40.94/41.15  apply zenon_H139. apply refl_equal.
% 40.94/41.15  apply zenon_H1c. apply sym_equal. exact zenon_H17.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L287_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L84_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L102_); trivial.
% 40.94/41.15  apply (zenon_L290_); trivial.
% 40.94/41.15  (* end of lemma zenon_L362_ *)
% 40.94/41.15  assert (zenon_L363_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1f zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H91 zenon_Hc zenon_H19a zenon_H1c9 zenon_H22 zenon_Hb9 zenon_H34 zenon_H32 zenon_H73 zenon_H5f zenon_H9f zenon_H9b zenon_H61 zenon_H3b zenon_H17 zenon_H16 zenon_H213 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_Hb1.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.15  apply (zenon_L272_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.15  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.15  apply (zenon_L273_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.15  apply (zenon_L51_); trivial.
% 40.94/41.15  apply (zenon_L362_); trivial.
% 40.94/41.15  (* end of lemma zenon_L363_ *)
% 40.94/41.15  assert (zenon_L364_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H15b zenon_Hb1 zenon_H20 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H213 zenon_H16 zenon_H17 zenon_H3b zenon_H61 zenon_H9b zenon_H9f zenon_H5f zenon_H73 zenon_H32 zenon_Hb9 zenon_H22 zenon_H1c9 zenon_H19a zenon_Hc zenon_H91 zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H58 zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H81 zenon_H1f zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H146 zenon_H1c8 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 40.94/41.15  apply (zenon_L250_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 40.94/41.15  apply (zenon_L363_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 40.94/41.15  apply (zenon_L216_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 40.94/41.15  apply (zenon_L217_); trivial.
% 40.94/41.15  apply (zenon_L218_); trivial.
% 40.94/41.15  (* end of lemma zenon_L364_ *)
% 40.94/41.15  assert (zenon_L365_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H32 zenon_H99 zenon_H1c2 zenon_H42 zenon_H7b zenon_Hd3 zenon_Ha5 zenon_He8.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  apply (zenon_L55_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L6_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L58_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L292_); trivial.
% 40.94/41.15  apply (zenon_L124_); trivial.
% 40.94/41.15  (* end of lemma zenon_L365_ *)
% 40.94/41.15  assert (zenon_L366_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e3)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hab zenon_Hc zenon_Haa zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_Hd3 zenon_Hcd zenon_Hd4.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  apply (zenon_L74_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L56_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L76_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L292_); trivial.
% 40.94/41.15  apply (zenon_L80_); trivial.
% 40.94/41.15  (* end of lemma zenon_L366_ *)
% 40.94/41.15  assert (zenon_L367_ : (~((op (e1) (e1)) = (op (e4) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H157 zenon_H34 zenon_H11f zenon_H152 zenon_H14d zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He9 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H5f zenon_H9f zenon_H61 zenon_H213 zenon_Hb1 zenon_H15b zenon_He8 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Haa zenon_Hc zenon_Hab zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.15  apply (zenon_L364_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.15  apply (zenon_L365_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.15  apply (zenon_L73_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.15  apply (zenon_L366_); trivial.
% 40.94/41.15  exact (zenon_Hda zenon_Hde).
% 40.94/41.15  (* end of lemma zenon_L367_ *)
% 40.94/41.15  assert (zenon_L368_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_Haa zenon_Hd4 zenon_H15b zenon_H213 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hba zenon_He9 zenon_He6 zenon_Hed zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H18e zenon_H81 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H146 zenon_H1c8 zenon_H14d zenon_H152 zenon_H157 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.15  apply (zenon_L53_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.15  apply (zenon_L367_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.15  apply (zenon_L279_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.15  apply (zenon_L294_); trivial.
% 40.94/41.15  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.15  (* end of lemma zenon_L368_ *)
% 40.94/41.15  assert (zenon_L369_ : (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e1)) = (op (e1) (e0)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hbb zenon_H1c4 zenon_H165 zenon_H1a9 zenon_Hc3 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H20 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H157 zenon_H152 zenon_H14d zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H18e zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_Hed zenon_He6 zenon_He9 zenon_Hba zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H213 zenon_H15b zenon_Hd4 zenon_Haa zenon_Ha1 zenon_Hc2 zenon_H13e.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.15  apply (zenon_L272_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.15  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.15  apply (zenon_L273_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.15  apply (zenon_L274_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.15  apply (zenon_L12_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.15  apply (zenon_L298_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.15  apply (zenon_L112_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.15  exact (zenon_He1 zenon_He5).
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.15  apply (zenon_L243_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.15  apply (zenon_L275_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.15  apply (zenon_L276_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.15  apply (zenon_L368_); trivial.
% 40.94/41.15  exact (zenon_H13e zenon_H142).
% 40.94/41.15  (* end of lemma zenon_L369_ *)
% 40.94/41.15  assert (zenon_L370_ : ((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1))))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H214.
% 40.94/41.15  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H1a. zenon_intro zenon_H215.
% 40.94/41.15  apply zenon_H1a. apply refl_equal.
% 40.94/41.15  (* end of lemma zenon_L370_ *)
% 40.94/41.15  assert (zenon_L371_ : ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e1) (e0)) = (e3)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H5f zenon_H9 zenon_H216 zenon_H217.
% 40.94/41.15  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e1) (e0)) = (op (e3) (e0)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H217.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H7f.
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H218].
% 40.94/41.15  congruence.
% 40.94/41.15  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e1) (e0)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H218.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H5f.
% 40.94/41.15  cut (((e3) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H219].
% 40.94/41.15  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 40.94/41.15  congruence.
% 40.94/41.15  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H7f | zenon_intro zenon_H80 ].
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H7e.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H7f.
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 40.94/41.15  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 40.94/41.15  congruence.
% 40.94/41.15  apply (zenon_L34_); trivial.
% 40.94/41.15  apply zenon_H80. apply refl_equal.
% 40.94/41.15  apply zenon_H80. apply refl_equal.
% 40.94/41.15  apply zenon_H219. apply sym_equal. exact zenon_H216.
% 40.94/41.15  apply zenon_H80. apply refl_equal.
% 40.94/41.15  apply zenon_H80. apply refl_equal.
% 40.94/41.15  (* end of lemma zenon_L371_ *)
% 40.94/41.15  assert (zenon_L372_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e1) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_H217 zenon_H216 zenon_H5f zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  apply (zenon_L371_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L287_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L84_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L102_); trivial.
% 40.94/41.15  apply (zenon_L44_); trivial.
% 40.94/41.15  (* end of lemma zenon_L372_ *)
% 40.94/41.15  assert (zenon_L373_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e3)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_Hcd zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  apply (zenon_L74_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L75_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L76_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L270_); trivial.
% 40.94/41.15  apply (zenon_L44_); trivial.
% 40.94/41.15  (* end of lemma zenon_L373_ *)
% 40.94/41.15  assert (zenon_L374_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e0)) = (e3)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_Hd9 zenon_H15f zenon_H5f zenon_H216 zenon_H217 zenon_He8 zenon_Hd3 zenon_H7b zenon_H42 zenon_H1c2 zenon_H17 zenon_H18 zenon_H9b zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H197 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.15  apply (zenon_L372_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.15  apply (zenon_L365_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.15  apply (zenon_L73_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.15  apply (zenon_L373_); trivial.
% 40.94/41.15  exact (zenon_Hda zenon_Hde).
% 40.94/41.15  (* end of lemma zenon_L374_ *)
% 40.94/41.15  assert (zenon_L375_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e1) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92 zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_H9b zenon_H18 zenon_H17 zenon_H1c2 zenon_H42 zenon_H7b zenon_Hd3 zenon_He8 zenon_H217 zenon_H216 zenon_H5f zenon_H15f zenon_Hd9 zenon_H146.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.15  apply (zenon_L263_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.15  apply (zenon_L300_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.15  apply (zenon_L266_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.15  apply (zenon_L374_); trivial.
% 40.94/41.15  exact (zenon_H146 zenon_H144).
% 40.94/41.15  (* end of lemma zenon_L375_ *)
% 40.94/41.15  assert (zenon_L376_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e0)) = (e3)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H115 zenon_H34 zenon_H11f zenon_H1a9 zenon_H146 zenon_Hd9 zenon_H15f zenon_H5f zenon_H216 zenon_H217 zenon_He8 zenon_Hd3 zenon_H7b zenon_H42 zenon_H17 zenon_H18 zenon_H9b zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_H13e.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.15  apply (zenon_L243_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.15  apply (zenon_L275_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.15  apply (zenon_L276_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.15  apply (zenon_L375_); trivial.
% 40.94/41.15  exact (zenon_H13e zenon_H142).
% 40.94/41.15  (* end of lemma zenon_L376_ *)
% 40.94/41.15  assert (zenon_L377_ : (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((op (op (e1) (e2)) (e2)) = (e1)) -> ((op (e1) (e2)) = (e3)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H21a zenon_H21b zenon_H21c zenon_H34.
% 40.94/41.15  cut (((op (op (e1) (e2)) (e2)) = (e1)) = ((op (e3) (e2)) = (op (e4) (e2)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H21a.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H21b.
% 40.94/41.15  cut (((e1) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 40.94/41.15  cut (((op (op (e1) (e2)) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 40.94/41.15  congruence.
% 40.94/41.15  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.94/41.15  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (op (e1) (e2)) (e2)) = (op (e3) (e2)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H21d.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H85.
% 40.94/41.15  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.94/41.15  cut (((op (e3) (e2)) = (op (op (e1) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21e].
% 40.94/41.15  congruence.
% 40.94/41.15  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.94/41.15  cut (((e3) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 40.94/41.15  congruence.
% 40.94/41.15  apply zenon_H21f. apply sym_equal. exact zenon_H21c.
% 40.94/41.15  apply zenon_H7. apply refl_equal.
% 40.94/41.15  apply zenon_H86. apply refl_equal.
% 40.94/41.15  apply zenon_H86. apply refl_equal.
% 40.94/41.15  exact (zenon_H35 zenon_H34).
% 40.94/41.15  (* end of lemma zenon_L377_ *)
% 40.94/41.15  assert (zenon_L378_ : (~((op (e0) (e3)) = (op (e1) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e0)) -> ((op (e1) (e3)) = (e3)) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H220 zenon_H20 zenon_H9 zenon_H221.
% 40.94/41.15  cut (((op (unit) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e1) (e3)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H220.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H20.
% 40.94/41.15  cut (((e3) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H222].
% 40.94/41.15  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 40.94/41.15  congruence.
% 40.94/41.15  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.15  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (unit) (e3)) = (op (e0) (e3)))).
% 40.94/41.15  intro zenon_D_pnotp.
% 40.94/41.15  apply zenon_H195.
% 40.94/41.15  rewrite <- zenon_D_pnotp.
% 40.94/41.15  exact zenon_H52.
% 40.94/41.15  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.15  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 40.94/41.15  congruence.
% 40.94/41.15  apply (zenon_L267_); trivial.
% 40.94/41.15  apply zenon_H53. apply refl_equal.
% 40.94/41.15  apply zenon_H53. apply refl_equal.
% 40.94/41.15  apply zenon_H222. apply sym_equal. exact zenon_H221.
% 40.94/41.15  (* end of lemma zenon_L378_ *)
% 40.94/41.15  assert (zenon_L379_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e3)) = (e3)) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.15  do 0 intro. intros zenon_H3b zenon_H221 zenon_H220 zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.15  apply (zenon_L378_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.15  apply (zenon_L249_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.15  apply (zenon_L8_); trivial.
% 40.94/41.15  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.15  apply (zenon_L350_); trivial.
% 40.94/41.15  apply (zenon_L11_); trivial.
% 40.94/41.15  (* end of lemma zenon_L379_ *)
% 40.94/41.15  assert (zenon_L380_ : (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e4) (e4)) = (e0))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e1) (e1)) = (e3))) -> ((op (op (e1) (e2)) (e2)) = (e1)) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H223 zenon_H13e zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hda zenon_Hcc zenon_Hb1 zenon_H99 zenon_H81 zenon_H91 zenon_Hc zenon_Hc8 zenon_H9b zenon_H18 zenon_H17 zenon_H42 zenon_H7b zenon_Hd3 zenon_He8 zenon_H217 zenon_H5f zenon_H15f zenon_Hd9 zenon_H146 zenon_H1a9 zenon_H11f zenon_H115 zenon_H165 zenon_H1c4 zenon_He1 zenon_H88 zenon_H73 zenon_H77 zenon_H6e zenon_H58 zenon_H57 zenon_H89 zenon_H83 zenon_H87 zenon_H1c8 zenon_H51 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hee zenon_Hb9 zenon_H9f zenon_Hc2 zenon_Ha1 zenon_H116 zenon_Hb6 zenon_H1b3 zenon_H1ad zenon_H1b9 zenon_H49 zenon_Hb zenon_He0 zenon_Hc3 zenon_Hbb zenon_Hba zenon_H1c9 zenon_H21b zenon_H21a zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H41 zenon_H220 zenon_H3b zenon_H1ae zenon_H22.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H216 | zenon_intro zenon_H224 ].
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.16  apply (zenon_L12_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.16  apply (zenon_L299_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.16  apply (zenon_L41_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.16  exact (zenon_He1 zenon_He5).
% 40.94/41.16  apply (zenon_L376_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H1cc | zenon_intro zenon_H225 ].
% 40.94/41.16  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H21c | zenon_intro zenon_H226 ].
% 40.94/41.16  apply (zenon_L377_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H221 | zenon_intro zenon_H1af ].
% 40.94/41.16  apply (zenon_L379_); trivial.
% 40.94/41.16  apply (zenon_L281_); trivial.
% 40.94/41.16  (* end of lemma zenon_L380_ *)
% 40.94/41.16  assert (zenon_L381_ : ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (e3)) = (e0)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H11f zenon_H227 zenon_H34 zenon_H111.
% 40.94/41.16  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.94/41.16  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (e1)) = (op (e1) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H111.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H2e.
% 40.94/41.16  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.94/41.16  cut (((op (e1) (e3)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H135].
% 40.94/41.16  congruence.
% 40.94/41.16  cut (((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) = ((op (e1) (e3)) = (op (e1) (e1)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H135.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H11f.
% 40.94/41.16  cut (((op (op (e4) (e2)) (op (e4) (e2))) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 40.94/41.16  cut (((e0) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 40.94/41.16  congruence.
% 40.94/41.16  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.94/41.16  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((e0) = (op (e1) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H228.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H2e.
% 40.94/41.16  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.94/41.16  cut (((op (e1) (e3)) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H229].
% 40.94/41.16  congruence.
% 40.94/41.16  exact (zenon_H229 zenon_H227).
% 40.94/41.16  apply zenon_H2f. apply refl_equal.
% 40.94/41.16  apply zenon_H2f. apply refl_equal.
% 40.94/41.16  apply (zenon_L169_); trivial.
% 40.94/41.16  apply zenon_H2f. apply refl_equal.
% 40.94/41.16  apply zenon_H2f. apply refl_equal.
% 40.94/41.16  (* end of lemma zenon_L381_ *)
% 40.94/41.16  assert (zenon_L382_ : (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_Hf6 zenon_Hc zenon_H91 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_H51 zenon_H178 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H83 zenon_H81 zenon_H49 zenon_Hb zenon_He0 zenon_H6e zenon_Hbb zenon_Hf7 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H57 zenon_H22 zenon_H1f zenon_H88 zenon_H3b zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 40.94/41.16  apply (zenon_L260_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 40.94/41.16  apply (zenon_L121_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 40.94/41.16  exact (zenon_Hf7 zenon_Hfb).
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 40.94/41.16  apply (zenon_L238_); trivial.
% 40.94/41.16  apply (zenon_L279_); trivial.
% 40.94/41.16  (* end of lemma zenon_L382_ *)
% 40.94/41.16  assert (zenon_L383_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H3b zenon_H10f zenon_H18 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.16  apply (zenon_L156_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.16  apply (zenon_L6_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.16  apply (zenon_L8_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.16  apply (zenon_L10_); trivial.
% 40.94/41.16  apply (zenon_L11_); trivial.
% 40.94/41.16  (* end of lemma zenon_L383_ *)
% 40.94/41.16  assert (zenon_L384_ : ((op (op (e1) (e3)) (e3)) = (e1)) -> ((op (e1) (e3)) = (e4)) -> ((op (e2) (e3)) = (e1)) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H22a zenon_H22b zenon_H22c zenon_H22d.
% 40.94/41.16  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e2) (e3)) = (op (e4) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H22d.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_Hb2.
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H22e].
% 40.94/41.16  congruence.
% 40.94/41.16  cut (((op (op (e1) (e3)) (e3)) = (e1)) = ((op (e4) (e3)) = (op (e2) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H22e.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H22a.
% 40.94/41.16  cut (((e1) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 40.94/41.16  cut (((op (op (e1) (e3)) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 40.94/41.16  congruence.
% 40.94/41.16  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (op (e1) (e3)) (e3)) = (op (e4) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H230.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_Hb2.
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (op (e1) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H231].
% 40.94/41.16  congruence.
% 40.94/41.16  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.16  cut (((e4) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H232].
% 40.94/41.16  congruence.
% 40.94/41.16  apply zenon_H232. apply sym_equal. exact zenon_H22b.
% 40.94/41.16  apply zenon_H1e. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_H22f. apply sym_equal. exact zenon_H22c.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  (* end of lemma zenon_L384_ *)
% 40.94/41.16  assert (zenon_L385_ : ((e1) = (op (e4) (e2))) -> ((op (e4) (e3)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H34 zenon_H233 zenon_H91.
% 40.94/41.16  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (e4) (e2)) = (op (e4) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H91.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_Hb2.
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 40.94/41.16  congruence.
% 40.94/41.16  cut (((e1) = (op (e4) (e2))) = ((op (e4) (e3)) = (op (e4) (e2)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_Hcb.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H34.
% 40.94/41.16  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.16  cut (((e1) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H234].
% 40.94/41.16  congruence.
% 40.94/41.16  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb3 ].
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((e1) = (op (e4) (e3)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H234.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_Hb2.
% 40.94/41.16  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 40.94/41.16  cut (((op (e4) (e3)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H235].
% 40.94/41.16  congruence.
% 40.94/41.16  exact (zenon_H235 zenon_H233).
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_H96. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  apply zenon_Hb3. apply refl_equal.
% 40.94/41.16  (* end of lemma zenon_L385_ *)
% 40.94/41.16  assert (zenon_L386_ : (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> ((op (e1) (e3)) = (e4)) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H236 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H88 zenon_H57 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_Hf7 zenon_Hbb zenon_H6e zenon_He0 zenon_Hb zenon_H49 zenon_H81 zenon_H83 zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H51 zenon_Hc zenon_Hf6 zenon_H16 zenon_H32 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H18 zenon_H3b zenon_H22d zenon_H22b zenon_H22a zenon_H237 zenon_H34 zenon_H91.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H178 | zenon_intro zenon_H238 ].
% 40.94/41.16  apply (zenon_L382_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H10f | zenon_intro zenon_H239 ].
% 40.94/41.16  apply (zenon_L383_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H22c | zenon_intro zenon_H23a ].
% 40.94/41.16  apply (zenon_L384_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_H23b | zenon_intro zenon_H233 ].
% 40.94/41.16  exact (zenon_H237 zenon_H23b).
% 40.94/41.16  apply (zenon_L385_); trivial.
% 40.94/41.16  (* end of lemma zenon_L386_ *)
% 40.94/41.16  assert (zenon_L387_ : (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((unit) = (e0)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H23c zenon_H111 zenon_H11f zenon_H9 zenon_H116 zenon_Hab zenon_H50 zenon_H16d zenon_H161 zenon_H41 zenon_H220 zenon_H236 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H88 zenon_H57 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_Hf7 zenon_Hbb zenon_H6e zenon_He0 zenon_Hb zenon_H49 zenon_H81 zenon_H83 zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H51 zenon_Hc zenon_Hf6 zenon_H16 zenon_H32 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H18 zenon_H3b zenon_H22d zenon_H22a zenon_H237 zenon_H34 zenon_H91.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H23c); [ zenon_intro zenon_H227 | zenon_intro zenon_H23d ].
% 40.94/41.16  apply (zenon_L381_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H23d); [ zenon_intro zenon_H10f | zenon_intro zenon_H23e ].
% 40.94/41.16  apply (zenon_L156_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H23e); [ zenon_intro zenon_H4a | zenon_intro zenon_H23f ].
% 40.94/41.16  apply (zenon_L278_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H23f); [ zenon_intro zenon_H221 | zenon_intro zenon_H22b ].
% 40.94/41.16  apply (zenon_L379_); trivial.
% 40.94/41.16  apply (zenon_L386_); trivial.
% 40.94/41.16  (* end of lemma zenon_L387_ *)
% 40.94/41.16  assert (zenon_L388_ : ((e1) = (op (e4) (e2))) -> (~((op (e3) (e3)) = (e1))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H34 zenon_H237 zenon_H22a zenon_H22d zenon_H3b zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_Hf6 zenon_H51 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H83 zenon_H49 zenon_Hb zenon_He0 zenon_H6e zenon_Hbb zenon_Hf7 zenon_Hcc zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H57 zenon_H88 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H236 zenon_H220 zenon_H41 zenon_H161 zenon_H16d zenon_H50 zenon_Hab zenon_H116 zenon_H11f zenon_H111 zenon_H23c zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.16  apply (zenon_L387_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.16  apply (zenon_L287_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.16  apply (zenon_L84_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.16  apply (zenon_L270_); trivial.
% 40.94/41.16  apply (zenon_L44_); trivial.
% 40.94/41.16  (* end of lemma zenon_L388_ *)
% 40.94/41.16  assert (zenon_L389_ : ((e1) = (op (e4) (e2))) -> (~((op (e3) (e3)) = (e1))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H34 zenon_H237 zenon_H22a zenon_H22d zenon_H3b zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H32 zenon_Hf6 zenon_H51 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H83 zenon_H49 zenon_Hb zenon_He0 zenon_H6e zenon_Hbb zenon_Hf7 zenon_Hcc zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H57 zenon_H88 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H236 zenon_H220 zenon_H41 zenon_H161 zenon_H16d zenon_H50 zenon_Hab zenon_H116 zenon_H11f zenon_H111 zenon_H23c zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.16  apply (zenon_L12_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.16  apply (zenon_L278_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.16  apply (zenon_L286_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.16  exact (zenon_He1 zenon_He5).
% 40.94/41.16  apply (zenon_L388_); trivial.
% 40.94/41.16  (* end of lemma zenon_L389_ *)
% 40.94/41.16  assert (zenon_L390_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H197 zenon_H23c zenon_H111 zenon_H116 zenon_H50 zenon_H16d zenon_H161 zenon_H41 zenon_H220 zenon_H236 zenon_H60 zenon_H8e zenon_H9f zenon_H89 zenon_Hf7 zenon_Hbb zenon_H51 zenon_Hf6 zenon_H22d zenon_H22a zenon_H237 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H16 zenon_H32 zenon_H68 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_Hc3.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.16  apply (zenon_L277_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.16  apply (zenon_L389_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.16  apply (zenon_L123_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.16  apply (zenon_L324_); trivial.
% 40.94/41.16  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.16  (* end of lemma zenon_L390_ *)
% 40.94/41.16  assert (zenon_L391_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e3)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_Hcd zenon_H99 zenon_H68 zenon_H60 zenon_H20 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.16  apply (zenon_L74_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.16  apply (zenon_L75_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.16  apply (zenon_L76_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.16  apply (zenon_L26_); trivial.
% 40.94/41.16  apply (zenon_L44_); trivial.
% 40.94/41.16  (* end of lemma zenon_L391_ *)
% 40.94/41.16  assert (zenon_L392_ : (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e3)) = (e1))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_Hc3 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_Hb6 zenon_Hb9 zenon_H237 zenon_H22a zenon_H22d zenon_Hf6 zenon_H51 zenon_Hbb zenon_Hf7 zenon_H89 zenon_H9f zenon_H8e zenon_H236 zenon_H220 zenon_H41 zenon_H161 zenon_H16d zenon_H50 zenon_H116 zenon_H111 zenon_H23c zenon_Ha1 zenon_Hc2 zenon_He8 zenon_Hd3 zenon_H81 zenon_H16 zenon_H197 zenon_H17 zenon_H18 zenon_H9b zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_H92 zenon_Hc zenon_H91 zenon_H20 zenon_H60 zenon_H68 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.16  apply (zenon_L390_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.16  apply (zenon_L304_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.16  apply (zenon_L73_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.16  apply (zenon_L391_); trivial.
% 40.94/41.16  exact (zenon_Hda zenon_Hde).
% 40.94/41.16  (* end of lemma zenon_L392_ *)
% 40.94/41.16  assert (zenon_L393_ : (~((op (e4) (e4)) = (e0))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H13e zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H1c9 zenon_H1c8 zenon_H19a zenon_H168 zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H68 zenon_H60 zenon_H20 zenon_H91 zenon_Hc zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H81 zenon_Hd3 zenon_He8 zenon_Hc2 zenon_Ha1 zenon_H23c zenon_H111 zenon_H116 zenon_H50 zenon_H16d zenon_H161 zenon_H41 zenon_H220 zenon_H236 zenon_H8e zenon_H9f zenon_H89 zenon_Hf7 zenon_Hbb zenon_H51 zenon_Hf6 zenon_H22d zenon_H22a zenon_H237 zenon_Hb9 zenon_Hb6 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H146.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.16  apply (zenon_L12_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.16  apply (zenon_L299_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.16  apply (zenon_L41_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.16  exact (zenon_He1 zenon_He5).
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.16  apply (zenon_L263_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.16  apply (zenon_L300_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.16  apply (zenon_L266_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.16  apply (zenon_L392_); trivial.
% 40.94/41.16  exact (zenon_H146 zenon_H144).
% 40.94/41.16  (* end of lemma zenon_L393_ *)
% 40.94/41.16  assert (zenon_L394_ : (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> ((op (e1) (e4)) = (e2)) -> ((op (e3) (e4)) = (e1)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H240 zenon_H241 zenon_Hab zenon_H197.
% 40.94/41.16  cut (((op (op (e1) (e4)) (e4)) = (e1)) = ((op (e2) (e4)) = (op (e3) (e4)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H240.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H241.
% 40.94/41.16  cut (((e1) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 40.94/41.16  cut (((op (op (e1) (e4)) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H242].
% 40.94/41.16  congruence.
% 40.94/41.16  elim (classic ((op (e2) (e4)) = (op (e2) (e4)))); [ zenon_intro zenon_H243 | zenon_intro zenon_H19f ].
% 40.94/41.16  cut (((op (e2) (e4)) = (op (e2) (e4))) = ((op (op (e1) (e4)) (e4)) = (op (e2) (e4)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H242.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H243.
% 40.94/41.16  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 40.94/41.16  cut (((op (e2) (e4)) = (op (op (e1) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 40.94/41.16  congruence.
% 40.94/41.16  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.16  cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 40.94/41.16  congruence.
% 40.94/41.16  apply zenon_Hac. apply sym_equal. exact zenon_Hab.
% 40.94/41.16  apply zenon_H97. apply refl_equal.
% 40.94/41.16  apply zenon_H19f. apply refl_equal.
% 40.94/41.16  apply zenon_H19f. apply refl_equal.
% 40.94/41.16  apply zenon_H198. apply sym_equal. exact zenon_H197.
% 40.94/41.16  (* end of lemma zenon_L394_ *)
% 40.94/41.16  assert (zenon_L395_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H197 zenon_H241 zenon_H240 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.16  apply (zenon_L277_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.16  apply (zenon_L394_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.16  apply (zenon_L123_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.16  apply (zenon_L285_); trivial.
% 40.94/41.16  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.16  (* end of lemma zenon_L395_ *)
% 40.94/41.16  assert (zenon_L396_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H19a zenon_H91 zenon_H168 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H81 zenon_H7b zenon_H88 zenon_Hb zenon_He0 zenon_Hba zenon_H57 zenon_Hbb zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_H240 zenon_H241 zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_Hc2 zenon_H146.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.16  apply (zenon_L264_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.16  apply (zenon_L178_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.16  apply (zenon_L266_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.16  apply (zenon_L395_); trivial.
% 40.94/41.16  exact (zenon_H146 zenon_H144).
% 40.94/41.16  (* end of lemma zenon_L396_ *)
% 40.94/41.16  assert (zenon_L397_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_Hc2 zenon_H2d zenon_Ha1 zenon_H197 zenon_H241 zenon_H240 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.16  apply (zenon_L53_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.16  apply (zenon_L394_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.16  apply (zenon_L279_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.16  apply (zenon_L294_); trivial.
% 40.94/41.16  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.16  (* end of lemma zenon_L397_ *)
% 40.94/41.16  assert (zenon_L398_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H19a zenon_H168 zenon_H18e zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H240 zenon_H241 zenon_Ha1 zenon_H2d zenon_Hc2 zenon_H146.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.16  apply (zenon_L263_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.16  apply (zenon_L300_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.16  apply (zenon_L266_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.16  apply (zenon_L397_); trivial.
% 40.94/41.16  exact (zenon_H146 zenon_H144).
% 40.94/41.16  (* end of lemma zenon_L398_ *)
% 40.94/41.16  assert (zenon_L399_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H116 zenon_H1c9 zenon_H9f zenon_Hb9 zenon_H49 zenon_Hbb zenon_Hba zenon_He0 zenon_Hb zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hee zenon_H87 zenon_H81 zenon_H89 zenon_H57 zenon_H6e zenon_H77 zenon_H73 zenon_H88 zenon_He1 zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_H2d zenon_Ha1 zenon_H241 zenon_H240 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.16  apply (zenon_L272_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.16  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.16  apply (zenon_L273_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.16  apply (zenon_L274_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.16  apply (zenon_L12_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.16  apply (zenon_L396_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.16  apply (zenon_L41_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.16  exact (zenon_He1 zenon_He5).
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.16  apply (zenon_L243_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.16  apply (zenon_L275_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.16  apply (zenon_L276_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.16  apply (zenon_L398_); trivial.
% 40.94/41.16  exact (zenon_H13e zenon_H142).
% 40.94/41.16  (* end of lemma zenon_L399_ *)
% 40.94/41.16  assert (zenon_L400_ : (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e0)) -> ((op (e2) (e0)) = (e2)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H245 zenon_Hc zenon_H9 zenon_Hba.
% 40.94/41.16  cut (((op (unit) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e2) (e0)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_H245.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_Hc.
% 40.94/41.16  cut (((e2) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 40.94/41.16  cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 40.94/41.16  congruence.
% 40.94/41.16  elim (classic ((op (e0) (e2)) = (op (e0) (e2)))); [ zenon_intro zenon_H10 | zenon_intro zenon_H11 ].
% 40.94/41.16  cut (((op (e0) (e2)) = (op (e0) (e2))) = ((op (unit) (e2)) = (op (e0) (e2)))).
% 40.94/41.16  intro zenon_D_pnotp.
% 40.94/41.16  apply zenon_Hf.
% 40.94/41.16  rewrite <- zenon_D_pnotp.
% 40.94/41.16  exact zenon_H10.
% 40.94/41.16  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 40.94/41.16  cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 40.94/41.16  congruence.
% 40.94/41.16  apply (zenon_L2_); trivial.
% 40.94/41.16  apply zenon_H11. apply refl_equal.
% 40.94/41.16  apply zenon_H11. apply refl_equal.
% 40.94/41.16  apply zenon_Hbd. apply sym_equal. exact zenon_Hba.
% 40.94/41.16  (* end of lemma zenon_L400_ *)
% 40.94/41.16  assert (zenon_L401_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H3b zenon_Hba zenon_H245 zenon_H4a zenon_Hc zenon_H49 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.16  apply (zenon_L400_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.16  apply (zenon_L17_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.16  apply (zenon_L84_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.16  apply (zenon_L270_); trivial.
% 40.94/41.16  apply (zenon_L290_); trivial.
% 40.94/41.16  (* end of lemma zenon_L401_ *)
% 40.94/41.16  assert (zenon_L402_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.16  do 0 intro. intros zenon_H3b zenon_Hba zenon_H245 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.16  apply (zenon_L400_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.16  apply (zenon_L287_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.16  apply (zenon_L84_); trivial.
% 40.94/41.16  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.16  apply (zenon_L270_); trivial.
% 40.94/41.16  apply (zenon_L44_); trivial.
% 40.94/41.16  (* end of lemma zenon_L402_ *)
% 40.94/41.16  assert (zenon_L403_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e2) (e0)) = (e2)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H168 zenon_H20 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H245 zenon_Hba zenon_H3b zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L402_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L403_ *)
% 40.94/41.17  assert (zenon_L404_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e2) (e0)) = (e2)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_He0 zenon_Hb zenon_H1bf zenon_H197 zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H32 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H168 zenon_H20 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H245 zenon_Hba zenon_H3b zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L401_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L403_); trivial.
% 40.94/41.17  (* end of lemma zenon_L404_ *)
% 40.94/41.17  assert (zenon_L405_ : (~((op (e4) (e4)) = (e1))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H146 zenon_Hba zenon_H245 zenon_H15f zenon_H42 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H34 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.17  apply (zenon_L404_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.17  apply (zenon_L304_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.17  apply (zenon_L73_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.17  apply (zenon_L305_); trivial.
% 40.94/41.17  exact (zenon_Hda zenon_Hde).
% 40.94/41.17  (* end of lemma zenon_L405_ *)
% 40.94/41.17  assert (zenon_L406_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H13e zenon_Hbb zenon_Hc3 zenon_H1b9 zenon_H115 zenon_H11f zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hb6 zenon_H116 zenon_Ha1 zenon_Hc2 zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H89 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H34 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H42 zenon_H15f zenon_H245 zenon_Hba zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.17  apply (zenon_L272_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.17  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.17  apply (zenon_L274_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L298_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L41_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L405_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L406_ *)
% 40.94/41.17  assert (zenon_L407_ : (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e0)) -> ((op (e2) (e1)) = (e1)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H246 zenon_H16 zenon_H9 zenon_H247.
% 40.94/41.17  cut (((op (unit) (e1)) = (e1)) = ((op (e0) (e1)) = (op (e2) (e1)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H246.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H16.
% 40.94/41.17  cut (((e1) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 40.94/41.17  cut (((op (unit) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e0) (e1)) = (op (e0) (e1)))); [ zenon_intro zenon_H138 | zenon_intro zenon_H139 ].
% 40.94/41.17  cut (((op (e0) (e1)) = (op (e0) (e1))) = ((op (unit) (e1)) = (op (e0) (e1)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H177.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H138.
% 40.94/41.17  cut (((op (e0) (e1)) = (op (e0) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 40.94/41.17  cut (((op (e0) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L252_); trivial.
% 40.94/41.17  apply zenon_H139. apply refl_equal.
% 40.94/41.17  apply zenon_H139. apply refl_equal.
% 40.94/41.17  apply zenon_H248. apply sym_equal. exact zenon_H247.
% 40.94/41.17  (* end of lemma zenon_L407_ *)
% 40.94/41.17  assert (zenon_L408_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H3b zenon_Hbb zenon_Hba zenon_H22 zenon_H20 zenon_H1f zenon_H6e zenon_Hf2 zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  apply (zenon_L119_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L65_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L8_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L120_); trivial.
% 40.94/41.17  apply (zenon_L11_); trivial.
% 40.94/41.17  (* end of lemma zenon_L408_ *)
% 40.94/41.17  assert (zenon_L409_ : ((e1) = (op (e4) (e2))) -> ((op (e2) (e1)) = (e4)) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H34 zenon_H249 zenon_H24a.
% 40.94/41.17  elim (classic ((e1) = (e1))); [ zenon_intro zenon_H12a | zenon_intro zenon_H12 ].
% 40.94/41.17  cut (((e1) = (e1)) = ((op (op (e2) (e1)) (e2)) = (e1))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H24a.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H12a.
% 40.94/41.17  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.17  cut (((e1) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24b].
% 40.94/41.17  congruence.
% 40.94/41.17  cut (((e1) = (op (e4) (e2))) = ((e1) = (op (op (e2) (e1)) (e2)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H24b.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H34.
% 40.94/41.17  cut (((op (e4) (e2)) = (op (op (e2) (e1)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H24c].
% 40.94/41.17  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.17  congruence.
% 40.94/41.17  apply zenon_H12. apply refl_equal.
% 40.94/41.17  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.94/41.17  cut (((e4) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H24d].
% 40.94/41.17  congruence.
% 40.94/41.17  apply zenon_H24d. apply sym_equal. exact zenon_H249.
% 40.94/41.17  apply zenon_H7. apply refl_equal.
% 40.94/41.17  apply zenon_H12. apply refl_equal.
% 40.94/41.17  apply zenon_H12. apply refl_equal.
% 40.94/41.17  (* end of lemma zenon_L409_ *)
% 40.94/41.17  assert (zenon_L410_ : (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((unit) = (e0)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H24e zenon_H14d zenon_H11f zenon_H9 zenon_H246 zenon_H16 zenon_H32 zenon_H58 zenon_H6e zenon_H1f zenon_H20 zenon_Hba zenon_Hbb zenon_H3b zenon_H22 zenon_Hb9 zenon_H34 zenon_H24a.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H24e); [ zenon_intro zenon_H14c | zenon_intro zenon_H24f ].
% 40.94/41.17  apply (zenon_L216_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H24f); [ zenon_intro zenon_H247 | zenon_intro zenon_H250 ].
% 40.94/41.17  apply (zenon_L407_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H250); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H251 ].
% 40.94/41.17  apply (zenon_L408_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H251); [ zenon_intro zenon_H19e | zenon_intro zenon_H249 ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_L409_); trivial.
% 40.94/41.17  (* end of lemma zenon_L410_ *)
% 40.94/41.17  assert (zenon_L411_ : (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H24a zenon_Hb9 zenon_H3b zenon_Hbb zenon_Hba zenon_H6e zenon_H58 zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H81 zenon_H32 zenon_H16 zenon_H34.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  apply (zenon_L410_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L17_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L8_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L270_); trivial.
% 40.94/41.17  apply (zenon_L11_); trivial.
% 40.94/41.17  (* end of lemma zenon_L411_ *)
% 40.94/41.17  assert (zenon_L412_ : (~((op (op (e2) (e1)) (e2)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H24a zenon_H34 zenon_Hb9 zenon_H3b zenon_Hbb zenon_Hba zenon_H6e zenon_H58 zenon_H32 zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  apply (zenon_L410_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L56_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L8_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L270_); trivial.
% 40.94/41.17  apply (zenon_L44_); trivial.
% 40.94/41.17  (* end of lemma zenon_L412_ *)
% 40.94/41.17  assert (zenon_L413_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Hb zenon_H49 zenon_H57 zenon_He1 zenon_H24a zenon_H34 zenon_Hb9 zenon_H3b zenon_Hbb zenon_Hba zenon_H6e zenon_H58 zenon_H32 zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L411_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L286_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L412_); trivial.
% 40.94/41.17  (* end of lemma zenon_L413_ *)
% 40.94/41.17  assert (zenon_L414_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H81 zenon_H197 zenon_Haa zenon_H24e zenon_H14d zenon_H246 zenon_H6e zenon_Hba zenon_Hbb zenon_Hb9 zenon_H24a zenon_He1 zenon_H57 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.17  apply (zenon_L53_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.17  apply (zenon_L413_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.17  apply (zenon_L279_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.17  apply (zenon_L294_); trivial.
% 40.94/41.17  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.17  (* end of lemma zenon_L414_ *)
% 40.94/41.17  assert (zenon_L415_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H19a zenon_H168 zenon_H18e zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H57 zenon_He1 zenon_H24a zenon_Hb9 zenon_Hbb zenon_Hba zenon_H6e zenon_H246 zenon_H14d zenon_H24e zenon_Haa zenon_H81 zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L414_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L415_ *)
% 40.94/41.17  assert (zenon_L416_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H116 zenon_H9f zenon_H1c9 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H88 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hee zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H81 zenon_Haa zenon_H24e zenon_H14d zenon_H246 zenon_H6e zenon_Hba zenon_Hbb zenon_Hb9 zenon_H24a zenon_He1 zenon_H57 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.17  apply (zenon_L272_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.17  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.17  apply (zenon_L274_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L299_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.17  apply (zenon_L243_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.17  apply (zenon_L275_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.17  apply (zenon_L276_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.17  apply (zenon_L415_); trivial.
% 40.94/41.17  exact (zenon_H13e zenon_H142).
% 40.94/41.17  (* end of lemma zenon_L416_ *)
% 40.94/41.17  assert (zenon_L417_ : ((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2))))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H252.
% 40.94/41.17  apply (zenon_and_s _ _ zenon_H252). zenon_intro zenon_H254. zenon_intro zenon_H253.
% 40.94/41.17  apply zenon_H254. apply refl_equal.
% 40.94/41.17  (* end of lemma zenon_L417_ *)
% 40.94/41.17  assert (zenon_L418_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e3)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_H87 zenon_H83 zenon_H5f zenon_H81 zenon_H7b zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H77 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H178 zenon_H51 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L258_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L41_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L259_); trivial.
% 40.94/41.17  (* end of lemma zenon_L418_ *)
% 40.94/41.17  assert (zenon_L419_ : (~((op (e1) (e3)) = (op (op (e2) (e3)) (e3)))) -> ((op (e2) (e3)) = (e1)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H255 zenon_H22c.
% 40.94/41.17  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 40.94/41.17  cut (((e1) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 40.94/41.17  congruence.
% 40.94/41.17  apply zenon_H22f. apply sym_equal. exact zenon_H22c.
% 40.94/41.17  apply zenon_H1e. apply refl_equal.
% 40.94/41.17  (* end of lemma zenon_L419_ *)
% 40.94/41.17  assert (zenon_L420_ : (~((op (e1) (e3)) = (op (e4) (e3)))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> ((op (e2) (e3)) = (e1)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H256 zenon_H257 zenon_H22c zenon_H92.
% 40.94/41.17  cut (((op (op (e2) (e3)) (e3)) = (e2)) = ((op (e1) (e3)) = (op (e4) (e3)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H256.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H257.
% 40.94/41.17  cut (((e2) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 40.94/41.17  cut (((op (op (e2) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H258].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 40.94/41.17  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (op (e2) (e3)) (e3)) = (op (e1) (e3)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H258.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H2e.
% 40.94/41.17  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 40.94/41.17  cut (((op (e1) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H255].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L419_); trivial.
% 40.94/41.17  apply zenon_H2f. apply refl_equal.
% 40.94/41.17  apply zenon_H2f. apply refl_equal.
% 40.94/41.17  apply zenon_H93. apply sym_equal. exact zenon_H92.
% 40.94/41.17  (* end of lemma zenon_L420_ *)
% 40.94/41.17  assert (zenon_L421_ : (~((op (e4) (e4)) = (e0))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> ((op (e2) (e3)) = (e1)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H13e zenon_H19a zenon_H168 zenon_Hbb zenon_H18e zenon_Hc3 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H15f zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H17 zenon_H18 zenon_Hc zenon_H42 zenon_Hda zenon_Hb6 zenon_H8e zenon_H60 zenon_H116 zenon_Ha1 zenon_Hc2 zenon_H146 zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H22 zenon_H68 zenon_H32 zenon_H16 zenon_H34 zenon_H3b zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H256 zenon_H257 zenon_H22c.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L299_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L420_); trivial.
% 40.94/41.17  (* end of lemma zenon_L421_ *)
% 40.94/41.17  assert (zenon_L422_ : (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e3) (e3)) = (e3))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> ((op (unit) (e0)) = (e0)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e3) (e3)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H236 zenon_H89 zenon_H257 zenon_H256 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H3b zenon_H16 zenon_H32 zenon_H68 zenon_H22 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H116 zenon_H60 zenon_H8e zenon_Hb6 zenon_Hda zenon_H42 zenon_Hc zenon_H18 zenon_H17 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H15f zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H18e zenon_Hbb zenon_H168 zenon_H19a zenon_H13e zenon_H237 zenon_H34 zenon_H91.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H178 | zenon_intro zenon_H238 ].
% 40.94/41.17  apply (zenon_L418_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H10f | zenon_intro zenon_H239 ].
% 40.94/41.17  apply (zenon_L157_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H22c | zenon_intro zenon_H23a ].
% 40.94/41.17  apply (zenon_L421_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_H23b | zenon_intro zenon_H233 ].
% 40.94/41.17  exact (zenon_H237 zenon_H23b).
% 40.94/41.17  apply (zenon_L385_); trivial.
% 40.94/41.17  (* end of lemma zenon_L422_ *)
% 40.94/41.17  assert (zenon_L423_ : ((op (op (e2) (e4)) (e4)) = (e2)) -> ((e3) = (op (e2) (e4))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H259 zenon_H22 zenon_Hab zenon_H1ad.
% 40.94/41.17  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.17  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e1) (e4)) = (op (e3) (e4)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H1ad.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H1e0.
% 40.94/41.17  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.17  cut (((op (e3) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 40.94/41.17  congruence.
% 40.94/41.17  cut (((op (op (e2) (e4)) (e4)) = (e2)) = ((op (e3) (e4)) = (op (e1) (e4)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H25a.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H259.
% 40.94/41.17  cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 40.94/41.17  cut (((op (op (e2) (e4)) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H25b].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e1 ].
% 40.94/41.17  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (op (e2) (e4)) (e4)) = (op (e3) (e4)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H25b.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H1e0.
% 40.94/41.17  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1e1].
% 40.94/41.17  cut (((op (e3) (e4)) = (op (op (e2) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 40.94/41.17  congruence.
% 40.94/41.17  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.17  cut (((e3) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 40.94/41.17  congruence.
% 40.94/41.17  exact (zenon_H23 zenon_H22).
% 40.94/41.17  apply zenon_H97. apply refl_equal.
% 40.94/41.17  apply zenon_H1e1. apply refl_equal.
% 40.94/41.17  apply zenon_H1e1. apply refl_equal.
% 40.94/41.17  apply zenon_Hac. apply sym_equal. exact zenon_Hab.
% 40.94/41.17  apply zenon_H1e1. apply refl_equal.
% 40.94/41.17  apply zenon_H1e1. apply refl_equal.
% 40.94/41.17  (* end of lemma zenon_L423_ *)
% 40.94/41.17  assert (zenon_L424_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H259 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.17  apply (zenon_L277_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.17  apply (zenon_L423_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.17  apply (zenon_L123_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.17  apply (zenon_L285_); trivial.
% 40.94/41.17  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.17  (* end of lemma zenon_L424_ *)
% 40.94/41.17  assert (zenon_L425_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc2 zenon_H2d zenon_Ha1 zenon_H259 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.17  apply (zenon_L53_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.17  apply (zenon_L423_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.17  apply (zenon_L279_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.17  apply (zenon_L294_); trivial.
% 40.94/41.17  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.17  (* end of lemma zenon_L425_ *)
% 40.94/41.17  assert (zenon_L426_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H116 zenon_H168 zenon_H19a zenon_H1c9 zenon_H9f zenon_He0 zenon_Hb zenon_H49 zenon_Hb9 zenon_H88 zenon_H81 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_H1c4 zenon_H165 zenon_H1a9 zenon_Hc3 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H20 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H259 zenon_Ha1 zenon_H2d zenon_Hc2 zenon_H13e.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.17  apply (zenon_L272_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.17  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.17  apply (zenon_L274_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L424_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.17  apply (zenon_L243_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.17  apply (zenon_L275_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.17  apply (zenon_L276_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.17  apply (zenon_L425_); trivial.
% 40.94/41.17  exact (zenon_H13e zenon_H142).
% 40.94/41.17  (* end of lemma zenon_L426_ *)
% 40.94/41.17  assert (zenon_L427_ : (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e0)) = (e3)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H25d zenon_H20 zenon_H9 zenon_H60.
% 40.94/41.17  cut (((op (unit) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e3) (e0)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H25d.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H20.
% 40.94/41.17  cut (((e3) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 40.94/41.17  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 40.94/41.17  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (unit) (e3)) = (op (e0) (e3)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H195.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H52.
% 40.94/41.17  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 40.94/41.17  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L267_); trivial.
% 40.94/41.17  apply zenon_H53. apply refl_equal.
% 40.94/41.17  apply zenon_H53. apply refl_equal.
% 40.94/41.17  apply zenon_H65. apply sym_equal. exact zenon_H60.
% 40.94/41.17  (* end of lemma zenon_L427_ *)
% 40.94/41.17  assert (zenon_L428_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H3b zenon_H60 zenon_H25d zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  apply (zenon_L427_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L56_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L8_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L270_); trivial.
% 40.94/41.17  apply (zenon_L44_); trivial.
% 40.94/41.17  (* end of lemma zenon_L428_ *)
% 40.94/41.17  assert (zenon_L429_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_Haa zenon_Hab zenon_H25d zenon_H60 zenon_H3b zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L428_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L429_ *)
% 40.94/41.17  assert (zenon_L430_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_He0 zenon_Hb zenon_H116 zenon_H34 zenon_H32 zenon_H197 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_Haa zenon_Hab zenon_H25d zenon_H60 zenon_H3b zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L278_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L286_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L429_); trivial.
% 40.94/41.17  (* end of lemma zenon_L430_ *)
% 40.94/41.17  assert (zenon_L431_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H146 zenon_H25d zenon_Haa zenon_H81 zenon_H91 zenon_H18e zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_He1 zenon_H57 zenon_H6e zenon_H197 zenon_H116 zenon_Hb zenon_He0 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.17  apply (zenon_L277_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.17  apply (zenon_L430_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.17  apply (zenon_L279_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.17  apply (zenon_L285_); trivial.
% 40.94/41.17  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.17  (* end of lemma zenon_L431_ *)
% 40.94/41.17  assert (zenon_L432_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H7b zenon_H88 zenon_Hba zenon_Hbb zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_He0 zenon_Hb zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H18e zenon_H91 zenon_H81 zenon_Haa zenon_H25d zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L264_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L178_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L431_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L432_ *)
% 40.94/41.17  assert (zenon_L433_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H92 zenon_Haa zenon_H25d zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H197 zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.17  apply (zenon_L53_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.17  apply (zenon_L428_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.17  apply (zenon_L279_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.17  apply (zenon_L295_); trivial.
% 40.94/41.17  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.17  (* end of lemma zenon_L433_ *)
% 40.94/41.17  assert (zenon_L434_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e4) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H92 zenon_Haa zenon_H25d zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.17  apply (zenon_L243_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.17  apply (zenon_L275_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.17  apply (zenon_L276_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L433_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  exact (zenon_H13e zenon_H142).
% 40.94/41.17  (* end of lemma zenon_L434_ *)
% 40.94/41.17  assert (zenon_L435_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H116 zenon_Hbb zenon_H88 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_Haa zenon_H25d zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H13e.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.17  apply (zenon_L272_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.17  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.17  apply (zenon_L274_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L432_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L434_); trivial.
% 40.94/41.17  (* end of lemma zenon_L435_ *)
% 40.94/41.17  assert (zenon_L436_ : ((op (unit) (e2)) = (e2)) -> ((unit) = (e3)) -> ((op (e3) (e0)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hc zenon_H2a zenon_H25e zenon_H8e.
% 40.94/41.17  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.94/41.17  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (e0)) = (op (e3) (e2)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H8e.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H85.
% 40.94/41.17  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.94/41.17  cut (((op (e3) (e2)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 40.94/41.17  congruence.
% 40.94/41.17  cut (((op (unit) (e2)) = (e2)) = ((op (e3) (e2)) = (op (e3) (e0)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H8f.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_Hc.
% 40.94/41.17  cut (((e2) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 40.94/41.17  cut (((op (unit) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.94/41.17  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (unit) (e2)) = (op (e3) (e2)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_Hc1.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H85.
% 40.94/41.17  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.94/41.17  cut (((op (e3) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L66_); trivial.
% 40.94/41.17  apply zenon_H86. apply refl_equal.
% 40.94/41.17  apply zenon_H86. apply refl_equal.
% 40.94/41.17  apply zenon_H25f. apply sym_equal. exact zenon_H25e.
% 40.94/41.17  apply zenon_H86. apply refl_equal.
% 40.94/41.17  apply zenon_H86. apply refl_equal.
% 40.94/41.17  (* end of lemma zenon_L436_ *)
% 40.94/41.17  assert (zenon_L437_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H3b zenon_H58 zenon_H260 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H8e zenon_H25e zenon_Hc zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e0)) = (op (e3) (e0)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H260.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H58.
% 40.94/41.17  cut (((e2) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 40.94/41.17  cut (((op (e2) (unit)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e2) (e0)) = (op (e2) (e0)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H5d ].
% 40.94/41.17  cut (((op (e2) (e0)) = (op (e2) (e0))) = ((op (e2) (unit)) = (op (e2) (e0)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H5b.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H5c.
% 40.94/41.17  cut (((op (e2) (e0)) = (op (e2) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 40.94/41.17  cut (((op (e2) (e0)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L21_); trivial.
% 40.94/41.17  apply zenon_H5d. apply refl_equal.
% 40.94/41.17  apply zenon_H5d. apply refl_equal.
% 40.94/41.17  apply zenon_H25f. apply sym_equal. exact zenon_H25e.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L287_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L84_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L436_); trivial.
% 40.94/41.17  apply (zenon_L290_); trivial.
% 40.94/41.17  (* end of lemma zenon_L437_ *)
% 40.94/41.17  assert (zenon_L438_ : (~((op (e2) (e1)) = (op (e4) (e1)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> ((op (e3) (e1)) = (e2)) -> ((op (e4) (e1)) = (e3)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H261 zenon_H262 zenon_H263 zenon_H1bf.
% 40.94/41.17  cut (((op (op (e3) (e1)) (e1)) = (e3)) = ((op (e2) (e1)) = (op (e4) (e1)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H261.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H262.
% 40.94/41.17  cut (((e3) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 40.94/41.17  cut (((op (op (e3) (e1)) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H264].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e2) (e1)) = (op (e2) (e1)))); [ zenon_intro zenon_H70 | zenon_intro zenon_H71 ].
% 40.94/41.17  cut (((op (e2) (e1)) = (op (e2) (e1))) = ((op (op (e3) (e1)) (e1)) = (op (e2) (e1)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H264.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H70.
% 40.94/41.17  cut (((op (e2) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 40.94/41.17  cut (((op (e2) (e1)) = (op (op (e3) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 40.94/41.17  congruence.
% 40.94/41.17  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 40.94/41.17  cut (((e2) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 40.94/41.17  congruence.
% 40.94/41.17  apply zenon_H266. apply sym_equal. exact zenon_H263.
% 40.94/41.17  apply zenon_H12. apply refl_equal.
% 40.94/41.17  apply zenon_H71. apply refl_equal.
% 40.94/41.17  apply zenon_H71. apply refl_equal.
% 40.94/41.17  apply zenon_H1c0. apply sym_equal. exact zenon_H1bf.
% 40.94/41.17  (* end of lemma zenon_L438_ *)
% 40.94/41.17  assert (zenon_L439_ : (~((op (e0) (e2)) = (op (e3) (e2)))) -> ((op (unit) (e2)) = (e2)) -> ((unit) = (e0)) -> ((op (e3) (e2)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H267 zenon_Hc zenon_H9 zenon_H268.
% 40.94/41.17  cut (((op (unit) (e2)) = (e2)) = ((op (e0) (e2)) = (op (e3) (e2)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_H267.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_Hc.
% 40.94/41.17  cut (((e2) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 40.94/41.17  cut (((op (unit) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 40.94/41.17  congruence.
% 40.94/41.17  elim (classic ((op (e0) (e2)) = (op (e0) (e2)))); [ zenon_intro zenon_H10 | zenon_intro zenon_H11 ].
% 40.94/41.17  cut (((op (e0) (e2)) = (op (e0) (e2))) = ((op (unit) (e2)) = (op (e0) (e2)))).
% 40.94/41.17  intro zenon_D_pnotp.
% 40.94/41.17  apply zenon_Hf.
% 40.94/41.17  rewrite <- zenon_D_pnotp.
% 40.94/41.17  exact zenon_H10.
% 40.94/41.17  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 40.94/41.17  cut (((op (e0) (e2)) = (op (unit) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 40.94/41.17  congruence.
% 40.94/41.17  apply (zenon_L2_); trivial.
% 40.94/41.17  apply zenon_H11. apply refl_equal.
% 40.94/41.17  apply zenon_H11. apply refl_equal.
% 40.94/41.17  apply zenon_H269. apply sym_equal. exact zenon_H268.
% 40.94/41.17  (* end of lemma zenon_L439_ *)
% 40.94/41.17  assert (zenon_L440_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e2)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H3b zenon_H268 zenon_Hc zenon_H267 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.17  apply (zenon_L439_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.17  apply (zenon_L287_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.17  apply (zenon_L84_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.17  apply (zenon_L102_); trivial.
% 40.94/41.17  apply (zenon_L290_); trivial.
% 40.94/41.17  (* end of lemma zenon_L440_ *)
% 40.94/41.17  assert (zenon_L441_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H83 zenon_H49 zenon_H16 zenon_H32 zenon_H81 zenon_H197 zenon_H1f zenon_H20 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_Hbf zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L285_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L286_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L288_); trivial.
% 40.94/41.17  (* end of lemma zenon_L441_ *)
% 40.94/41.17  assert (zenon_L442_ : (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H26a zenon_H8e zenon_H260 zenon_H262 zenon_H261 zenon_Hb1 zenon_H1bf zenon_H267 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H83 zenon_H49 zenon_H16 zenon_H32 zenon_H81 zenon_H197 zenon_H1f zenon_H20 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H26a); [ zenon_intro zenon_H25e | zenon_intro zenon_H26b ].
% 40.94/41.17  apply (zenon_L437_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H26b); [ zenon_intro zenon_H263 | zenon_intro zenon_H26c ].
% 40.94/41.17  apply (zenon_L438_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H26c); [ zenon_intro zenon_H268 | zenon_intro zenon_H26d ].
% 40.94/41.17  apply (zenon_L440_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H26d); [ zenon_intro zenon_He5 | zenon_intro zenon_Hbf ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L441_); trivial.
% 40.94/41.17  (* end of lemma zenon_L442_ *)
% 40.94/41.17  assert (zenon_L443_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_Hd9 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H49 zenon_H83 zenon_Hb zenon_H2d zenon_He0 zenon_H267 zenon_H261 zenon_H262 zenon_H260 zenon_H8e zenon_H26a zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.17  apply (zenon_L442_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.17  apply (zenon_L304_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.17  apply (zenon_L73_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.17  apply (zenon_L305_); trivial.
% 40.94/41.17  exact (zenon_Hda zenon_Hde).
% 40.94/41.17  (* end of lemma zenon_L443_ *)
% 40.94/41.17  assert (zenon_L444_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H61 zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H92 zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_H26a zenon_H8e zenon_H260 zenon_H262 zenon_H261 zenon_H267 zenon_He0 zenon_H2d zenon_Hb zenon_H83 zenon_H49 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_Hd9 zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.17  apply (zenon_L263_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.17  apply (zenon_L300_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.17  apply (zenon_L266_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.17  apply (zenon_L443_); trivial.
% 40.94/41.17  exact (zenon_H146 zenon_H144).
% 40.94/41.17  (* end of lemma zenon_L444_ *)
% 40.94/41.17  assert (zenon_L445_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.17  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H116 zenon_Hab zenon_H88 zenon_H7b zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H61 zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_H26a zenon_H8e zenon_H260 zenon_H262 zenon_H261 zenon_H267 zenon_He0 zenon_H2d zenon_Hb zenon_H83 zenon_H49 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_Hd9 zenon_H146.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.17  apply (zenon_L272_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.17  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.17  apply (zenon_L273_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.17  apply (zenon_L274_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.17  apply (zenon_L12_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.17  apply (zenon_L278_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.17  apply (zenon_L112_); trivial.
% 40.94/41.17  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.17  exact (zenon_He1 zenon_He5).
% 40.94/41.17  apply (zenon_L444_); trivial.
% 40.94/41.17  (* end of lemma zenon_L445_ *)
% 40.94/41.17  assert (zenon_L446_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H146 zenon_H267 zenon_H261 zenon_H262 zenon_H260 zenon_H26a zenon_H18e zenon_H168 zenon_H19a zenon_Hee zenon_Hba zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H88 zenon_H116 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H197 zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.18  apply (zenon_L277_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.18  apply (zenon_L445_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.18  apply (zenon_L279_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.18  apply (zenon_L295_); trivial.
% 40.94/41.18  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.18  (* end of lemma zenon_L446_ *)
% 40.94/41.18  assert (zenon_L447_ : ((op (e1) (e3)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H4a zenon_Hbb zenon_Hc3 zenon_He0 zenon_H2d zenon_Hb zenon_H49 zenon_H81 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H116 zenon_H88 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_H19a zenon_H168 zenon_H18e zenon_H26a zenon_H260 zenon_H262 zenon_H261 zenon_H267 zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.18  apply (zenon_L262_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.18  apply (zenon_L178_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.18  apply (zenon_L266_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.18  apply (zenon_L446_); trivial.
% 40.94/41.18  exact (zenon_H146 zenon_H144).
% 40.94/41.18  (* end of lemma zenon_L447_ *)
% 40.94/41.18  assert (zenon_L448_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H1c4 zenon_H169 zenon_H165 zenon_H1a9 zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H267 zenon_H261 zenon_H262 zenon_H260 zenon_H26a zenon_H18e zenon_H168 zenon_H19a zenon_Hee zenon_Hba zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H88 zenon_H116 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_He1 zenon_H57 zenon_H58 zenon_H6e zenon_H81 zenon_H49 zenon_Hb zenon_H2d zenon_He0 zenon_Hc3 zenon_Hbb zenon_H4a zenon_H13e.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.18  apply (zenon_L272_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.18  apply (zenon_L273_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.18  apply (zenon_L274_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.18  apply (zenon_L234_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.18  apply (zenon_L275_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.18  apply (zenon_L276_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.18  apply (zenon_L447_); trivial.
% 40.94/41.18  exact (zenon_H13e zenon_H142).
% 40.94/41.18  (* end of lemma zenon_L448_ *)
% 40.94/41.18  assert (zenon_L449_ : (~((op (e4) (e4)) = (e0))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H13e zenon_Hbb zenon_Hc3 zenon_Hb6 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H116 zenon_Ha1 zenon_Hc2 zenon_H1a9 zenon_H165 zenon_H169 zenon_H1c4 zenon_H88 zenon_H7b zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H61 zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_H26a zenon_H8e zenon_H260 zenon_H262 zenon_H261 zenon_H267 zenon_He0 zenon_H2d zenon_Hb zenon_H83 zenon_H49 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_Hd9 zenon_H146.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.18  apply (zenon_L272_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.18  apply (zenon_L273_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.18  apply (zenon_L274_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.18  apply (zenon_L12_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.18  apply (zenon_L448_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.18  apply (zenon_L112_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.18  exact (zenon_He1 zenon_He5).
% 40.94/41.18  apply (zenon_L444_); trivial.
% 40.94/41.18  (* end of lemma zenon_L449_ *)
% 40.94/41.18  assert (zenon_L450_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e0)) = (e3)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_He0 zenon_Hb zenon_H116 zenon_Hab zenon_H88 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_H1c4 zenon_H165 zenon_H115 zenon_H34 zenon_H11f zenon_H1a9 zenon_H146 zenon_Hd9 zenon_H15f zenon_H5f zenon_H216 zenon_H217 zenon_He8 zenon_Hd3 zenon_H7b zenon_H42 zenon_H17 zenon_H18 zenon_H9b zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_H13e.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.18  apply (zenon_L12_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.18  apply (zenon_L278_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.18  apply (zenon_L112_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.18  exact (zenon_He1 zenon_He5).
% 40.94/41.18  apply (zenon_L376_); trivial.
% 40.94/41.18  (* end of lemma zenon_L450_ *)
% 40.94/41.18  assert (zenon_L451_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e1) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H3b zenon_H217 zenon_H216 zenon_H5f zenon_H4a zenon_Hc zenon_H49 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.18  apply (zenon_L371_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.18  apply (zenon_L17_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.18  apply (zenon_L84_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.18  apply (zenon_L102_); trivial.
% 40.94/41.18  apply (zenon_L290_); trivial.
% 40.94/41.18  (* end of lemma zenon_L451_ *)
% 40.94/41.18  assert (zenon_L452_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e1) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H168 zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H9f zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H1f zenon_H20 zenon_H22 zenon_H68 zenon_H32 zenon_H16 zenon_H34 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_H217 zenon_H216 zenon_H5f zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.18  apply (zenon_L272_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.18  apply (zenon_L273_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.18  apply (zenon_L51_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.18  apply (zenon_L12_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.18  apply (zenon_L451_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.18  apply (zenon_L112_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.18  exact (zenon_He1 zenon_He5).
% 40.94/41.18  apply (zenon_L372_); trivial.
% 40.94/41.18  (* end of lemma zenon_L452_ *)
% 40.94/41.18  assert (zenon_L453_ : (~((op (e0) (e2)) = (op (e1) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> ((op (e3) (e2)) = (e0)) -> ((op (e1) (e2)) = (e3)) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H26e zenon_H26f zenon_H125 zenon_H21c.
% 40.94/41.18  cut (((op (op (e3) (e2)) (e2)) = (e3)) = ((op (e0) (e2)) = (op (e1) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H26e.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H26f.
% 40.94/41.18  cut (((e3) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 40.94/41.18  cut (((op (op (e3) (e2)) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 40.94/41.18  congruence.
% 40.94/41.18  elim (classic ((op (e0) (e2)) = (op (e0) (e2)))); [ zenon_intro zenon_H10 | zenon_intro zenon_H11 ].
% 40.94/41.18  cut (((op (e0) (e2)) = (op (e0) (e2))) = ((op (op (e3) (e2)) (e2)) = (op (e0) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H270.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H10.
% 40.94/41.18  cut (((op (e0) (e2)) = (op (e0) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 40.94/41.18  cut (((op (e0) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H271].
% 40.94/41.18  congruence.
% 40.94/41.18  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.94/41.18  cut (((e0) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H126].
% 40.94/41.18  congruence.
% 40.94/41.18  apply zenon_H126. apply sym_equal. exact zenon_H125.
% 40.94/41.18  apply zenon_H7. apply refl_equal.
% 40.94/41.18  apply zenon_H11. apply refl_equal.
% 40.94/41.18  apply zenon_H11. apply refl_equal.
% 40.94/41.18  apply zenon_H21f. apply sym_equal. exact zenon_H21c.
% 40.94/41.18  (* end of lemma zenon_L453_ *)
% 40.94/41.18  assert (zenon_L454_ : (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((op (e3) (e2)) = (e1)) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H21a zenon_H34 zenon_H272.
% 40.94/41.18  cut (((e1) = (op (e4) (e2))) = ((op (e3) (e2)) = (op (e4) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H21a.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H34.
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.18  cut (((e1) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 40.94/41.18  congruence.
% 40.94/41.18  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ].
% 40.94/41.18  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((e1) = (op (e3) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H273.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H85.
% 40.94/41.18  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 40.94/41.18  cut (((op (e3) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H274].
% 40.94/41.18  congruence.
% 40.94/41.18  exact (zenon_H274 zenon_H272).
% 40.94/41.18  apply zenon_H86. apply refl_equal.
% 40.94/41.18  apply zenon_H86. apply refl_equal.
% 40.94/41.18  apply zenon_H96. apply refl_equal.
% 40.94/41.18  (* end of lemma zenon_L454_ *)
% 40.94/41.18  assert (zenon_L455_ : ((op (op (e3) (e2)) (e2)) = (e3)) -> ((op (e3) (e2)) = (e4)) -> ((op (e1) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H26f zenon_H1f8 zenon_H21c zenon_H275.
% 40.94/41.18  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (e1) (e2)) = (op (e4) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H275.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H95.
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H276].
% 40.94/41.18  congruence.
% 40.94/41.18  cut (((op (op (e3) (e2)) (e2)) = (e3)) = ((op (e4) (e2)) = (op (e1) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H276.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H26f.
% 40.94/41.18  cut (((e3) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 40.94/41.18  cut (((op (op (e3) (e2)) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H277].
% 40.94/41.18  congruence.
% 40.94/41.18  elim (classic ((op (e4) (e2)) = (op (e4) (e2)))); [ zenon_intro zenon_H95 | zenon_intro zenon_H96 ].
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e4) (e2))) = ((op (op (e3) (e2)) (e2)) = (op (e4) (e2)))).
% 40.94/41.18  intro zenon_D_pnotp.
% 40.94/41.18  apply zenon_H277.
% 40.94/41.18  rewrite <- zenon_D_pnotp.
% 40.94/41.18  exact zenon_H95.
% 40.94/41.18  cut (((op (e4) (e2)) = (op (e4) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 40.94/41.18  cut (((op (e4) (e2)) = (op (op (e3) (e2)) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H278].
% 40.94/41.18  congruence.
% 40.94/41.18  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 40.94/41.18  cut (((e4) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 40.94/41.18  congruence.
% 40.94/41.18  apply zenon_H1fa. apply sym_equal. exact zenon_H1f8.
% 40.94/41.18  apply zenon_H7. apply refl_equal.
% 40.94/41.18  apply zenon_H96. apply refl_equal.
% 40.94/41.18  apply zenon_H96. apply refl_equal.
% 40.94/41.18  apply zenon_H21f. apply sym_equal. exact zenon_H21c.
% 40.94/41.18  apply zenon_H96. apply refl_equal.
% 40.94/41.18  apply zenon_H96. apply refl_equal.
% 40.94/41.18  (* end of lemma zenon_L455_ *)
% 40.94/41.18  assert (zenon_L456_ : (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H223 zenon_H217 zenon_Hb1 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H279 zenon_H26e zenon_H21a zenon_Hc zenon_H267 zenon_H5f zenon_H8e zenon_H26f zenon_H275 zenon_H61 zenon_H60 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H91 zenon_H17 zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H58 zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H81 zenon_H51 zenon_H146 zenon_H1c8 zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H41 zenon_H220 zenon_H3b zenon_H1ae zenon_H22.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H216 | zenon_intro zenon_H224 ].
% 40.94/41.18  apply (zenon_L452_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H1cc | zenon_intro zenon_H225 ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H21c | zenon_intro zenon_H226 ].
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.18  apply (zenon_L272_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.18  apply (zenon_L273_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.18  apply (zenon_L274_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H279); [ zenon_intro zenon_H125 | zenon_intro zenon_H27a ].
% 40.94/41.18  apply (zenon_L453_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H27a); [ zenon_intro zenon_H272 | zenon_intro zenon_H27b ].
% 40.94/41.18  apply (zenon_L454_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H27b); [ zenon_intro zenon_H268 | zenon_intro zenon_H27c ].
% 40.94/41.18  apply (zenon_L439_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H27c); [ zenon_intro zenon_H76 | zenon_intro zenon_H1f8 ].
% 40.94/41.18  apply (zenon_L83_); trivial.
% 40.94/41.18  apply (zenon_L455_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.18  apply (zenon_L287_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.18  apply (zenon_L84_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.18  apply (zenon_L102_); trivial.
% 40.94/41.18  apply (zenon_L290_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H221 | zenon_intro zenon_H1af ].
% 40.94/41.18  apply (zenon_L379_); trivial.
% 40.94/41.18  apply (zenon_L281_); trivial.
% 40.94/41.18  (* end of lemma zenon_L456_ *)
% 40.94/41.18  assert (zenon_L457_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Haa zenon_Hb6 zenon_Hda zenon_Hc3 zenon_Hbb zenon_H22 zenon_H1ae zenon_H3b zenon_H220 zenon_H41 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H1c8 zenon_H146 zenon_H51 zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H17 zenon_H91 zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H60 zenon_H61 zenon_H275 zenon_H26f zenon_H8e zenon_H5f zenon_H267 zenon_Hc zenon_H21a zenon_H26e zenon_H279 zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_Hb1 zenon_H217 zenon_H223 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 40.94/41.18  apply (zenon_L240_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 40.94/41.18  apply (zenon_L456_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 40.94/41.18  apply (zenon_L216_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 40.94/41.18  apply (zenon_L217_); trivial.
% 40.94/41.18  apply (zenon_L218_); trivial.
% 40.94/41.18  (* end of lemma zenon_L457_ *)
% 40.94/41.18  assert (zenon_L458_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H3b zenon_Hc9 zenon_H99 zenon_Hc8 zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H81 zenon_H1e7 zenon_Hd3 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.18  apply (zenon_L70_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.18  apply (zenon_L56_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.18  apply (zenon_L8_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.18  apply (zenon_L313_); trivial.
% 40.94/41.18  apply (zenon_L44_); trivial.
% 40.94/41.18  (* end of lemma zenon_L458_ *)
% 40.94/41.18  assert (zenon_L459_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e3)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H3b zenon_Hcc zenon_Hb1 zenon_Hcd zenon_H99 zenon_H81 zenon_H1e7 zenon_Hd3 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.18  apply (zenon_L74_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.18  apply (zenon_L75_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.18  apply (zenon_L76_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.18  apply (zenon_L313_); trivial.
% 40.94/41.18  apply (zenon_L44_); trivial.
% 40.94/41.18  (* end of lemma zenon_L459_ *)
% 40.94/41.18  assert (zenon_L460_ : (~((op (e1) (e1)) = (op (e4) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((op (unit) (e1)) = (e1)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H157 zenon_H34 zenon_H11f zenon_H152 zenon_H14d zenon_H223 zenon_H217 zenon_H18 zenon_H42 zenon_H279 zenon_H26e zenon_H21a zenon_H267 zenon_H5f zenon_H8e zenon_H26f zenon_H275 zenon_H61 zenon_H60 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H17 zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H58 zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H51 zenon_H146 zenon_H1c8 zenon_H16 zenon_H50 zenon_H16d zenon_H161 zenon_H41 zenon_H220 zenon_H1ae zenon_Hbb zenon_Hc3 zenon_Hb6 zenon_Ha1 zenon_Hc2 zenon_H89 zenon_H15b zenon_H32 zenon_H9b zenon_H1f zenon_H20 zenon_H22 zenon_Haa zenon_Hab zenon_Hc8 zenon_H92 zenon_Hc zenon_H91 zenon_Hd3 zenon_H1e7 zenon_H81 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.18  apply (zenon_L457_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.18  apply (zenon_L61_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.18  apply (zenon_L458_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.18  apply (zenon_L459_); trivial.
% 40.94/41.18  exact (zenon_Hda zenon_Hde).
% 40.94/41.18  (* end of lemma zenon_L460_ *)
% 40.94/41.18  assert (zenon_L461_ : (~((op (e4) (e4)) = (e0))) -> ((op (e1) (e1)) = (e0)) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e4) (e4)) = (e1))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> False).
% 40.94/41.18  do 0 intro. intros zenon_H13e zenon_H15f zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H146 zenon_Hd3 zenon_H1fb zenon_H81 zenon_H91 zenon_Hc zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_H1ff zenon_H26f zenon_H275 zenon_H157 zenon_H11f zenon_H152 zenon_H14d zenon_H223 zenon_H217 zenon_H42 zenon_H279 zenon_H26e zenon_H21a zenon_H267 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H58 zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H115 zenon_H51 zenon_H1c8 zenon_Hbb zenon_Hc3 zenon_Hb6 zenon_Ha1 zenon_Hc2 zenon_H89 zenon_H15b zenon_H9b zenon_Haa zenon_Hab zenon_Hc8 zenon_H99 zenon_Hb1 zenon_Hcc zenon_Hda zenon_H1e5 zenon_H1fe zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H41 zenon_H220 zenon_H3b zenon_H1ae zenon_H22.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H216 | zenon_intro zenon_H224 ].
% 40.94/41.18  apply (zenon_L450_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H1cc | zenon_intro zenon_H225 ].
% 40.94/41.18  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H21c | zenon_intro zenon_H226 ].
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.18  apply (zenon_L12_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.18  apply (zenon_L278_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.18  apply (zenon_L112_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.18  exact (zenon_He1 zenon_He5).
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 40.94/41.18  apply (zenon_L312_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 40.94/41.18  apply (zenon_L460_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 40.94/41.18  apply (zenon_L455_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 40.94/41.18  exact (zenon_H1ff zenon_H203).
% 40.94/41.18  apply (zenon_L355_); trivial.
% 40.94/41.18  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H221 | zenon_intro zenon_H1af ].
% 40.94/41.18  apply (zenon_L379_); trivial.
% 40.94/41.18  apply (zenon_L281_); trivial.
% 40.94/41.18  (* end of lemma zenon_L461_ *)
% 40.94/41.18  assert (zenon_L462_ : (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e4) (e4)) = (e0))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H220 zenon_H41 zenon_H161 zenon_H16d zenon_H50 zenon_H1fe zenon_H1e5 zenon_Hda zenon_Hcc zenon_Hb1 zenon_H99 zenon_Hc8 zenon_Haa zenon_H9b zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Hbb zenon_H1c8 zenon_H51 zenon_H116 zenon_He0 zenon_Hb zenon_H88 zenon_H7b zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H267 zenon_H21a zenon_H26e zenon_H279 zenon_H42 zenon_H217 zenon_H223 zenon_H14d zenon_H152 zenon_H157 zenon_H275 zenon_H26f zenon_H1ff zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H18e zenon_H91 zenon_H81 zenon_H1fb zenon_H146 zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H15f zenon_H13e zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.19  apply (zenon_L277_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.19  apply (zenon_L461_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.19  apply (zenon_L279_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.19  apply (zenon_L285_); trivial.
% 40.94/41.19  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.19  (* end of lemma zenon_L462_ *)
% 40.94/41.19  assert (zenon_L463_ : (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> ((op (e1) (e2)) = (e3)) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e3) (e3)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H1fe zenon_H1e5 zenon_Hda zenon_Hcc zenon_Hb1 zenon_H99 zenon_Hc8 zenon_Hab zenon_Haa zenon_H9b zenon_H32 zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Hb6 zenon_Hc3 zenon_Hbb zenon_H1ae zenon_H220 zenon_H161 zenon_H1c8 zenon_H146 zenon_H51 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H17 zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H60 zenon_H61 zenon_H8e zenon_H5f zenon_H267 zenon_H21a zenon_H26e zenon_H279 zenon_H42 zenon_H18 zenon_H217 zenon_H223 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157 zenon_H275 zenon_H21c zenon_H26f zenon_H1ff zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H92.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 40.94/41.19  apply (zenon_L312_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 40.94/41.19  apply (zenon_L460_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 40.94/41.19  apply (zenon_L455_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 40.94/41.19  exact (zenon_H1ff zenon_H203).
% 40.94/41.19  apply (zenon_L354_); trivial.
% 40.94/41.19  (* end of lemma zenon_L463_ *)
% 40.94/41.19  assert (zenon_L464_ : (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> ((op (e1) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H81 zenon_H197 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H1ff zenon_H26f zenon_H21c zenon_H275 zenon_H157 zenon_H152 zenon_H14d zenon_H223 zenon_H217 zenon_H279 zenon_H26e zenon_H21a zenon_H267 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hba zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H18e zenon_H51 zenon_H146 zenon_H1c8 zenon_H161 zenon_H220 zenon_Hbb zenon_Ha1 zenon_Hc2 zenon_H89 zenon_H15b zenon_Haa zenon_H1e5 zenon_H1fe zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.19  apply (zenon_L53_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.19  apply (zenon_L463_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.19  apply (zenon_L279_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.19  apply (zenon_L294_); trivial.
% 40.94/41.19  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.19  (* end of lemma zenon_L464_ *)
% 40.94/41.19  assert (zenon_L465_ : (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> ((op (e1) (e2)) = (e3)) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H1fe zenon_H1e5 zenon_Haa zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Hbb zenon_H220 zenon_H161 zenon_H1c8 zenon_H51 zenon_H18e zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H267 zenon_H21a zenon_H26e zenon_H279 zenon_H217 zenon_H223 zenon_H14d zenon_H152 zenon_H157 zenon_H275 zenon_H21c zenon_H26f zenon_H1ff zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.19  apply (zenon_L263_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.19  apply (zenon_L300_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.19  apply (zenon_L266_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.19  apply (zenon_L464_); trivial.
% 40.94/41.19  exact (zenon_H146 zenon_H144).
% 40.94/41.19  (* end of lemma zenon_L465_ *)
% 40.94/41.19  assert (zenon_L466_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> ((op (e1) (e2)) = (e3)) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H1a9 zenon_H146 zenon_H81 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H1ff zenon_H26f zenon_H21c zenon_H275 zenon_H157 zenon_H152 zenon_H14d zenon_H223 zenon_H217 zenon_H279 zenon_H26e zenon_H21a zenon_H267 zenon_H9f zenon_H73 zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H2d zenon_H168 zenon_He1 zenon_Hee zenon_Hba zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H57 zenon_H6e zenon_H77 zenon_H87 zenon_H88 zenon_H49 zenon_Hb zenon_He0 zenon_H116 zenon_H18e zenon_H51 zenon_H1c8 zenon_H161 zenon_H220 zenon_Hbb zenon_Ha1 zenon_Hc2 zenon_H89 zenon_H15b zenon_Haa zenon_H1e5 zenon_H1fe zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3 zenon_H13e.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 40.94/41.19  apply (zenon_L243_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 40.94/41.19  apply (zenon_L275_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 40.94/41.19  apply (zenon_L276_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 40.94/41.19  apply (zenon_L465_); trivial.
% 40.94/41.19  exact (zenon_H13e zenon_H142).
% 40.94/41.19  (* end of lemma zenon_L466_ *)
% 40.94/41.19  assert (zenon_L467_ : (~((op (e4) (e4)) = (e0))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> ((op (op (e3) (e2)) (e2)) = (e3)) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H13e zenon_Hc3 zenon_Hd9 zenon_H15f zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_Hc8 zenon_Hb1 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Hcc zenon_Hda zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H1fe zenon_H1e5 zenon_Haa zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Hbb zenon_H1c8 zenon_H51 zenon_H18e zenon_H116 zenon_He0 zenon_Hb zenon_H49 zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_H168 zenon_H2d zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H9f zenon_H267 zenon_H21a zenon_H26e zenon_H279 zenon_H217 zenon_H223 zenon_H14d zenon_H152 zenon_H157 zenon_H275 zenon_H26f zenon_H1ff zenon_H1fb zenon_H81 zenon_H146 zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H41 zenon_H220 zenon_H3b zenon_H1ae zenon_H22.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H216 | zenon_intro zenon_H224 ].
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.19  apply (zenon_L12_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.19  apply (zenon_L462_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.19  apply (zenon_L41_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.19  exact (zenon_He1 zenon_He5).
% 40.94/41.19  apply (zenon_L376_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H1cc | zenon_intro zenon_H225 ].
% 40.94/41.19  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H21c | zenon_intro zenon_H226 ].
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.19  apply (zenon_L272_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.19  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.19  apply (zenon_L273_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.19  apply (zenon_L274_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.19  apply (zenon_L12_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.19  apply (zenon_L462_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.19  apply (zenon_L41_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.19  exact (zenon_He1 zenon_He5).
% 40.94/41.19  apply (zenon_L466_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H221 | zenon_intro zenon_H1af ].
% 40.94/41.19  apply (zenon_L379_); trivial.
% 40.94/41.19  apply (zenon_L281_); trivial.
% 40.94/41.19  (* end of lemma zenon_L467_ *)
% 40.94/41.19  assert (zenon_L468_ : ((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3))))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H27d.
% 40.94/41.19  apply (zenon_and_s _ _ zenon_H27d). zenon_intro zenon_H6a. zenon_intro zenon_H27e.
% 40.94/41.19  apply zenon_H6a. apply refl_equal.
% 40.94/41.19  (* end of lemma zenon_L468_ *)
% 40.94/41.19  assert (zenon_L469_ : (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((op (op (e3) (e4)) (e4)) = (e3)) -> ((op (e3) (e4)) = (e1)) -> ((e3) = (op (e2) (e4))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H1ae zenon_H27f zenon_H197 zenon_H22.
% 40.94/41.19  cut (((op (op (e3) (e4)) (e4)) = (e3)) = ((op (e1) (e4)) = (op (e2) (e4)))).
% 40.94/41.19  intro zenon_D_pnotp.
% 40.94/41.19  apply zenon_H1ae.
% 40.94/41.19  rewrite <- zenon_D_pnotp.
% 40.94/41.19  exact zenon_H27f.
% 40.94/41.19  cut (((e3) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 40.94/41.19  cut (((op (op (e3) (e4)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H280].
% 40.94/41.19  congruence.
% 40.94/41.19  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 40.94/41.19  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((op (op (e3) (e4)) (e4)) = (op (e1) (e4)))).
% 40.94/41.19  intro zenon_D_pnotp.
% 40.94/41.19  apply zenon_H280.
% 40.94/41.19  rewrite <- zenon_D_pnotp.
% 40.94/41.19  exact zenon_H1a3.
% 40.94/41.19  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 40.94/41.19  cut (((op (e1) (e4)) = (op (op (e3) (e4)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 40.94/41.19  congruence.
% 40.94/41.19  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 40.94/41.19  cut (((e1) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 40.94/41.19  congruence.
% 40.94/41.19  apply zenon_H198. apply sym_equal. exact zenon_H197.
% 40.94/41.19  apply zenon_H97. apply refl_equal.
% 40.94/41.19  apply zenon_H1a4. apply refl_equal.
% 40.94/41.19  apply zenon_H1a4. apply refl_equal.
% 40.94/41.19  exact (zenon_H23 zenon_H22).
% 40.94/41.19  (* end of lemma zenon_L469_ *)
% 40.94/41.19  assert (zenon_L470_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (op (e3) (e4)) (e4)) = (e3)) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H49 zenon_Hc zenon_H4a zenon_H168 zenon_H34 zenon_H16 zenon_H32 zenon_H116 zenon_H2c zenon_H1f zenon_H20 zenon_H115 zenon_H112 zenon_H3b zenon_H18e zenon_H22 zenon_H27f zenon_H1ae zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.19  apply (zenon_L262_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.19  apply (zenon_L167_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.19  apply (zenon_L266_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.19  apply (zenon_L469_); trivial.
% 40.94/41.19  exact (zenon_H146 zenon_H144).
% 40.94/41.19  (* end of lemma zenon_L470_ *)
% 40.94/41.19  assert (zenon_L471_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (op (e3) (e4)) (e4)) = (e3)) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H16 zenon_H18 zenon_H168 zenon_H92 zenon_Hc zenon_H91 zenon_H20 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H3b zenon_H18e zenon_H22 zenon_H27f zenon_H1ae zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.19  apply (zenon_L263_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.19  apply (zenon_L300_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.19  apply (zenon_L266_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.19  apply (zenon_L469_); trivial.
% 40.94/41.19  exact (zenon_H146 zenon_H144).
% 40.94/41.19  (* end of lemma zenon_L471_ *)
% 40.94/41.19  assert (zenon_L472_ : (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> ((op (e4) (e0)) = (e4)) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H282 zenon_Hd3 zenon_H9 zenon_H9a.
% 40.94/41.19  cut (((op (unit) (e4)) = (e4)) = ((op (e0) (e4)) = (op (e4) (e0)))).
% 40.94/41.19  intro zenon_D_pnotp.
% 40.94/41.19  apply zenon_H282.
% 40.94/41.19  rewrite <- zenon_D_pnotp.
% 40.94/41.19  exact zenon_Hd3.
% 40.94/41.19  cut (((e4) = (op (e4) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 40.94/41.19  cut (((op (unit) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 40.94/41.19  congruence.
% 40.94/41.19  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b8 ].
% 40.94/41.19  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (unit) (e4)) = (op (e0) (e4)))).
% 40.94/41.19  intro zenon_D_pnotp.
% 40.94/41.19  apply zenon_H1b6.
% 40.94/41.19  rewrite <- zenon_D_pnotp.
% 40.94/41.19  exact zenon_H1b7.
% 40.94/41.19  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 40.94/41.19  cut (((op (e0) (e4)) = (op (unit) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 40.94/41.19  congruence.
% 40.94/41.19  apply (zenon_L282_); trivial.
% 40.94/41.19  apply zenon_H1b8. apply refl_equal.
% 40.94/41.19  apply zenon_H1b8. apply refl_equal.
% 40.94/41.19  apply zenon_H9d. apply sym_equal. exact zenon_H9a.
% 40.94/41.19  (* end of lemma zenon_L472_ *)
% 40.94/41.19  assert (zenon_L473_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H3b zenon_Hd3 zenon_H282 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H197 zenon_H16 zenon_H81 zenon_H20 zenon_H1bf zenon_Hb1.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 40.94/41.19  apply (zenon_L472_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 40.94/41.19  apply (zenon_L287_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 40.94/41.19  apply (zenon_L84_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 40.94/41.19  apply (zenon_L270_); trivial.
% 40.94/41.19  apply (zenon_L290_); trivial.
% 40.94/41.19  (* end of lemma zenon_L473_ *)
% 40.94/41.19  assert (zenon_L474_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_Hd9 zenon_H42 zenon_H15f zenon_H282 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 40.94/41.19  apply (zenon_L473_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 40.94/41.19  apply (zenon_L304_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 40.94/41.19  apply (zenon_L73_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 40.94/41.19  apply (zenon_L305_); trivial.
% 40.94/41.19  exact (zenon_Hda zenon_Hde).
% 40.94/41.19  (* end of lemma zenon_L474_ *)
% 40.94/41.19  assert (zenon_L475_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (e4)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_He0 zenon_H2c zenon_H2d zenon_Hb zenon_H116 zenon_Hab zenon_H34 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_Hd9 zenon_H42 zenon_H15f zenon_H282 zenon_He8 zenon_Hd3 zenon_H17 zenon_H18 zenon_H9b zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H197 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.19  apply (zenon_L12_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.19  apply (zenon_L278_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.19  apply (zenon_L286_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.19  exact (zenon_He1 zenon_He5).
% 40.94/41.19  apply (zenon_L474_); trivial.
% 40.94/41.19  (* end of lemma zenon_L475_ *)
% 40.94/41.19  assert (zenon_L476_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_Hda zenon_Hcc zenon_H99 zenon_H91 zenon_H197 zenon_H81 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H9b zenon_H18 zenon_H17 zenon_He8 zenon_H282 zenon_H15f zenon_H42 zenon_Hd9 zenon_He1 zenon_H57 zenon_H6e zenon_H116 zenon_Hb zenon_H2d zenon_He0 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 40.94/41.19  apply (zenon_L277_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 40.94/41.19  apply (zenon_L475_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 40.94/41.19  apply (zenon_L279_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 40.94/41.19  apply (zenon_L285_); trivial.
% 40.94/41.19  exact (zenon_Hc3 zenon_Hc7).
% 40.94/41.19  (* end of lemma zenon_L476_ *)
% 40.94/41.19  assert (zenon_L477_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H19a zenon_H168 zenon_Hee zenon_Hd4 zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H7b zenon_H88 zenon_Hba zenon_Hbb zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_He0 zenon_H2d zenon_Hb zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_Hd9 zenon_H42 zenon_H15f zenon_H282 zenon_He8 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hb1 zenon_H81 zenon_H91 zenon_H99 zenon_Hcc zenon_Hda zenon_Ha1 zenon_Hc2 zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.19  apply (zenon_L272_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.19  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.19  apply (zenon_L273_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.19  apply (zenon_L274_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.19  apply (zenon_L264_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.19  apply (zenon_L178_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.19  apply (zenon_L266_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.19  apply (zenon_L476_); trivial.
% 40.94/41.19  exact (zenon_H146 zenon_H144).
% 40.94/41.19  (* end of lemma zenon_L477_ *)
% 40.94/41.19  assert (zenon_L478_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H92 zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_H282 zenon_H15f zenon_H42 zenon_Hd9 zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 40.94/41.19  apply (zenon_L263_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 40.94/41.19  apply (zenon_L300_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 40.94/41.19  apply (zenon_L266_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 40.94/41.19  apply (zenon_L474_); trivial.
% 40.94/41.19  exact (zenon_H146 zenon_H144).
% 40.94/41.19  (* end of lemma zenon_L478_ *)
% 40.94/41.19  assert (zenon_L479_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 40.94/41.19  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H116 zenon_Hb zenon_He0 zenon_Hb6 zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hc3 zenon_Hbb zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H34 zenon_Hed zenon_He6 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hee zenon_He1 zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H16 zenon_H81 zenon_H20 zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H9b zenon_H18 zenon_H17 zenon_Hd3 zenon_He8 zenon_H282 zenon_H15f zenon_H42 zenon_Hd9 zenon_H146.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 40.94/41.19  apply (zenon_L272_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 40.94/41.19  exact (zenon_H1c9 zenon_H1cc).
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 40.94/41.19  apply (zenon_L273_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 40.94/41.19  apply (zenon_L274_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 40.94/41.19  apply (zenon_L12_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 40.94/41.19  apply (zenon_L477_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 40.94/41.19  apply (zenon_L112_); trivial.
% 40.94/41.19  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 40.94/41.19  exact (zenon_He1 zenon_He5).
% 40.94/41.19  apply (zenon_L478_); trivial.
% 40.94/41.19  (* end of lemma zenon_L479_ *)
% 40.94/41.19  assert (zenon_L480_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_Hd3 zenon_H1e7 zenon_H81 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H3b zenon_H166 zenon_H42 zenon_H165 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L242_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L314_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_L243_); trivial.
% 41.04/41.20  (* end of lemma zenon_L480_ *)
% 41.04/41.20  assert (zenon_L481_ : (~((op (e3) (e1)) = (op (op (e4) (e1)) (e1)))) -> ((op (e4) (e1)) = (e3)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H283 zenon_H1bf.
% 41.04/41.20  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 41.04/41.20  cut (((e3) = (op (e4) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 41.04/41.20  congruence.
% 41.04/41.20  apply zenon_H1c0. apply sym_equal. exact zenon_H1bf.
% 41.04/41.20  apply zenon_H12. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L481_ *)
% 41.04/41.20  assert (zenon_L482_ : ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> ((op (e2) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H284 zenon_H1bf zenon_H249 zenon_H285.
% 41.04/41.20  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e2) (e1)) = (op (e3) (e1)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H285.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H62.
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H286].
% 41.04/41.20  congruence.
% 41.04/41.20  cut (((op (op (e4) (e1)) (e1)) = (e4)) = ((op (e3) (e1)) = (op (e2) (e1)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H286.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H284.
% 41.04/41.20  cut (((e4) = (op (e2) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H24d].
% 41.04/41.20  cut (((op (op (e4) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H287].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (op (e4) (e1)) (e1)) = (op (e3) (e1)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H287.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H62.
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 41.04/41.20  congruence.
% 41.04/41.20  apply (zenon_L481_); trivial.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  apply zenon_H24d. apply sym_equal. exact zenon_H249.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L482_ *)
% 41.04/41.20  assert (zenon_L483_ : (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((unit) = (e0)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H24e zenon_H14d zenon_H34 zenon_H11f zenon_H16 zenon_H246 zenon_H9 zenon_H58 zenon_Hbb zenon_H22 zenon_Hb9 zenon_H284 zenon_H1bf zenon_H285.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H24e); [ zenon_intro zenon_H14c | zenon_intro zenon_H24f ].
% 41.04/41.20  apply (zenon_L216_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H24f); [ zenon_intro zenon_H247 | zenon_intro zenon_H250 ].
% 41.04/41.20  apply (zenon_L407_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H250); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H251 ].
% 41.04/41.20  apply (zenon_L119_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H251); [ zenon_intro zenon_H19e | zenon_intro zenon_H249 ].
% 41.04/41.20  apply (zenon_L273_); trivial.
% 41.04/41.20  apply (zenon_L482_); trivial.
% 41.04/41.20  (* end of lemma zenon_L483_ *)
% 41.04/41.20  assert (zenon_L484_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_H285 zenon_H284 zenon_Hb9 zenon_H22 zenon_Hbb zenon_H58 zenon_H246 zenon_H16 zenon_H11f zenon_H34 zenon_H14d zenon_H24e zenon_Hab zenon_Hc zenon_Haa zenon_Hc8 zenon_H9a zenon_H99 zenon_H81 zenon_H1e7 zenon_Hd3 zenon_H20 zenon_H1bf zenon_Hb1.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L483_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L56_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L84_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L313_); trivial.
% 41.04/41.20  apply (zenon_L290_); trivial.
% 41.04/41.20  (* end of lemma zenon_L484_ *)
% 41.04/41.20  assert (zenon_L485_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_Ha1 zenon_Hb1 zenon_Haa zenon_H32 zenon_Hd3 zenon_H1e7 zenon_H81 zenon_H1f zenon_H20 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H83 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H24e zenon_H14d zenon_H34 zenon_H11f zenon_H16 zenon_H246 zenon_H58 zenon_Hbb zenon_H22 zenon_Hb9 zenon_H284 zenon_H1bf zenon_H285 zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.20  apply (zenon_L53_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.20  apply (zenon_L484_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.20  apply (zenon_L323_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L483_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L287_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L84_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L67_); trivial.
% 41.04/41.20  apply (zenon_L44_); trivial.
% 41.04/41.20  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.20  (* end of lemma zenon_L485_ *)
% 41.04/41.20  assert (zenon_L486_ : (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> ((op (e3) (e2)) = (e4)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H9f zenon_H284 zenon_H1bf zenon_H1f8.
% 41.04/41.20  cut (((op (op (e4) (e1)) (e1)) = (e4)) = ((op (e3) (e1)) = (op (e3) (e2)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H9f.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H284.
% 41.04/41.20  cut (((e4) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 41.04/41.20  cut (((op (op (e4) (e1)) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H287].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H62 | zenon_intro zenon_H63 ].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (op (e4) (e1)) (e1)) = (op (e3) (e1)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H287.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H62.
% 41.04/41.20  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 41.04/41.20  cut (((op (e3) (e1)) = (op (op (e4) (e1)) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 41.04/41.20  congruence.
% 41.04/41.20  apply (zenon_L481_); trivial.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  apply zenon_H63. apply refl_equal.
% 41.04/41.20  apply zenon_H1fa. apply sym_equal. exact zenon_H1f8.
% 41.04/41.20  (* end of lemma zenon_L486_ *)
% 41.04/41.20  assert (zenon_L487_ : (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1fe zenon_H7b zenon_H1e5 zenon_Hc3 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H58 zenon_H246 zenon_H11f zenon_H34 zenon_H14d zenon_H24e zenon_H15f zenon_H42 zenon_Hc8 zenon_H9a zenon_H99 zenon_H83 zenon_Hb6 zenon_H32 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.20  apply (zenon_L312_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.20  apply (zenon_L485_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.20  apply (zenon_L486_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.20  exact (zenon_H1ff zenon_H203).
% 41.04/41.20  apply (zenon_L355_); trivial.
% 41.04/41.20  (* end of lemma zenon_L487_ *)
% 41.04/41.20  assert (zenon_L488_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e3)) = (e2)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e4)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hd9 zenon_H146 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_H1ff zenon_H9f zenon_H284 zenon_H1bf zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_Hb6 zenon_H83 zenon_H15f zenon_H24e zenon_H14d zenon_H34 zenon_H11f zenon_H246 zenon_H58 zenon_Hbb zenon_Hb9 zenon_H285 zenon_Hc3 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H32 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H92 zenon_H1e7 zenon_H81 zenon_H1f zenon_H20 zenon_H22 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H7b zenon_H42 zenon_H1c2 zenon_H91 zenon_H99 zenon_Haa zenon_Hc zenon_Hab zenon_Hcc zenon_H3b zenon_Hda.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 41.04/41.20  apply (zenon_L487_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 41.04/41.20  apply (zenon_L365_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 41.04/41.20  apply (zenon_L458_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 41.04/41.20  apply (zenon_L366_); trivial.
% 41.04/41.20  exact (zenon_Hda zenon_Hde).
% 41.04/41.20  (* end of lemma zenon_L488_ *)
% 41.04/41.20  assert (zenon_L489_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_He1 zenon_H57 zenon_H6e zenon_H49 zenon_Hb zenon_He0 zenon_H115 zenon_H1a9 zenon_Hda zenon_H3b zenon_Hcc zenon_Hab zenon_Hc zenon_Haa zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_Hd3 zenon_Hd4 zenon_Hc8 zenon_H22 zenon_H20 zenon_H1f zenon_H81 zenon_H1e7 zenon_H92 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H32 zenon_He8 zenon_H1fe zenon_H1e5 zenon_Hc3 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H58 zenon_H246 zenon_H11f zenon_H34 zenon_H14d zenon_H24e zenon_H15f zenon_H83 zenon_Hb6 zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H146 zenon_Hd9 zenon_H13e.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 41.04/41.20  apply (zenon_L480_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 41.04/41.20  apply (zenon_L275_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 41.04/41.20  apply (zenon_L276_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 41.04/41.20  apply (zenon_L488_); trivial.
% 41.04/41.20  exact (zenon_H13e zenon_H142).
% 41.04/41.20  (* end of lemma zenon_L489_ *)
% 41.04/41.20  assert (zenon_L490_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H116 zenon_H197 zenon_H1c4 zenon_H165 zenon_He1 zenon_H57 zenon_H6e zenon_H49 zenon_Hb zenon_He0 zenon_H115 zenon_H1a9 zenon_Hda zenon_H3b zenon_Hcc zenon_Hab zenon_Hc zenon_Haa zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_Hd3 zenon_Hd4 zenon_Hc8 zenon_H22 zenon_H20 zenon_H1f zenon_H81 zenon_H1e7 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H32 zenon_He8 zenon_H1fe zenon_H1e5 zenon_Hc3 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H58 zenon_H246 zenon_H11f zenon_H34 zenon_H14d zenon_H24e zenon_H15f zenon_H83 zenon_Hb6 zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H146 zenon_Hd9 zenon_H13e.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L278_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L286_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_L489_); trivial.
% 41.04/41.20  (* end of lemma zenon_L490_ *)
% 41.04/41.20  assert (zenon_L491_ : (~((op (e4) (e4)) = (e0))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((e0) = (e3))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H13e zenon_Hd9 zenon_H146 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_H1ff zenon_H9f zenon_H284 zenon_H1bf zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_H15f zenon_H24e zenon_H14d zenon_H246 zenon_Hbb zenon_H285 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hd4 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Haa zenon_Hcc zenon_Hda zenon_H1a9 zenon_He0 zenon_Hb zenon_H6e zenon_H57 zenon_He1 zenon_H165 zenon_H1c4 zenon_H197 zenon_H116 zenon_H1e7 zenon_H81 zenon_Hb9 zenon_H58 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.20  apply (zenon_L277_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.20  apply (zenon_L490_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.20  apply (zenon_L323_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.20  apply (zenon_L285_); trivial.
% 41.04/41.20  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.20  (* end of lemma zenon_L491_ *)
% 41.04/41.20  assert (zenon_L492_ : (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_H58 zenon_Hb9 zenon_H81 zenon_H1e7 zenon_H116 zenon_H1c4 zenon_H165 zenon_He1 zenon_H57 zenon_H6e zenon_Hb zenon_He0 zenon_H1a9 zenon_Hda zenon_Hcc zenon_Haa zenon_H99 zenon_H91 zenon_H42 zenon_H7b zenon_Hd4 zenon_Hc8 zenon_H9b zenon_H18 zenon_H17 zenon_He8 zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hbb zenon_H246 zenon_H14d zenon_H24e zenon_H15f zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd9 zenon_H13e zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.20  apply (zenon_L262_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.20  apply (zenon_L316_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.20  apply (zenon_L266_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.20  apply (zenon_L491_); trivial.
% 41.04/41.20  exact (zenon_H146 zenon_H144).
% 41.04/41.20  (* end of lemma zenon_L492_ *)
% 41.04/41.20  assert (zenon_L493_ : (~((op (e4) (e4)) = (e0))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((e0) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H13e zenon_Hd9 zenon_H146 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_Hb6 zenon_H83 zenon_H15f zenon_H24e zenon_H14d zenon_H34 zenon_H11f zenon_H246 zenon_H58 zenon_Hbb zenon_Hb9 zenon_H285 zenon_Hc3 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H32 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hd4 zenon_H7b zenon_H42 zenon_H99 zenon_Haa zenon_Hab zenon_Hcc zenon_Hda zenon_H1a9 zenon_H115 zenon_He0 zenon_Hb zenon_H49 zenon_H6e zenon_H57 zenon_He1 zenon_H165 zenon_H1c4 zenon_H116 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L278_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L286_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.20  apply (zenon_L312_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.20  apply (zenon_L490_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.20  apply (zenon_L486_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.20  exact (zenon_H1ff zenon_H203).
% 41.04/41.20  apply (zenon_L354_); trivial.
% 41.04/41.20  (* end of lemma zenon_L493_ *)
% 41.04/41.20  assert (zenon_L494_ : (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H91 zenon_H81 zenon_H197 zenon_H50 zenon_H16d zenon_H41 zenon_H1ff zenon_H9f zenon_H284 zenon_H1bf zenon_H116 zenon_H1c4 zenon_H165 zenon_He1 zenon_H57 zenon_H6e zenon_Hb zenon_He0 zenon_H115 zenon_H1a9 zenon_Hda zenon_Hcc zenon_Haa zenon_H99 zenon_H42 zenon_H7b zenon_Hd4 zenon_Hc8 zenon_H9b zenon_H18 zenon_H17 zenon_He8 zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H15f zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H19a zenon_H2d zenon_H168 zenon_H112 zenon_H2c zenon_H18e zenon_H146 zenon_Hd9 zenon_H13e zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H1fc zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.20  apply (zenon_L277_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.20  apply (zenon_L493_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.20  apply (zenon_L279_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.20  apply (zenon_L334_); trivial.
% 41.04/41.20  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.20  (* end of lemma zenon_L494_ *)
% 41.04/41.20  assert (zenon_L495_ : ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e4)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e4) (e4)) = (e0))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((e0) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hee zenon_Hba zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H88 zenon_Hc3 zenon_H3b zenon_H1fc zenon_Hd3 zenon_H1fb zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H13e zenon_Hd9 zenon_H18e zenon_H2c zenon_H112 zenon_H168 zenon_H2d zenon_H19a zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_H15f zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_Hbb zenon_Hb9 zenon_H285 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hd4 zenon_H7b zenon_H42 zenon_H99 zenon_Haa zenon_Hcc zenon_Hda zenon_H1a9 zenon_H115 zenon_He0 zenon_Hb zenon_H6e zenon_H57 zenon_He1 zenon_H165 zenon_H1c4 zenon_H116 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H91 zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.20  apply (zenon_L264_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.20  apply (zenon_L167_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.20  apply (zenon_L266_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.20  apply (zenon_L494_); trivial.
% 41.04/41.20  exact (zenon_H146 zenon_H144).
% 41.04/41.20  (* end of lemma zenon_L495_ *)
% 41.04/41.20  assert (zenon_L496_ : (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e4) (e4)) = (e0))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((e0) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1b9 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hee zenon_Hba zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H88 zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H13e zenon_Hd9 zenon_H18e zenon_H2c zenon_H112 zenon_H168 zenon_H2d zenon_H19a zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_H15f zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_Hbb zenon_Hb9 zenon_H285 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hd4 zenon_H7b zenon_H42 zenon_H99 zenon_Haa zenon_Hcc zenon_Hda zenon_H1a9 zenon_H115 zenon_He0 zenon_Hb zenon_H6e zenon_H57 zenon_He1 zenon_H165 zenon_H1c4 zenon_H116 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H91 zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.20  apply (zenon_L312_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.20  apply (zenon_L492_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.20  apply (zenon_L486_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.20  exact (zenon_H1ff zenon_H203).
% 41.04/41.20  apply (zenon_L495_); trivial.
% 41.04/41.20  (* end of lemma zenon_L496_ *)
% 41.04/41.20  assert (zenon_L497_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e4) (e4)) = (e0))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e1) (e1)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((e0) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H1c9 zenon_H1b9 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hee zenon_Hba zenon_He9 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H88 zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_H58 zenon_Hb6 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H13e zenon_Hd9 zenon_H18e zenon_H2c zenon_H112 zenon_H168 zenon_H2d zenon_H19a zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_H15f zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_Hbb zenon_Hb9 zenon_H285 zenon_H1e5 zenon_H1fe zenon_He8 zenon_H17 zenon_H18 zenon_H9b zenon_Hc8 zenon_Hd4 zenon_H7b zenon_H42 zenon_H99 zenon_Haa zenon_Hcc zenon_Hda zenon_H1a9 zenon_H115 zenon_He0 zenon_Hb zenon_H6e zenon_H57 zenon_He1 zenon_H165 zenon_H1c4 zenon_H116 zenon_H284 zenon_H9f zenon_H1ff zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H91 zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.20  apply (zenon_L272_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.20  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.20  apply (zenon_L273_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.20  apply (zenon_L274_); trivial.
% 41.04/41.20  apply (zenon_L496_); trivial.
% 41.04/41.20  (* end of lemma zenon_L497_ *)
% 41.04/41.20  assert (zenon_L498_ : (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e4)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (e4) (e3)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Haa zenon_Hd4 zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hbb zenon_H246 zenon_H14d zenon_H24e zenon_Ha1 zenon_Hc2 zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H2d zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H146 zenon_H1e7 zenon_H81 zenon_Hb9 zenon_H58 zenon_Hb6 zenon_Hda zenon_H3b zenon_Hcc zenon_H99 zenon_H91 zenon_H1c2 zenon_H42 zenon_H7b zenon_H20 zenon_H1bf zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H22 zenon_H1f zenon_Hc zenon_H83 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_Hd3 zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H92 zenon_Hd9 zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.20  apply (zenon_L53_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.20  apply (zenon_L488_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.20  apply (zenon_L323_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.20  apply (zenon_L294_); trivial.
% 41.04/41.20  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.20  (* end of lemma zenon_L498_ *)
% 41.04/41.20  assert (zenon_L499_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e1)) = (e4)) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1c4 zenon_H165 zenon_H1a9 zenon_Hc3 zenon_Hd9 zenon_H92 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_He8 zenon_Hd3 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H83 zenon_Hc zenon_H1f zenon_H22 zenon_H32 zenon_Hc8 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H7b zenon_H42 zenon_H91 zenon_H99 zenon_Hcc zenon_H3b zenon_Hda zenon_Hb6 zenon_H58 zenon_Hb9 zenon_H81 zenon_H1e7 zenon_H146 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H2d zenon_H19a zenon_H1ff zenon_H9f zenon_H284 zenon_Hc2 zenon_Ha1 zenon_H24e zenon_H14d zenon_H246 zenon_Hbb zenon_H285 zenon_H1e5 zenon_H1fe zenon_Hd4 zenon_Haa zenon_H13e.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 41.04/41.20  apply (zenon_L243_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 41.04/41.20  apply (zenon_L275_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 41.04/41.20  apply (zenon_L276_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 41.04/41.20  apply (zenon_L498_); trivial.
% 41.04/41.20  exact (zenon_H13e zenon_H142).
% 41.04/41.20  (* end of lemma zenon_L499_ *)
% 41.04/41.20  assert (zenon_L500_ : (~((op (e4) (e4)) = (e0))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H13e zenon_Haa zenon_Hd4 zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hbb zenon_H246 zenon_H14d zenon_H24e zenon_Ha1 zenon_Hc2 zenon_Hb9 zenon_H58 zenon_Hb6 zenon_Hda zenon_Hcc zenon_H99 zenon_H42 zenon_H7b zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H83 zenon_H9b zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H1bf zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H92 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.20  apply (zenon_L312_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.20  apply (zenon_L499_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.20  apply (zenon_L486_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.20  exact (zenon_H1ff zenon_H203).
% 41.04/41.20  apply (zenon_L355_); trivial.
% 41.04/41.20  (* end of lemma zenon_L500_ *)
% 41.04/41.20  assert (zenon_L501_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H116 zenon_Hb zenon_He0 zenon_H49 zenon_H1c9 zenon_H51 zenon_H1c8 zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_Hed zenon_He6 zenon_He9 zenon_Hba zenon_Hee zenon_He1 zenon_H13e zenon_Haa zenon_Hd4 zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hbb zenon_H246 zenon_H14d zenon_H24e zenon_Ha1 zenon_Hc2 zenon_Hb9 zenon_H58 zenon_Hb6 zenon_Hda zenon_Hcc zenon_H99 zenon_H42 zenon_H7b zenon_Hb1 zenon_Hc8 zenon_H32 zenon_H83 zenon_H9b zenon_He8 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_Hd9 zenon_Hc3 zenon_H1a9 zenon_H165 zenon_H1c4 zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.20  apply (zenon_L272_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.20  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.20  apply (zenon_L273_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.20  apply (zenon_L274_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L497_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L112_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_L500_); trivial.
% 41.04/41.20  (* end of lemma zenon_L501_ *)
% 41.04/41.20  assert (zenon_L502_ : (~((op (op (e4) (e2)) (e4)) = (e2))) -> ((op (e1) (e4)) = (e2)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H288 zenon_Hab zenon_H34.
% 41.04/41.20  cut (((op (e1) (e4)) = (e2)) = ((op (op (e4) (e2)) (e4)) = (e2))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H288.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_Hab.
% 41.04/41.20  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 41.04/41.20  cut (((op (e1) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [ zenon_intro zenon_H28a | zenon_intro zenon_H28b ].
% 41.04/41.20  cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4))) = ((op (e1) (e4)) = (op (op (e4) (e2)) (e4)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H289.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H28a.
% 41.04/41.20  cut (((op (op (e4) (e2)) (e4)) = (op (op (e4) (e2)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H28b].
% 41.04/41.20  cut (((op (op (e4) (e2)) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 41.04/41.20  congruence.
% 41.04/41.20  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 41.04/41.20  cut (((op (e4) (e2)) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 41.04/41.20  congruence.
% 41.04/41.20  apply zenon_H11e. apply sym_equal. exact zenon_H34.
% 41.04/41.20  apply zenon_H97. apply refl_equal.
% 41.04/41.20  apply zenon_H28b. apply refl_equal.
% 41.04/41.20  apply zenon_H28b. apply refl_equal.
% 41.04/41.20  apply zenon_H7. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L502_ *)
% 41.04/41.20  assert (zenon_L503_ : (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e4) (e2)) (e4)) = (e2))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((unit) = (e0)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H34 zenon_H288 zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H9.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1b9); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1ba ].
% 41.04/41.20  apply (zenon_L275_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1ba); [ zenon_intro zenon_H113 | zenon_intro zenon_H1bb ].
% 41.04/41.20  apply (zenon_L164_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1bb); [ zenon_intro zenon_Hab | zenon_intro zenon_H1bc ].
% 41.04/41.20  apply (zenon_L502_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1bc); [ zenon_intro zenon_H1af | zenon_intro zenon_H1b4 ].
% 41.04/41.20  apply (zenon_L281_); trivial.
% 41.04/41.20  apply (zenon_L283_); trivial.
% 41.04/41.20  (* end of lemma zenon_L503_ *)
% 41.04/41.20  assert (zenon_L504_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (op (e4) (e2)) (e4)) = (e2))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H288 zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L503_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L17_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L8_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L350_); trivial.
% 41.04/41.20  apply (zenon_L11_); trivial.
% 41.04/41.20  (* end of lemma zenon_L504_ *)
% 41.04/41.20  assert (zenon_L505_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (op (e4) (e2)) (e4)) = (e2))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H288 zenon_H34 zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_Hbf zenon_H83 zenon_H91 zenon_Hc zenon_H92.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L503_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L249_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L8_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L67_); trivial.
% 41.04/41.20  apply (zenon_L44_); trivial.
% 41.04/41.20  (* end of lemma zenon_L505_ *)
% 41.04/41.20  assert (zenon_L506_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e4) (e2)) (e4)) = (e2))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H16 zenon_H32 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H83 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H34 zenon_H288 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.20  apply (zenon_L53_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.20  apply (zenon_L502_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.20  apply (zenon_L123_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.20  apply (zenon_L505_); trivial.
% 41.04/41.20  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.20  (* end of lemma zenon_L506_ *)
% 41.04/41.20  assert (zenon_L507_ : ((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H28d zenon_He0 zenon_Hb zenon_H161 zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H16 zenon_H32 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H83 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H34 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_and_s _ _ zenon_H28d). zenon_intro zenon_H28f. zenon_intro zenon_H28e.
% 41.04/41.20  apply (zenon_and_s _ _ zenon_H28e). zenon_intro zenon_H290. zenon_intro zenon_H288.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L504_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L112_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_L506_); trivial.
% 41.04/41.20  (* end of lemma zenon_L507_ *)
% 41.04/41.20  assert (zenon_L508_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> ((op (e0) (e3)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_H169 zenon_H1f1 zenon_Hd3 zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L319_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L249_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L8_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L350_); trivial.
% 41.04/41.20  apply (zenon_L11_); trivial.
% 41.04/41.20  (* end of lemma zenon_L508_ *)
% 41.04/41.20  assert (zenon_L509_ : (~((op (e0) (e3)) = (op (op (e4) (e3)) (e3)))) -> ((op (e4) (e3)) = (e0)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H291 zenon_H292.
% 41.04/41.20  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 41.04/41.20  cut (((e0) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H293].
% 41.04/41.20  congruence.
% 41.04/41.20  apply zenon_H293. apply sym_equal. exact zenon_H292.
% 41.04/41.20  apply zenon_H1e. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L509_ *)
% 41.04/41.20  assert (zenon_L510_ : (~((op (e0) (e3)) = (op (e1) (e3)))) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> ((op (e4) (e3)) = (e0)) -> ((op (e1) (e3)) = (e4)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H220 zenon_H294 zenon_H292 zenon_H22b.
% 41.04/41.20  cut (((op (op (e4) (e3)) (e3)) = (e4)) = ((op (e0) (e3)) = (op (e1) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H220.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H294.
% 41.04/41.20  cut (((e4) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H232].
% 41.04/41.20  cut (((op (op (e4) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (op (e4) (e3)) (e3)) = (op (e0) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H295.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H52.
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H291].
% 41.04/41.20  congruence.
% 41.04/41.20  apply (zenon_L509_); trivial.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H232. apply sym_equal. exact zenon_H22b.
% 41.04/41.20  (* end of lemma zenon_L510_ *)
% 41.04/41.20  assert (zenon_L511_ : ((e3) = (op (e2) (e4))) -> ((op (e4) (e3)) = (e2)) -> (~((op (op (e4) (e3)) (e4)) = (e3))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H22 zenon_H92 zenon_H296.
% 41.04/41.20  elim (classic ((e3) = (e3))); [ zenon_intro zenon_H18f | zenon_intro zenon_H1e ].
% 41.04/41.20  cut (((e3) = (e3)) = ((op (op (e4) (e3)) (e4)) = (e3))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H296.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H18f.
% 41.04/41.20  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 41.04/41.20  cut (((e3) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H297].
% 41.04/41.20  congruence.
% 41.04/41.20  cut (((e3) = (op (e2) (e4))) = ((e3) = (op (op (e4) (e3)) (e4)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H297.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H22.
% 41.04/41.20  cut (((op (e2) (e4)) = (op (op (e4) (e3)) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H298].
% 41.04/41.20  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 41.04/41.20  congruence.
% 41.04/41.20  apply zenon_H1e. apply refl_equal.
% 41.04/41.20  cut (((e4) = (e4))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 41.04/41.20  cut (((e2) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 41.04/41.20  congruence.
% 41.04/41.20  apply zenon_H93. apply sym_equal. exact zenon_H92.
% 41.04/41.20  apply zenon_H97. apply refl_equal.
% 41.04/41.20  apply zenon_H1e. apply refl_equal.
% 41.04/41.20  apply zenon_H1e. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L511_ *)
% 41.04/41.20  assert (zenon_L512_ : (~((op (e0) (e3)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e0)) -> ((op (e4) (e3)) = (e3)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H299 zenon_H20 zenon_H9 zenon_H29a.
% 41.04/41.20  cut (((op (unit) (e3)) = (e3)) = ((op (e0) (e3)) = (op (e4) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H299.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H20.
% 41.04/41.20  cut (((e3) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H29b].
% 41.04/41.20  cut (((op (unit) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (unit) (e3)) = (op (e0) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H195.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H52.
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 41.04/41.20  congruence.
% 41.04/41.20  apply (zenon_L267_); trivial.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H29b. apply sym_equal. exact zenon_H29a.
% 41.04/41.20  (* end of lemma zenon_L512_ *)
% 41.04/41.20  assert (zenon_L513_ : (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> ((op (e1) (e3)) = (e4)) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e4) (e3)) (e4)) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H29c zenon_H22b zenon_H294 zenon_H220 zenon_H91 zenon_H34 zenon_H296 zenon_H22 zenon_H20 zenon_H299 zenon_Hcc zenon_H99 zenon_H9.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29c); [ zenon_intro zenon_H292 | zenon_intro zenon_H29d ].
% 41.04/41.20  apply (zenon_L510_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29d); [ zenon_intro zenon_H233 | zenon_intro zenon_H29e ].
% 41.04/41.20  apply (zenon_L385_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29e); [ zenon_intro zenon_H92 | zenon_intro zenon_H29f ].
% 41.04/41.20  apply (zenon_L511_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29f); [ zenon_intro zenon_H29a | zenon_intro zenon_Hcd ].
% 41.04/41.20  apply (zenon_L512_); trivial.
% 41.04/41.20  apply (zenon_L74_); trivial.
% 41.04/41.20  (* end of lemma zenon_L513_ *)
% 41.04/41.20  assert (zenon_L514_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (op (e4) (e3)) (e4)) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> ((op (e1) (e3)) = (e4)) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_H99 zenon_Hcc zenon_H299 zenon_H296 zenon_H91 zenon_H220 zenon_H294 zenon_H22b zenon_H29c zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L513_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L249_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L8_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L350_); trivial.
% 41.04/41.20  apply (zenon_L11_); trivial.
% 41.04/41.20  (* end of lemma zenon_L514_ *)
% 41.04/41.20  assert (zenon_L515_ : (~((op (e0) (e3)) = (op (e2) (e3)))) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> ((op (e4) (e3)) = (e0)) -> ((op (e2) (e3)) = (e4)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H2a0 zenon_H294 zenon_H292 zenon_H2a1.
% 41.04/41.20  cut (((op (op (e4) (e3)) (e3)) = (e4)) = ((op (e0) (e3)) = (op (e2) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H2a0.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H294.
% 41.04/41.20  cut (((e4) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2a2].
% 41.04/41.20  cut (((op (op (e4) (e3)) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 41.04/41.20  congruence.
% 41.04/41.20  elim (classic ((op (e0) (e3)) = (op (e0) (e3)))); [ zenon_intro zenon_H52 | zenon_intro zenon_H53 ].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3))) = ((op (op (e4) (e3)) (e3)) = (op (e0) (e3)))).
% 41.04/41.20  intro zenon_D_pnotp.
% 41.04/41.20  apply zenon_H295.
% 41.04/41.20  rewrite <- zenon_D_pnotp.
% 41.04/41.20  exact zenon_H52.
% 41.04/41.20  cut (((op (e0) (e3)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 41.04/41.20  cut (((op (e0) (e3)) = (op (op (e4) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H291].
% 41.04/41.20  congruence.
% 41.04/41.20  apply (zenon_L509_); trivial.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H53. apply refl_equal.
% 41.04/41.20  apply zenon_H2a2. apply sym_equal. exact zenon_H2a1.
% 41.04/41.20  (* end of lemma zenon_L515_ *)
% 41.04/41.20  assert (zenon_L516_ : (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> ((op (e2) (e3)) = (e4)) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e4) (e3)) (e4)) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((unit) = (e0)) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H29c zenon_H2a1 zenon_H294 zenon_H2a0 zenon_H91 zenon_H34 zenon_H296 zenon_H22 zenon_H20 zenon_H299 zenon_Hcc zenon_H99 zenon_H9.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29c); [ zenon_intro zenon_H292 | zenon_intro zenon_H29d ].
% 41.04/41.20  apply (zenon_L515_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29d); [ zenon_intro zenon_H233 | zenon_intro zenon_H29e ].
% 41.04/41.20  apply (zenon_L385_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29e); [ zenon_intro zenon_H92 | zenon_intro zenon_H29f ].
% 41.04/41.20  apply (zenon_L511_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H29f); [ zenon_intro zenon_H29a | zenon_intro zenon_Hcd ].
% 41.04/41.20  apply (zenon_L512_); trivial.
% 41.04/41.20  apply (zenon_L74_); trivial.
% 41.04/41.20  (* end of lemma zenon_L516_ *)
% 41.04/41.20  assert (zenon_L517_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (op (e4) (e3)) (e4)) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> ((op (op (e4) (e3)) (e3)) = (e4)) -> ((op (e2) (e3)) = (e4)) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_H99 zenon_Hcc zenon_H299 zenon_H296 zenon_H91 zenon_H2a0 zenon_H294 zenon_H2a1 zenon_H29c zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L516_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L249_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L8_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L350_); trivial.
% 41.04/41.20  apply (zenon_L11_); trivial.
% 41.04/41.20  (* end of lemma zenon_L517_ *)
% 41.04/41.20  assert (zenon_L518_ : ((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3))))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H2a3 zenon_H2a4 zenon_H169 zenon_H220 zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H22 zenon_H41 zenon_H29c zenon_H2a0 zenon_H299 zenon_H1ff zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H57 zenon_Hba zenon_H58 zenon_Hd3 zenon_Hd4.
% 41.04/41.20  apply (zenon_and_s _ _ zenon_H2a3). zenon_intro zenon_H2a6. zenon_intro zenon_H2a5.
% 41.04/41.20  apply (zenon_and_s _ _ zenon_H2a5). zenon_intro zenon_H294. zenon_intro zenon_H296.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H2a4); [ zenon_intro zenon_H1f1 | zenon_intro zenon_H2a7 ].
% 41.04/41.20  apply (zenon_L508_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H2a7); [ zenon_intro zenon_H22b | zenon_intro zenon_H2a8 ].
% 41.04/41.20  apply (zenon_L514_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H2a8); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a9 ].
% 41.04/41.20  apply (zenon_L517_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H2a9); [ zenon_intro zenon_H203 | zenon_intro zenon_Hcd ].
% 41.04/41.20  exact (zenon_H1ff zenon_H203).
% 41.04/41.20  apply (zenon_L81_); trivial.
% 41.04/41.20  (* end of lemma zenon_L518_ *)
% 41.04/41.20  assert (zenon_L519_ : ((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H2aa.
% 41.04/41.20  apply (zenon_and_s _ _ zenon_H2aa). zenon_intro zenon_Hd6. zenon_intro zenon_H2ab.
% 41.04/41.20  apply zenon_Hd6. apply refl_equal.
% 41.04/41.20  (* end of lemma zenon_L519_ *)
% 41.04/41.20  assert (zenon_L520_ : (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e0))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H1c4 zenon_H2c zenon_H2d zenon_H1f zenon_H20 zenon_H49 zenon_Hc zenon_H4a zenon_H165 zenon_H115 zenon_H34 zenon_H11f zenon_H1a9 zenon_H22 zenon_He8 zenon_Ha5 zenon_Hd3 zenon_H7b zenon_H42 zenon_H99 zenon_H32 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H3b zenon_H13e.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c4); [ zenon_intro zenon_H166 | zenon_intro zenon_H1c5 ].
% 41.04/41.20  apply (zenon_L242_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1c6 ].
% 41.04/41.20  apply (zenon_L275_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1c7 ].
% 41.04/41.20  apply (zenon_L276_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H142 ].
% 41.04/41.20  apply (zenon_L365_); trivial.
% 41.04/41.20  exact (zenon_H13e zenon_H142).
% 41.04/41.20  (* end of lemma zenon_L520_ *)
% 41.04/41.20  assert (zenon_L521_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_H7b zenon_H7c zenon_H5f zenon_H81 zenon_Hb1 zenon_Ha5 zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L35_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L36_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L58_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L60_); trivial.
% 41.04/41.20  apply (zenon_L11_); trivial.
% 41.04/41.20  (* end of lemma zenon_L521_ *)
% 41.04/41.20  assert (zenon_L522_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H88 zenon_H68 zenon_H61 zenon_H73 zenon_H1f zenon_H22 zenon_H6e zenon_H58 zenon_H59 zenon_H57 zenon_H20 zenon_H77 zenon_H9f zenon_H8e zenon_H89 zenon_H3b zenon_H7b zenon_H5f zenon_H81 zenon_Hb1 zenon_Ha5 zenon_H99 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 41.04/41.20  apply (zenon_L27_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 41.04/41.20  apply (zenon_L31_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 41.04/41.20  apply (zenon_L113_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 41.04/41.20  exact (zenon_H89 zenon_H8d).
% 41.04/41.20  apply (zenon_L521_); trivial.
% 41.04/41.20  (* end of lemma zenon_L522_ *)
% 41.04/41.20  assert (zenon_L523_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e0))) -> ((op (unit) (e0)) = (e0)) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (e4) (e1)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_He0 zenon_Hb zenon_H13e zenon_H42 zenon_H1a9 zenon_H11f zenon_H115 zenon_H165 zenon_H49 zenon_H1c4 zenon_H81 zenon_H5f zenon_H7b zenon_H89 zenon_H8e zenon_H9f zenon_H77 zenon_H57 zenon_H6e zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_Hc2 zenon_H2c zenon_H2d zenon_Ha1 zenon_H91 zenon_Hb1 zenon_Haa zenon_H34 zenon_H1f zenon_H58 zenon_H20 zenon_H22 zenon_Hb9 zenon_Hb6 zenon_He8 zenon_Ha5 zenon_Hd3 zenon_H83 zenon_Hc zenon_H99 zenon_H32 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H3b zenon_Hc3.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.20  apply (zenon_L12_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.20  apply (zenon_L520_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.20  apply (zenon_L522_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.20  exact (zenon_He1 zenon_He5).
% 41.04/41.20  apply (zenon_L126_); trivial.
% 41.04/41.20  (* end of lemma zenon_L523_ *)
% 41.04/41.20  assert (zenon_L524_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H32 zenon_Ha5 zenon_H91 zenon_H99 zenon_Hd3 zenon_Hc9 zenon_He9.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.20  apply (zenon_L70_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.20  apply (zenon_L71_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.20  apply (zenon_L58_); trivial.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.20  apply (zenon_L72_); trivial.
% 41.04/41.20  apply (zenon_L107_); trivial.
% 41.04/41.20  (* end of lemma zenon_L524_ *)
% 41.04/41.20  assert (zenon_L525_ : ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e4) (e4)) = (e0))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 41.04/41.20  do 0 intro. intros zenon_Hf1 zenon_Hc8 zenon_He9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H1c4 zenon_H13e zenon_H9b zenon_H99 zenon_Ha5 zenon_H7b zenon_He8 zenon_Hd3 zenon_H1a9 zenon_H11f zenon_H115 zenon_H165 zenon_H42 zenon_H49 zenon_H88 zenon_H81 zenon_Hb1 zenon_H89 zenon_H8e zenon_H9f zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_He1 zenon_Hc2 zenon_H83 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Ha1 zenon_H91 zenon_He0.
% 41.04/41.20  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.20  apply (zenon_L523_); trivial.
% 41.04/41.20  apply (zenon_L524_); trivial.
% 41.04/41.20  (* end of lemma zenon_L525_ *)
% 41.04/41.20  assert (zenon_L526_ : ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (~((op (e0) (e0)) = (e1))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((e0) = (e3))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e0))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e1))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H2ac zenon_H17e zenon_H17 zenon_He0 zenon_He1 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H136 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_H51 zenon_H168 zenon_H17d zenon_H16d zenon_H50 zenon_H42 zenon_H41 zenon_H1c8 zenon_H165 zenon_H11f zenon_H1a9 zenon_Ha1 zenon_H8e zenon_Hb6 zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_Hc2 zenon_Hbb zenon_H13e zenon_H1c4 zenon_H1d5 zenon_H10b zenon_H60 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H116 zenon_H115 zenon_H112 zenon_H18e zenon_H19a zenon_H14d zenon_H152 zenon_H157 zenon_H15b zenon_Haa zenon_H89 zenon_H169 zenon_H1e5 zenon_H1f4 zenon_H161 zenon_H1ff zenon_H1fb zenon_H1fe zenon_H20c zenon_H20f zenon_H223 zenon_H220 zenon_H21a zenon_H217 zenon_H23c zenon_Hf6 zenon_Hf7 zenon_H22d zenon_H237 zenon_H236 zenon_H111 zenon_H240 zenon_H246 zenon_H24e zenon_H256 zenon_H26a zenon_H267 zenon_H261 zenon_H260 zenon_H26e zenon_H275 zenon_H279 zenon_H285 zenon_H299 zenon_H29c zenon_H2a0 zenon_H2a4 zenon_H2ad zenon_Hf1.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2ad); [ zenon_intro zenon_H172 | zenon_intro zenon_H2ae ].
% 41.04/41.21  apply (zenon_L251_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2ae); [ zenon_intro zenon_H17c | zenon_intro zenon_H2af ].
% 41.04/41.21  apply (zenon_L265_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2af); [ zenon_intro zenon_H2b1 | zenon_intro zenon_H2b0 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2b1). zenon_intro zenon_H2b3. zenon_intro zenon_H2b2.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H2b4. zenon_intro zenon_H1ce.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L309_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2b0); [ zenon_intro zenon_H2b6 | zenon_intro zenon_H2b5 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2b6). zenon_intro zenon_H2b8. zenon_intro zenon_H2b7.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2b7). zenon_intro zenon_H2b9. zenon_intro zenon_H1ea.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L348_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2b5); [ zenon_intro zenon_H2bb | zenon_intro zenon_H2ba ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2bb). zenon_intro zenon_H2bd. zenon_intro zenon_H2bc.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2bc). zenon_intro zenon_H2be. zenon_intro zenon_H204.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L361_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2ba); [ zenon_intro zenon_H2c0 | zenon_intro zenon_H2bf ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2c0). zenon_intro zenon_H213. zenon_intro zenon_H2c1.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L369_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2bf); [ zenon_intro zenon_H214 | zenon_intro zenon_H2c2 ].
% 41.04/41.21  apply (zenon_L370_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2c2); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c3 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2c4). zenon_intro zenon_H2c6. zenon_intro zenon_H2c5.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2c5). zenon_intro zenon_H21b. zenon_intro zenon_H2c7.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L380_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2c3); [ zenon_intro zenon_H2c9 | zenon_intro zenon_H2c8 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2c9). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H22a. zenon_intro zenon_H2cc.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L393_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2c8); [ zenon_intro zenon_H2ce | zenon_intro zenon_H2cd ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H2d0. zenon_intro zenon_H2cf.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2cf). zenon_intro zenon_H241. zenon_intro zenon_H2d1.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L399_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2cd); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H2d2 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2d3). zenon_intro zenon_H245. zenon_intro zenon_H2d4.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L406_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2d2); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d5 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_H2d8. zenon_intro zenon_H2d7.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2d7). zenon_intro zenon_H2d9. zenon_intro zenon_H24a.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L416_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2d5); [ zenon_intro zenon_H252 | zenon_intro zenon_H2da ].
% 41.04/41.21  apply (zenon_L417_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2da); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2db ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2de. zenon_intro zenon_H2dd.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2dd). zenon_intro zenon_H257. zenon_intro zenon_H2df.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L422_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2db); [ zenon_intro zenon_H2e1 | zenon_intro zenon_H2e0 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2e1). zenon_intro zenon_H2e3. zenon_intro zenon_H2e2.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2e2). zenon_intro zenon_H259. zenon_intro zenon_H2e4.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L426_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2e0); [ zenon_intro zenon_H2e6 | zenon_intro zenon_H2e5 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2e6). zenon_intro zenon_H25d. zenon_intro zenon_H2e7.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L435_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2e5); [ zenon_intro zenon_H2e9 | zenon_intro zenon_H2e8 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2e9). zenon_intro zenon_H2eb. zenon_intro zenon_H2ea.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_H262. zenon_intro zenon_H2ec.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L449_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2e8); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ed ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2ee). zenon_intro zenon_H2f0. zenon_intro zenon_H2ef.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2ef). zenon_intro zenon_H26f. zenon_intro zenon_H2f1.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L467_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2ed); [ zenon_intro zenon_H27d | zenon_intro zenon_H2f2 ].
% 41.04/41.21  apply (zenon_L468_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2f2); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f3 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2f4). zenon_intro zenon_H2f6. zenon_intro zenon_H2f5.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2f5). zenon_intro zenon_H27f. zenon_intro zenon_H2f7.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.21  apply (zenon_L12_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.21  apply (zenon_L470_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.21  apply (zenon_L41_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.21  exact (zenon_He1 zenon_He5).
% 41.04/41.21  apply (zenon_L471_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2f3); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2f9). zenon_intro zenon_H282. zenon_intro zenon_H2fa.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L479_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2f8); [ zenon_intro zenon_H2fc | zenon_intro zenon_H2fb ].
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_H2fe. zenon_intro zenon_H2fd.
% 41.04/41.21  apply (zenon_and_s _ _ zenon_H2fd). zenon_intro zenon_H284. zenon_intro zenon_H2ff.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L94_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L501_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H2fb); [ zenon_intro zenon_H28d | zenon_intro zenon_H300 ].
% 41.04/41.21  apply (zenon_L507_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H300); [ zenon_intro zenon_H2a3 | zenon_intro zenon_H2aa ].
% 41.04/41.21  apply (zenon_L518_); trivial.
% 41.04/41.21  apply (zenon_L519_); trivial.
% 41.04/41.21  apply (zenon_L99_); trivial.
% 41.04/41.21  apply (zenon_L345_); trivial.
% 41.04/41.21  apply (zenon_L525_); trivial.
% 41.04/41.21  (* end of lemma zenon_L526_ *)
% 41.04/41.21  assert (zenon_L527_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e0) (e4)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.21  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H34 zenon_H32 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_H17a zenon_H168 zenon_H18 zenon_H16 zenon_H22 zenon_H20 zenon_H1f zenon_H2d zenon_H17 zenon_H2c zenon_H91 zenon_Hc.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.21  apply (zenon_L12_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.21  apply (zenon_L262_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.21  apply (zenon_L238_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.21  exact (zenon_He1 zenon_He5).
% 41.04/41.21  apply (zenon_L263_); trivial.
% 41.04/41.21  (* end of lemma zenon_L527_ *)
% 41.04/41.21  assert (zenon_L528_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_Hc2 zenon_Hb1 zenon_H1bf zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1d5 zenon_H91 zenon_H50 zenon_H17 zenon_H10b zenon_H136 zenon_Hba zenon_H1ce zenon_Hb zenon_Ha1 zenon_He1 zenon_H57 zenon_H6e zenon_H197 zenon_H81 zenon_H116 zenon_H2d zenon_He0 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.21  apply (zenon_L277_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.21  apply (zenon_L303_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.21  apply (zenon_L123_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.21  apply (zenon_L285_); trivial.
% 41.04/41.21  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.21  (* end of lemma zenon_L528_ *)
% 41.04/41.21  assert (zenon_L529_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H1c9 zenon_H60 zenon_H19a zenon_H168 zenon_H88 zenon_H68 zenon_H73 zenon_H9f zenon_H61 zenon_H77 zenon_H8e zenon_H89 zenon_H5f zenon_H7b zenon_H9b zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_He0 zenon_H2d zenon_H116 zenon_H81 zenon_H6e zenon_H57 zenon_He1 zenon_Ha1 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H10b zenon_H17 zenon_H50 zenon_H91 zenon_H1d5 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_Hb1 zenon_Hc2 zenon_H146.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.21  apply (zenon_L272_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.21  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.21  apply (zenon_L273_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.21  apply (zenon_L274_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.21  apply (zenon_L527_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.21  apply (zenon_L316_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.21  apply (zenon_L266_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.21  apply (zenon_L528_); trivial.
% 41.04/41.21  exact (zenon_H146 zenon_H144).
% 41.04/41.21  (* end of lemma zenon_L529_ *)
% 41.04/41.21  assert (zenon_L530_ : (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e1) (e1)) = (e3))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e1) (e0)) = (e1)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H146 zenon_Hc2 zenon_H6e zenon_H81 zenon_H116 zenon_H2d zenon_He0 zenon_Hb9 zenon_Hb6 zenon_H83 zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H60 zenon_H1c9 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H34 zenon_H32 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_Ha1 zenon_Hd3 zenon_Hb zenon_H1ce zenon_Hba zenon_H136 zenon_H16 zenon_H3b zenon_H10b zenon_H17 zenon_H22 zenon_H1f zenon_H50 zenon_H91 zenon_Hc zenon_H1d5 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_Hb1.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.21  apply (zenon_L272_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.21  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.21  apply (zenon_L273_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.21  apply (zenon_L51_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.21  apply (zenon_L12_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.21  apply (zenon_L529_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.21  apply (zenon_L238_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.21  exact (zenon_He1 zenon_He5).
% 41.04/41.21  apply (zenon_L302_); trivial.
% 41.04/41.21  (* end of lemma zenon_L530_ *)
% 41.04/41.21  assert (zenon_L531_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (op (e0) (e2)) (e0)) = (e2))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H15b zenon_Hb1 zenon_H20 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1d5 zenon_Hc zenon_H91 zenon_H50 zenon_H1f zenon_H22 zenon_H17 zenon_H10b zenon_H3b zenon_H16 zenon_H136 zenon_Hba zenon_H1ce zenon_Hb zenon_Hd3 zenon_Ha1 zenon_He1 zenon_H88 zenon_H68 zenon_H57 zenon_H58 zenon_H73 zenon_H9f zenon_H61 zenon_H77 zenon_H8e zenon_H89 zenon_H5f zenon_H7b zenon_H9b zenon_H32 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H1c9 zenon_H60 zenon_H19a zenon_H168 zenon_H18e zenon_Hc3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H115 zenon_H1b9 zenon_H49 zenon_H83 zenon_Hb6 zenon_Hb9 zenon_He0 zenon_H2d zenon_H116 zenon_H81 zenon_H6e zenon_Hc2 zenon_H146 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L250_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L530_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  (* end of lemma zenon_L531_ *)
% 41.04/41.21  assert (zenon_L532_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> ((op (e4) (e0)) = (e4)) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_Hda zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_H91 zenon_H81 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_H146 zenon_H20c zenon_H161 zenon_H204 zenon_H9a zenon_H20f zenon_He1 zenon_H57 zenon_H6e zenon_H197 zenon_H116 zenon_Hb zenon_He0 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.21  apply (zenon_L277_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.21  apply (zenon_L357_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.21  apply (zenon_L123_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.21  apply (zenon_L285_); trivial.
% 41.04/41.21  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.21  (* end of lemma zenon_L532_ *)
% 41.04/41.21  assert (zenon_L533_ : (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e0)) = (e4)) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H88 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H99 zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_He0 zenon_Hb zenon_H116 zenon_H6e zenon_H57 zenon_He1 zenon_H20f zenon_H9a zenon_H204 zenon_H161 zenon_H20c zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H91 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_Hda zenon_Ha1 zenon_Hc2 zenon_H146.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.21  apply (zenon_L527_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.21  apply (zenon_L167_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.21  apply (zenon_L266_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.21  apply (zenon_L532_); trivial.
% 41.04/41.21  exact (zenon_H146 zenon_H144).
% 41.04/41.21  (* end of lemma zenon_L533_ *)
% 41.04/41.21  assert (zenon_L534_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e2))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e4) (e0)) = (e4)) -> (~((op (op (e0) (e4)) (e0)) = (e4))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H6e zenon_H116 zenon_Hb zenon_He0 zenon_Hb9 zenon_Hb6 zenon_H83 zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H1ad zenon_H1ae zenon_Hc3 zenon_H34 zenon_H32 zenon_H99 zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H88 zenon_He1 zenon_H20f zenon_H9a zenon_H204 zenon_H1b3 zenon_H161 zenon_H20c zenon_H146 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_Hda.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.21  apply (zenon_L12_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.21  apply (zenon_L533_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.21  apply (zenon_L238_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.21  exact (zenon_He1 zenon_He5).
% 41.04/41.21  apply (zenon_L356_); trivial.
% 41.04/41.21  (* end of lemma zenon_L534_ *)
% 41.04/41.21  assert (zenon_L535_ : (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (e3))) -> ((op (op (e1) (e2)) (e2)) = (e1)) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H223 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H5f zenon_H217 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_H2c zenon_He0 zenon_H9f zenon_Hb9 zenon_H19a zenon_H168 zenon_H116 zenon_H115 zenon_H112 zenon_H18e zenon_H51 zenon_H146 zenon_H1c8 zenon_H1c9 zenon_H21b zenon_H21a zenon_H34 zenon_H16 zenon_H32 zenon_H50 zenon_H16d zenon_H161 zenon_H1f zenon_H20 zenon_H41 zenon_H220 zenon_H3b zenon_H1ae zenon_H22.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H216 | zenon_intro zenon_H224 ].
% 41.04/41.21  apply (zenon_L452_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H1cc | zenon_intro zenon_H225 ].
% 41.04/41.21  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H21c | zenon_intro zenon_H226 ].
% 41.04/41.21  apply (zenon_L377_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H221 | zenon_intro zenon_H1af ].
% 41.04/41.21  apply (zenon_L379_); trivial.
% 41.04/41.21  apply (zenon_L281_); trivial.
% 41.04/41.21  (* end of lemma zenon_L535_ *)
% 41.04/41.21  assert (zenon_L536_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> ((op (op (e1) (e2)) (e2)) = (e1)) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> ((op (e3) (unit)) = (e3)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.21  do 0 intro. intros zenon_H15b zenon_H89 zenon_Hc2 zenon_Ha1 zenon_Haa zenon_Hb6 zenon_Hda zenon_H8e zenon_Hc3 zenon_Hbb zenon_H22 zenon_H1ae zenon_H3b zenon_H220 zenon_H41 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H21a zenon_H21b zenon_H1c9 zenon_H1c8 zenon_H146 zenon_H51 zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H168 zenon_H19a zenon_Hb9 zenon_H9f zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H217 zenon_H5f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_H223 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.21  apply (zenon_L240_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.21  apply (zenon_L535_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.21  apply (zenon_L216_); trivial.
% 41.04/41.21  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.21  apply (zenon_L217_); trivial.
% 41.04/41.21  apply (zenon_L218_); trivial.
% 41.04/41.21  (* end of lemma zenon_L536_ *)
% 41.04/41.21  assert (zenon_L537_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e3)) = (e1))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H19a zenon_H168 zenon_H18e zenon_Hc3 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H68 zenon_H32 zenon_H16 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H237 zenon_H22a zenon_H22d zenon_Hf6 zenon_H51 zenon_Hbb zenon_Hf7 zenon_H89 zenon_H9f zenon_H8e zenon_H60 zenon_H236 zenon_H220 zenon_H41 zenon_H161 zenon_H16d zenon_H50 zenon_H116 zenon_H111 zenon_H23c zenon_Ha1 zenon_Hc2 zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L264_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L167_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L390_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  (* end of lemma zenon_L537_ *)
% 41.04/41.22  assert (zenon_L538_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> ((op (op (e1) (e3)) (e3)) = (e1)) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H23c zenon_H111 zenon_H116 zenon_H50 zenon_H16d zenon_H161 zenon_H41 zenon_H220 zenon_H236 zenon_H60 zenon_H8e zenon_H9f zenon_H89 zenon_Hf7 zenon_Hbb zenon_H51 zenon_Hf6 zenon_H22d zenon_H22a zenon_H237 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1b9 zenon_H115 zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H16 zenon_H32 zenon_H68 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_Hc3 zenon_H18e zenon_H168 zenon_H19a zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L250_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L537_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L538_ *)
% 41.04/41.22  assert (zenon_L539_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_Ha1 zenon_H197 zenon_H241 zenon_H240 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.22  apply (zenon_L53_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.22  apply (zenon_L394_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.22  apply (zenon_L123_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.22  apply (zenon_L288_); trivial.
% 41.04/41.22  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.22  (* end of lemma zenon_L539_ *)
% 41.04/41.22  assert (zenon_L540_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_H92 zenon_Hb6 zenon_Hb9 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H240 zenon_H241 zenon_Ha1 zenon_H2d zenon_H17 zenon_Hc2 zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L263_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L300_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L539_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  (* end of lemma zenon_L540_ *)
% 41.04/41.22  assert (zenon_L541_ : (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H49 zenon_Hbb zenon_He0 zenon_Hb zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H240 zenon_H241 zenon_Ha1 zenon_H2d zenon_H17 zenon_Hc2 zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L396_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L112_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L540_); trivial.
% 41.04/41.22  (* end of lemma zenon_L541_ *)
% 41.04/41.22  assert (zenon_L542_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e1) (e4)) (e4)) = (e1)) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_H89 zenon_Haa zenon_Hda zenon_H9f zenon_H41 zenon_H51 zenon_H50 zenon_H146 zenon_Hc2 zenon_H17 zenon_H2d zenon_Ha1 zenon_H241 zenon_H240 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1b9 zenon_H115 zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H19a zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_Hb zenon_He0 zenon_Hbb zenon_H49 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L240_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L541_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L542_ *)
% 41.04/41.22  assert (zenon_L543_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (e2) (e0)) = (e2)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H115 zenon_H116 zenon_H83 zenon_H87 zenon_H6e zenon_Hed zenon_He6 zenon_He8 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H1c9 zenon_Hb9 zenon_H49 zenon_Hb1 zenon_Hbb zenon_He0 zenon_Hb zenon_H34 zenon_H32 zenon_Hcc zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H88 zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H168 zenon_H20 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H245 zenon_Hba zenon_H3b zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.22  apply (zenon_L272_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.22  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.22  apply (zenon_L273_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.22  apply (zenon_L274_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L527_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L178_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L401_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L238_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L403_); trivial.
% 41.04/41.22  (* end of lemma zenon_L543_ *)
% 41.04/41.22  assert (zenon_L544_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e2)) = (op (e2) (e0)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((e3) = (op (e2) (e4))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_H146 zenon_H3b zenon_Hba zenon_H245 zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H22 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H20 zenon_H168 zenon_H1f zenon_H2d zenon_H17 zenon_H19a zenon_He1 zenon_H88 zenon_H57 zenon_H58 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hcc zenon_H32 zenon_Hb zenon_He0 zenon_Hbb zenon_Hb1 zenon_H49 zenon_Hb9 zenon_H1c9 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_He8 zenon_He6 zenon_Hed zenon_H6e zenon_H87 zenon_H83 zenon_H116 zenon_H115 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L250_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L543_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L544_ *)
% 41.04/41.22  assert (zenon_L545_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H168 zenon_Hb1 zenon_H1bf zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H34 zenon_H16 zenon_H32 zenon_H81 zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_Hc zenon_H4a zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_H58 zenon_H6e zenon_Hba zenon_Hbb zenon_H3b zenon_Hb9 zenon_H24a zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L262_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L316_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L411_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  (* end of lemma zenon_L545_ *)
% 41.04/41.22  assert (zenon_L546_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_He0 zenon_Hb zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H57 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H18 zenon_H91 zenon_H1c9 zenon_H73 zenon_H5f zenon_H9f zenon_H99 zenon_H9a zenon_H9b zenon_H61 zenon_H19a zenon_H17 zenon_H2d zenon_H168 zenon_Hb1 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H34 zenon_H16 zenon_H32 zenon_H81 zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_Hc zenon_H4a zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_H58 zenon_H6e zenon_Hba zenon_Hbb zenon_H3b zenon_Hb9 zenon_H24a zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.22  apply (zenon_L272_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.22  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.22  apply (zenon_L273_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.22  apply (zenon_L51_); trivial.
% 41.04/41.22  apply (zenon_L545_); trivial.
% 41.04/41.22  (* end of lemma zenon_L546_ *)
% 41.04/41.22  assert (zenon_L547_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H81 zenon_H197 zenon_Haa zenon_H24e zenon_H14d zenon_H246 zenon_H6e zenon_Hba zenon_Hbb zenon_H24a zenon_He1 zenon_H57 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.22  apply (zenon_L53_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.22  apply (zenon_L413_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.22  apply (zenon_L123_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.22  apply (zenon_L288_); trivial.
% 41.04/41.22  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.22  (* end of lemma zenon_L547_ *)
% 41.04/41.22  assert (zenon_L548_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H116 zenon_Hb1 zenon_H1c9 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H83 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H88 zenon_H19a zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H57 zenon_He1 zenon_H24a zenon_Hbb zenon_Hba zenon_H6e zenon_H246 zenon_H14d zenon_H24e zenon_Haa zenon_H81 zenon_Ha1 zenon_Hc2 zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L546_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L238_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L263_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L300_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L547_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  (* end of lemma zenon_L548_ *)
% 41.04/41.22  assert (zenon_L549_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (op (e2) (e1)) (e2)) = (e1))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_Hda zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H81 zenon_Haa zenon_H24e zenon_H246 zenon_H6e zenon_Hba zenon_Hbb zenon_H24a zenon_He1 zenon_H57 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1b9 zenon_H115 zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H19a zenon_H88 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H83 zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H1c9 zenon_Hb1 zenon_H116 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L240_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L548_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L549_ *)
% 41.04/41.22  assert (zenon_L550_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> ((op (e2) (e3)) = (e1)) -> ((op (e1) (e4)) = (e2)) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H116 zenon_H257 zenon_H22c zenon_Hab.
% 41.04/41.22  cut (((op (op (e2) (e3)) (e3)) = (e2)) = ((op (e1) (e3)) = (op (e1) (e4)))).
% 41.04/41.22  intro zenon_D_pnotp.
% 41.04/41.22  apply zenon_H116.
% 41.04/41.22  rewrite <- zenon_D_pnotp.
% 41.04/41.22  exact zenon_H257.
% 41.04/41.22  cut (((e2) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 41.04/41.22  cut (((op (op (e2) (e3)) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H258].
% 41.04/41.22  congruence.
% 41.04/41.22  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 41.04/41.22  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (op (e2) (e3)) (e3)) = (op (e1) (e3)))).
% 41.04/41.22  intro zenon_D_pnotp.
% 41.04/41.22  apply zenon_H258.
% 41.04/41.22  rewrite <- zenon_D_pnotp.
% 41.04/41.22  exact zenon_H2e.
% 41.04/41.22  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 41.04/41.22  cut (((op (e1) (e3)) = (op (op (e2) (e3)) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H255].
% 41.04/41.22  congruence.
% 41.04/41.22  apply (zenon_L419_); trivial.
% 41.04/41.22  apply zenon_H2f. apply refl_equal.
% 41.04/41.22  apply zenon_H2f. apply refl_equal.
% 41.04/41.22  apply zenon_Hac. apply sym_equal. exact zenon_Hab.
% 41.04/41.22  (* end of lemma zenon_L550_ *)
% 41.04/41.22  assert (zenon_L551_ : (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e4)) = (e2)) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H236 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H88 zenon_H57 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_Hf7 zenon_Hbb zenon_H6e zenon_He0 zenon_Hb zenon_H49 zenon_H81 zenon_H83 zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_Hb1 zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_He1 zenon_H51 zenon_Hc zenon_Hf6 zenon_H16 zenon_H32 zenon_H2c zenon_H17 zenon_H2d zenon_H1f zenon_H20 zenon_H22 zenon_H18 zenon_H3b zenon_Hab zenon_H257 zenon_H116 zenon_H237 zenon_H34 zenon_H91.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H178 | zenon_intro zenon_H238 ].
% 41.04/41.22  apply (zenon_L382_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H10f | zenon_intro zenon_H239 ].
% 41.04/41.22  apply (zenon_L383_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H22c | zenon_intro zenon_H23a ].
% 41.04/41.22  apply (zenon_L550_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_H23b | zenon_intro zenon_H233 ].
% 41.04/41.22  exact (zenon_H237 zenon_H23b).
% 41.04/41.22  apply (zenon_L385_); trivial.
% 41.04/41.22  (* end of lemma zenon_L551_ *)
% 41.04/41.22  assert (zenon_L552_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H91 zenon_H237 zenon_H116 zenon_H257 zenon_H18 zenon_H2d zenon_H17 zenon_Hf6 zenon_H51 zenon_He1 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hb1 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H81 zenon_Hb zenon_He0 zenon_H6e zenon_Hbb zenon_Hf7 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H57 zenon_H88 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H236 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.22  apply (zenon_L277_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.22  apply (zenon_L551_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.22  apply (zenon_L123_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.22  apply (zenon_L285_); trivial.
% 41.04/41.22  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.22  (* end of lemma zenon_L552_ *)
% 41.04/41.22  assert (zenon_L553_ : (~((op (e4) (e4)) = (e2))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> ((op (op (e2) (e3)) (e3)) = (e2)) -> ((op (e2) (e3)) = (e1)) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc3 zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H49 zenon_Hc zenon_H83 zenon_Hb6 zenon_Hb9 zenon_H236 zenon_H60 zenon_Hf7 zenon_Hbb zenon_H6e zenon_He0 zenon_Hb zenon_H81 zenon_H87 zenon_Hed zenon_He6 zenon_He8 zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H51 zenon_Hf6 zenon_H17 zenon_H2d zenon_H18 zenon_H116 zenon_H237 zenon_H91 zenon_Ha1 zenon_Hc2 zenon_H34 zenon_H16 zenon_H32 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H5f zenon_H3b zenon_H89 zenon_H8e zenon_H77 zenon_H20 zenon_H61 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H22 zenon_H1f zenon_H68 zenon_H88 zenon_He1 zenon_H256 zenon_H257 zenon_H22c.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L552_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L238_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L420_); trivial.
% 41.04/41.22  (* end of lemma zenon_L553_ *)
% 41.04/41.22  assert (zenon_L554_ : ((op (op (e2) (e3)) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e2)) = (e2))) -> ((op (e3) (e0)) = (e3)) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e3) (e3)) = (e1))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H257 zenon_H256 zenon_He1 zenon_H88 zenon_H68 zenon_H1f zenon_H22 zenon_H57 zenon_H58 zenon_H73 zenon_H9f zenon_H61 zenon_H20 zenon_H77 zenon_H8e zenon_H89 zenon_H3b zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H32 zenon_H16 zenon_Hc2 zenon_Ha1 zenon_H116 zenon_H18 zenon_H2d zenon_H17 zenon_Hf6 zenon_H51 zenon_Hee zenon_Hd9 zenon_Hd4 zenon_He9 zenon_Hb1 zenon_He8 zenon_He6 zenon_Hed zenon_H87 zenon_H81 zenon_Hb zenon_He0 zenon_H6e zenon_Hbb zenon_Hf7 zenon_H60 zenon_H236 zenon_Hb9 zenon_Hb6 zenon_H83 zenon_Hc zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_Hc3 zenon_H237 zenon_H34 zenon_H91.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H178 | zenon_intro zenon_H238 ].
% 41.04/41.22  apply (zenon_L382_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H10f | zenon_intro zenon_H239 ].
% 41.04/41.22  apply (zenon_L383_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H22c | zenon_intro zenon_H23a ].
% 41.04/41.22  apply (zenon_L553_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_H23b | zenon_intro zenon_H233 ].
% 41.04/41.22  exact (zenon_H237 zenon_H23b).
% 41.04/41.22  apply (zenon_L385_); trivial.
% 41.04/41.22  (* end of lemma zenon_L554_ *)
% 41.04/41.22  assert (zenon_L555_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc2 zenon_H17 zenon_H2d zenon_Ha1 zenon_H259 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.22  apply (zenon_L53_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.22  apply (zenon_L423_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.22  apply (zenon_L123_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.22  apply (zenon_L288_); trivial.
% 41.04/41.22  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.22  (* end of lemma zenon_L555_ *)
% 41.04/41.22  assert (zenon_L556_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H83 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_Hc2 zenon_H17 zenon_H2d zenon_Ha1 zenon_H259 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L424_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L238_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L555_); trivial.
% 41.04/41.22  (* end of lemma zenon_L556_ *)
% 41.04/41.22  assert (zenon_L557_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((op (op (e2) (e4)) (e4)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_H50 zenon_H51 zenon_H16d zenon_H41 zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H115 zenon_H1b9 zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_H259 zenon_Ha1 zenon_H2d zenon_H17 zenon_Hc2 zenon_He1 zenon_H88 zenon_H68 zenon_H57 zenon_H73 zenon_H9f zenon_H61 zenon_H77 zenon_H8e zenon_H89 zenon_H5f zenon_H7b zenon_H9b zenon_H83 zenon_H49 zenon_Hb zenon_He0 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L250_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L556_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L557_ *)
% 41.04/41.22  assert (zenon_L558_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H3b zenon_H60 zenon_H25d zenon_H4a zenon_Hc zenon_H49 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.22  apply (zenon_L427_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.22  apply (zenon_L17_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.22  apply (zenon_L84_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.22  apply (zenon_L102_); trivial.
% 41.04/41.22  apply (zenon_L290_); trivial.
% 41.04/41.22  (* end of lemma zenon_L558_ *)
% 41.04/41.22  assert (zenon_L559_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H1f zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_He0 zenon_Hb zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hd3 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H91 zenon_H19a zenon_H1c9 zenon_H22 zenon_Hb9 zenon_H34 zenon_H16 zenon_H32 zenon_H73 zenon_H5f zenon_H9f zenon_H61 zenon_H3b zenon_H60 zenon_H25d zenon_H4a zenon_Hc zenon_H49 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_Hb1.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.22  apply (zenon_L272_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.22  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.22  apply (zenon_L273_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.22  apply (zenon_L274_); trivial.
% 41.04/41.22  apply (zenon_L558_); trivial.
% 41.04/41.22  (* end of lemma zenon_L559_ *)
% 41.04/41.22  assert (zenon_L560_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.22  do 0 intro. intros zenon_He0 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Hb zenon_Hb1 zenon_H1bf zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H49 zenon_H34 zenon_H32 zenon_H6e zenon_H58 zenon_H57 zenon_He1 zenon_H3b zenon_H60 zenon_H25d zenon_Hab zenon_Haa zenon_H22 zenon_H20 zenon_H1f zenon_H197 zenon_H16 zenon_H81 zenon_H91 zenon_Hc.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L558_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L286_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L428_); trivial.
% 41.04/41.22  (* end of lemma zenon_L560_ *)
% 41.04/41.22  assert (zenon_L561_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_Hc2 zenon_Ha1 zenon_H81 zenon_H197 zenon_Haa zenon_H25d zenon_H60 zenon_He1 zenon_H57 zenon_H6e zenon_H49 zenon_H1bf zenon_Hb1 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_H92 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H1b9 zenon_H115 zenon_H34 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.22  apply (zenon_L53_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.22  apply (zenon_L560_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.22  apply (zenon_L123_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.22  apply (zenon_L288_); trivial.
% 41.04/41.22  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.22  (* end of lemma zenon_L561_ *)
% 41.04/41.22  assert (zenon_L562_ : (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H9f zenon_H1c9 zenon_H116 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H73 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H19a zenon_H168 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_H20 zenon_H58 zenon_H1f zenon_H32 zenon_H16 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_Hb1 zenon_H49 zenon_H6e zenon_H57 zenon_He1 zenon_H60 zenon_H25d zenon_Haa zenon_H81 zenon_Ha1 zenon_Hc2 zenon_H146.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.22  apply (zenon_L272_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.22  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.22  apply (zenon_L273_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.22  apply (zenon_L51_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.22  apply (zenon_L12_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.22  apply (zenon_L559_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.22  apply (zenon_L112_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.22  apply (zenon_L263_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.22  apply (zenon_L300_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.22  apply (zenon_L266_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.22  apply (zenon_L561_); trivial.
% 41.04/41.22  exact (zenon_H146 zenon_H144).
% 41.04/41.22  (* end of lemma zenon_L562_ *)
% 41.04/41.22  assert (zenon_L563_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e3)) = (op (e3) (e0)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((e1) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_H89 zenon_Hda zenon_Hbb zenon_H146 zenon_Hc2 zenon_Ha1 zenon_H81 zenon_Haa zenon_H25d zenon_H60 zenon_He1 zenon_H57 zenon_H6e zenon_H49 zenon_Hb1 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_H16 zenon_H32 zenon_H1f zenon_H58 zenon_H20 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1b9 zenon_H115 zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3 zenon_H18e zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H168 zenon_H19a zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H73 zenon_H77 zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H116 zenon_H1c9 zenon_H9f zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L240_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L562_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.22  apply (zenon_L217_); trivial.
% 41.04/41.22  apply (zenon_L218_); trivial.
% 41.04/41.22  (* end of lemma zenon_L563_ *)
% 41.04/41.22  assert (zenon_L564_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((e1) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H18e zenon_H116 zenon_H168 zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H60 zenon_H26a zenon_H8e zenon_H260 zenon_H262 zenon_H261 zenon_H267 zenon_He0 zenon_H17 zenon_H2d zenon_Hb zenon_H49 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H68 zenon_H32 zenon_H16 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_Hb1 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H22 zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H34 zenon_H115 zenon_H1b9 zenon_H15f zenon_H42 zenon_H18 zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H91 zenon_Hc.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.22  apply (zenon_L272_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.22  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.22  apply (zenon_L273_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.22  apply (zenon_L274_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H26a); [ zenon_intro zenon_H25e | zenon_intro zenon_H26b ].
% 41.04/41.22  apply (zenon_L437_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H26b); [ zenon_intro zenon_H263 | zenon_intro zenon_H26c ].
% 41.04/41.22  apply (zenon_L438_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H26c); [ zenon_intro zenon_H268 | zenon_intro zenon_H26d ].
% 41.04/41.22  apply (zenon_L440_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H26d); [ zenon_intro zenon_He5 | zenon_intro zenon_Hbf ].
% 41.04/41.22  exact (zenon_He1 zenon_He5).
% 41.04/41.22  apply (zenon_L324_); trivial.
% 41.04/41.22  (* end of lemma zenon_L564_ *)
% 41.04/41.22  assert (zenon_L565_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> ((op (op (e3) (e1)) (e1)) = (e3)) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.22  do 0 intro. intros zenon_H15b zenon_Hc zenon_H91 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H18 zenon_H42 zenon_H1b9 zenon_H115 zenon_H2c zenon_H112 zenon_H1ad zenon_H22 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_Hb1 zenon_H9b zenon_He8 zenon_He6 zenon_Hed zenon_H16 zenon_H32 zenon_H68 zenon_H20 zenon_H1f zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_H49 zenon_Hb zenon_H2d zenon_H17 zenon_He0 zenon_H267 zenon_H261 zenon_H262 zenon_H260 zenon_H8e zenon_H26a zenon_H60 zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H19a zenon_H168 zenon_H116 zenon_H18e zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H146 zenon_H1c8 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.22  apply (zenon_L250_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.22  apply (zenon_L564_); trivial.
% 41.04/41.22  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.22  apply (zenon_L216_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.23  apply (zenon_L217_); trivial.
% 41.04/41.23  apply (zenon_L218_); trivial.
% 41.04/41.23  (* end of lemma zenon_L565_ *)
% 41.04/41.23  assert (zenon_L566_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> ((op (op (e3) (e4)) (e4)) = (e3)) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_He0 zenon_Hb zenon_H115 zenon_H116 zenon_H49 zenon_H34 zenon_H32 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H88 zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H16 zenon_H18 zenon_H168 zenon_Hc zenon_H91 zenon_H20 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H3b zenon_H18e zenon_H22 zenon_H27f zenon_H1ae zenon_H146.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.23  apply (zenon_L12_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.23  apply (zenon_L470_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.23  apply (zenon_L238_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.23  exact (zenon_He1 zenon_He5).
% 41.04/41.23  apply (zenon_L471_); trivial.
% 41.04/41.23  (* end of lemma zenon_L566_ *)
% 41.04/41.23  assert (zenon_L567_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H49 zenon_Hc zenon_H4a zenon_H168 zenon_H34 zenon_H32 zenon_H116 zenon_H2c zenon_H1f zenon_H115 zenon_H112 zenon_H18e zenon_H22 zenon_Hb1 zenon_H1bf zenon_H20 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H282 zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.23  apply (zenon_L262_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.23  apply (zenon_L167_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.23  apply (zenon_L266_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.23  apply (zenon_L473_); trivial.
% 41.04/41.23  exact (zenon_H146 zenon_H144).
% 41.04/41.23  (* end of lemma zenon_L567_ *)
% 41.04/41.23  assert (zenon_L568_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_He0 zenon_Hb zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_H58 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_H9b zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H91 zenon_H1c9 zenon_Hb9 zenon_H73 zenon_H5f zenon_H9f zenon_H60 zenon_H61 zenon_H19a zenon_H17 zenon_H2d zenon_H49 zenon_Hc zenon_H4a zenon_H168 zenon_H34 zenon_H32 zenon_H116 zenon_H2c zenon_H1f zenon_H115 zenon_H112 zenon_H18e zenon_H22 zenon_Hb1 zenon_H20 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H282 zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.23  apply (zenon_L272_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.23  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.23  apply (zenon_L273_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.23  apply (zenon_L274_); trivial.
% 41.04/41.23  apply (zenon_L567_); trivial.
% 41.04/41.23  (* end of lemma zenon_L568_ *)
% 41.04/41.23  assert (zenon_L569_ : (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e1) (e1)) = (e0)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H115 zenon_H116 zenon_H49 zenon_Hb9 zenon_H1c9 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H6e zenon_H87 zenon_H83 zenon_Hb zenon_He0 zenon_H50 zenon_H16d zenon_H41 zenon_H51 zenon_H1c8 zenon_H34 zenon_H32 zenon_Hcc zenon_H9b zenon_H7b zenon_H89 zenon_H77 zenon_H9f zenon_H73 zenon_H58 zenon_H57 zenon_H88 zenon_He1 zenon_H19a zenon_H17 zenon_H2d zenon_H1f zenon_H168 zenon_Hc zenon_H91 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_Hb1 zenon_H20 zenon_H81 zenon_H16 zenon_H99 zenon_H9a zenon_Hc8 zenon_H18 zenon_H42 zenon_H15f zenon_H282 zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.23  apply (zenon_L272_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.23  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.23  apply (zenon_L273_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.23  apply (zenon_L51_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.23  apply (zenon_L12_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.23  apply (zenon_L568_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.23  apply (zenon_L238_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.23  exact (zenon_He1 zenon_He5).
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.23  apply (zenon_L263_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.23  apply (zenon_L300_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.23  apply (zenon_L266_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.23  apply (zenon_L473_); trivial.
% 41.04/41.23  exact (zenon_H146 zenon_H144).
% 41.04/41.23  (* end of lemma zenon_L569_ *)
% 41.04/41.23  assert (zenon_L570_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e4) (e0)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((e3) = (op (e2) (e4))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H15b zenon_H146 zenon_H3b zenon_Hd3 zenon_H282 zenon_H42 zenon_H18 zenon_Hc8 zenon_H9a zenon_H99 zenon_H16 zenon_H81 zenon_H20 zenon_Hb1 zenon_H22 zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H91 zenon_Hc zenon_H168 zenon_H1f zenon_H2d zenon_H17 zenon_H19a zenon_He1 zenon_H88 zenon_H57 zenon_H58 zenon_H73 zenon_H9f zenon_H77 zenon_H89 zenon_H7b zenon_H9b zenon_Hcc zenon_H32 zenon_H1c8 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_He0 zenon_Hb zenon_H83 zenon_H87 zenon_H6e zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H1c9 zenon_Hb9 zenon_H49 zenon_H116 zenon_H115 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.23  apply (zenon_L250_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.23  apply (zenon_L569_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.23  apply (zenon_L216_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.23  apply (zenon_L217_); trivial.
% 41.04/41.23  apply (zenon_L218_); trivial.
% 41.04/41.23  (* end of lemma zenon_L570_ *)
% 41.04/41.23  assert (zenon_L571_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> ((op (e4) (e1)) = (e3)) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H3b zenon_H285 zenon_H1bf zenon_H284 zenon_Hb9 zenon_Hbb zenon_H58 zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hbf zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.23  apply (zenon_L483_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.23  apply (zenon_L17_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.23  apply (zenon_L8_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.23  apply (zenon_L67_); trivial.
% 41.04/41.23  apply (zenon_L11_); trivial.
% 41.04/41.23  (* end of lemma zenon_L571_ *)
% 41.04/41.23  assert (zenon_L572_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_Hb1 zenon_Hd3 zenon_H1e7 zenon_H81 zenon_H99 zenon_H9a zenon_Hc8 zenon_Haa zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H24e zenon_H14d zenon_H11f zenon_H246 zenon_H58 zenon_Hbb zenon_Hb9 zenon_H284 zenon_H1bf zenon_H285 zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.23  apply (zenon_L277_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.23  apply (zenon_L484_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.23  apply (zenon_L123_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.23  apply (zenon_L571_); trivial.
% 41.04/41.23  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.23  (* end of lemma zenon_L572_ *)
% 41.04/41.23  assert (zenon_L573_ : (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> ((e1) = (op (e4) (e2))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (e1) (e4)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H1fe zenon_H32 zenon_H7b zenon_H1f zenon_H50 zenon_H16d zenon_H41 zenon_H1e5 zenon_H81 zenon_H24e zenon_H14d zenon_H34 zenon_H11f zenon_H16 zenon_H246 zenon_H58 zenon_Hbb zenon_H22 zenon_Hb9 zenon_H285 zenon_H284 zenon_H9f zenon_H1ff zenon_H3b zenon_Hd3 zenon_H1fb zenon_Hab zenon_Hc zenon_Haa zenon_Hc8 zenon_Hcc zenon_H9a zenon_H99 zenon_H20 zenon_H1bf zenon_Hb1.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.23  apply (zenon_L312_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.23  apply (zenon_L484_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.23  apply (zenon_L486_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.23  exact (zenon_H1ff zenon_H203).
% 41.04/41.23  apply (zenon_L333_); trivial.
% 41.04/41.23  (* end of lemma zenon_L573_ *)
% 41.04/41.23  assert (zenon_L574_ : (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e3) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_Ha1 zenon_Hb1 zenon_H1bf zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_Haa zenon_H1ff zenon_H9f zenon_H284 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H81 zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H7b zenon_H1fe zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H1fc zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.23  apply (zenon_L317_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.23  apply (zenon_L573_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.23  apply (zenon_L279_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.23  apply (zenon_L334_); trivial.
% 41.04/41.23  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.23  (* end of lemma zenon_L574_ *)
% 41.04/41.23  assert (zenon_L575_ : (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (e1)) = (e3)) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H18 zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_Ha1 zenon_Hb1 zenon_H1bf zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_Haa zenon_H1ff zenon_H9f zenon_H284 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H81 zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H7b zenon_H1fe zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1df | zenon_intro zenon_H200 ].
% 41.04/41.23  apply (zenon_L312_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H201 ].
% 41.04/41.23  apply (zenon_L572_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H201); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H202 ].
% 41.04/41.23  apply (zenon_L486_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H202); [ zenon_intro zenon_H203 | zenon_intro zenon_H1fc ].
% 41.04/41.23  exact (zenon_H1ff zenon_H203).
% 41.04/41.23  apply (zenon_L574_); trivial.
% 41.04/41.23  (* end of lemma zenon_L575_ *)
% 41.04/41.23  assert (zenon_L576_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_He0 zenon_Hb zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H57 zenon_Hed zenon_He6 zenon_He8 zenon_H9b zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H168 zenon_H91 zenon_H19a zenon_H1c9 zenon_H73 zenon_H18 zenon_Hc2 zenon_H2c zenon_H17 zenon_H2d zenon_Ha1 zenon_Hb1 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_Haa zenon_H1ff zenon_H9f zenon_H284 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H246 zenon_H11f zenon_H14d zenon_H24e zenon_H81 zenon_H1e5 zenon_H41 zenon_H16d zenon_H50 zenon_H7b zenon_H1fe zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_Hb6 zenon_H58 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1fb zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.23  apply (zenon_L272_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.23  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.23  apply (zenon_L273_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.23  apply (zenon_L274_); trivial.
% 41.04/41.23  apply (zenon_L575_); trivial.
% 41.04/41.23  (* end of lemma zenon_L576_ *)
% 41.04/41.23  assert (zenon_L577_ : (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (e1) (e1)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H49 zenon_H1c9 zenon_Hb zenon_He0 zenon_H116 zenon_H115 zenon_H51 zenon_H1c8 zenon_H88 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_H9b zenon_He9 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_He1 zenon_H1fe zenon_H7b zenon_H1e5 zenon_Hc3 zenon_H285 zenon_Hb9 zenon_Hbb zenon_H58 zenon_H246 zenon_H11f zenon_H34 zenon_H14d zenon_H24e zenon_H15f zenon_H42 zenon_Hc8 zenon_H9a zenon_H99 zenon_H83 zenon_Hb6 zenon_H32 zenon_Haa zenon_Hb1 zenon_Ha1 zenon_Hc2 zenon_H284 zenon_H9f zenon_H1ff zenon_H19a zenon_H17 zenon_H2d zenon_H18 zenon_H168 zenon_H60 zenon_H68 zenon_H5f zenon_H8e zenon_H61 zenon_H112 zenon_H2c zenon_H18e zenon_Hc zenon_H91 zenon_H81 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1fb zenon_Hd3 zenon_H3b zenon_H146.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.23  apply (zenon_L272_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.23  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.23  apply (zenon_L273_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.23  apply (zenon_L274_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.23  apply (zenon_L12_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.23  apply (zenon_L576_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.23  apply (zenon_L112_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.23  exact (zenon_He1 zenon_He5).
% 41.04/41.23  apply (zenon_L487_); trivial.
% 41.04/41.23  (* end of lemma zenon_L577_ *)
% 41.04/41.23  assert (zenon_L578_ : (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (op (e4) (e1)) (e1)) = (e4)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (unit) (e0)) = (e0)) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H15b zenon_H89 zenon_Hda zenon_H146 zenon_H3b zenon_Hd3 zenon_H1fb zenon_H41 zenon_H16d zenon_H50 zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H81 zenon_H91 zenon_Hc zenon_H18e zenon_H2c zenon_H112 zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H168 zenon_H18 zenon_H2d zenon_H17 zenon_H19a zenon_H1ff zenon_H9f zenon_H284 zenon_Hc2 zenon_Ha1 zenon_Hb1 zenon_Haa zenon_H32 zenon_Hb6 zenon_H83 zenon_H99 zenon_H9a zenon_Hc8 zenon_H42 zenon_H24e zenon_H246 zenon_H58 zenon_Hbb zenon_Hb9 zenon_H285 zenon_Hc3 zenon_H1e5 zenon_H7b zenon_H1fe zenon_He1 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_He9 zenon_H9b zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H88 zenon_H1c8 zenon_H51 zenon_H115 zenon_H116 zenon_He0 zenon_Hb zenon_H1c9 zenon_H49 zenon_H14d zenon_H152 zenon_H11f zenon_H34 zenon_H157.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.23  apply (zenon_L240_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.23  apply (zenon_L577_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.23  apply (zenon_L216_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.23  apply (zenon_L217_); trivial.
% 41.04/41.23  apply (zenon_L218_); trivial.
% 41.04/41.23  (* end of lemma zenon_L578_ *)
% 41.04/41.23  assert (zenon_L579_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (op (e4) (e2)) (e4)) = (e2))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_He0 zenon_Hb zenon_H161 zenon_H49 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H16 zenon_H32 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H83 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H34 zenon_H288 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.23  apply (zenon_L12_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.23  apply (zenon_L504_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.23  apply (zenon_L238_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.23  exact (zenon_He1 zenon_He5).
% 41.04/41.23  apply (zenon_L506_); trivial.
% 41.04/41.23  (* end of lemma zenon_L579_ *)
% 41.04/41.23  assert (zenon_L580_ : ((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H28d zenon_He0 zenon_Hb zenon_H161 zenon_H49 zenon_H99 zenon_H9a zenon_Hcc zenon_Hc8 zenon_H9b zenon_H7b zenon_H5f zenon_H89 zenon_H8e zenon_H77 zenon_H61 zenon_H9f zenon_H73 zenon_H57 zenon_H68 zenon_H88 zenon_He1 zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_H16 zenon_H32 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_Hc zenon_H91 zenon_H83 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H34 zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H28d). zenon_intro zenon_H28f. zenon_intro zenon_H28e.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H28e). zenon_intro zenon_H290. zenon_intro zenon_H288.
% 41.04/41.23  apply (zenon_L579_); trivial.
% 41.04/41.23  (* end of lemma zenon_L580_ *)
% 41.04/41.23  assert (zenon_L581_ : (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> (~((op (e0) (e0)) = (e1))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e1))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> (~((e1) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e4) (e4)) = (e4))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> False).
% 41.04/41.23  do 0 intro. intros zenon_H2ad zenon_H17e zenon_H17d zenon_H136 zenon_H10b zenon_H1d5 zenon_H1f4 zenon_H20c zenon_H20f zenon_H22d zenon_H111 zenon_H23c zenon_H240 zenon_H237 zenon_H236 zenon_Hf7 zenon_Hf6 zenon_H256 zenon_H26a zenon_H260 zenon_H261 zenon_H1ad zenon_H223 zenon_H217 zenon_H279 zenon_H26e zenon_H21a zenon_H267 zenon_H275 zenon_H157 zenon_H152 zenon_H14d zenon_H1c9 zenon_H116 zenon_H51 zenon_H1c8 zenon_H87 zenon_H6e zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hd9 zenon_Hee zenon_H1fe zenon_H1e5 zenon_H285 zenon_Hbb zenon_H246 zenon_H24e zenon_H42 zenon_Haa zenon_H19a zenon_H168 zenon_H60 zenon_H18e zenon_H81 zenon_H1fb zenon_H146 zenon_Hda zenon_H15b zenon_Hc3 zenon_H1b3 zenon_H1ae zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H83 zenon_Hc zenon_Hb6 zenon_Hb9 zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_Hc2 zenon_He1 zenon_H88 zenon_H68 zenon_H73 zenon_H9f zenon_H61 zenon_H77 zenon_H8e zenon_H89 zenon_H5f zenon_H7b zenon_H9b zenon_Hc8 zenon_H9a zenon_H49 zenon_Hb zenon_He0 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_H1ff zenon_H299 zenon_H2a0 zenon_H29c zenon_H41 zenon_H22 zenon_H20 zenon_H1f zenon_H161 zenon_H16d zenon_H50 zenon_H32 zenon_H16 zenon_H34 zenon_H220 zenon_H169 zenon_H2a4.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2ad); [ zenon_intro zenon_H172 | zenon_intro zenon_H2ae ].
% 41.04/41.23  apply (zenon_L251_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2ae); [ zenon_intro zenon_H17c | zenon_intro zenon_H2af ].
% 41.04/41.23  apply (zenon_L265_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2af); [ zenon_intro zenon_H2b1 | zenon_intro zenon_H2b0 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2b1). zenon_intro zenon_H2b3. zenon_intro zenon_H2b2.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H2b4. zenon_intro zenon_H1ce.
% 41.04/41.23  apply (zenon_L531_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2b0); [ zenon_intro zenon_H2b6 | zenon_intro zenon_H2b5 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2b6). zenon_intro zenon_H2b8. zenon_intro zenon_H2b7.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2b7). zenon_intro zenon_H2b9. zenon_intro zenon_H1ea.
% 41.04/41.23  apply (zenon_L339_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2b5); [ zenon_intro zenon_H2bb | zenon_intro zenon_H2ba ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2bb). zenon_intro zenon_H2bd. zenon_intro zenon_H2bc.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2bc). zenon_intro zenon_H2be. zenon_intro zenon_H204.
% 41.04/41.23  apply (zenon_L534_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2ba); [ zenon_intro zenon_H2c0 | zenon_intro zenon_H2bf ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2c0). zenon_intro zenon_H213. zenon_intro zenon_H2c1.
% 41.04/41.23  apply (zenon_L364_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2bf); [ zenon_intro zenon_H214 | zenon_intro zenon_H2c2 ].
% 41.04/41.23  apply (zenon_L370_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2c2); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c3 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2c4). zenon_intro zenon_H2c6. zenon_intro zenon_H2c5.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2c5). zenon_intro zenon_H21b. zenon_intro zenon_H2c7.
% 41.04/41.23  apply (zenon_L536_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2c3); [ zenon_intro zenon_H2c9 | zenon_intro zenon_H2c8 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2c9). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H22a. zenon_intro zenon_H2cc.
% 41.04/41.23  apply (zenon_L538_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2c8); [ zenon_intro zenon_H2ce | zenon_intro zenon_H2cd ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H2d0. zenon_intro zenon_H2cf.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2cf). zenon_intro zenon_H241. zenon_intro zenon_H2d1.
% 41.04/41.23  apply (zenon_L542_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2cd); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H2d2 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2d3). zenon_intro zenon_H245. zenon_intro zenon_H2d4.
% 41.04/41.23  apply (zenon_L544_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2d2); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d5 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_H2d8. zenon_intro zenon_H2d7.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2d7). zenon_intro zenon_H2d9. zenon_intro zenon_H24a.
% 41.04/41.23  apply (zenon_L549_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2d5); [ zenon_intro zenon_H252 | zenon_intro zenon_H2da ].
% 41.04/41.23  apply (zenon_L417_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2da); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2db ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2de. zenon_intro zenon_H2dd.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2dd). zenon_intro zenon_H257. zenon_intro zenon_H2df.
% 41.04/41.23  apply (zenon_L554_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2db); [ zenon_intro zenon_H2e1 | zenon_intro zenon_H2e0 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2e1). zenon_intro zenon_H2e3. zenon_intro zenon_H2e2.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2e2). zenon_intro zenon_H259. zenon_intro zenon_H2e4.
% 41.04/41.23  apply (zenon_L557_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2e0); [ zenon_intro zenon_H2e6 | zenon_intro zenon_H2e5 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2e6). zenon_intro zenon_H25d. zenon_intro zenon_H2e7.
% 41.04/41.23  apply (zenon_L563_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2e5); [ zenon_intro zenon_H2e9 | zenon_intro zenon_H2e8 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2e9). zenon_intro zenon_H2eb. zenon_intro zenon_H2ea.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_H262. zenon_intro zenon_H2ec.
% 41.04/41.23  apply (zenon_L565_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2e8); [ zenon_intro zenon_H2ee | zenon_intro zenon_H2ed ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2ee). zenon_intro zenon_H2f0. zenon_intro zenon_H2ef.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2ef). zenon_intro zenon_H26f. zenon_intro zenon_H2f1.
% 41.04/41.23  apply (zenon_L457_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2ed); [ zenon_intro zenon_H27d | zenon_intro zenon_H2f2 ].
% 41.04/41.23  apply (zenon_L468_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2f2); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2f3 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2f4). zenon_intro zenon_H2f6. zenon_intro zenon_H2f5.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2f5). zenon_intro zenon_H27f. zenon_intro zenon_H2f7.
% 41.04/41.23  apply (zenon_L566_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2f3); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2f9). zenon_intro zenon_H282. zenon_intro zenon_H2fa.
% 41.04/41.23  apply (zenon_L570_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2f8); [ zenon_intro zenon_H2fc | zenon_intro zenon_H2fb ].
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_H2fe. zenon_intro zenon_H2fd.
% 41.04/41.23  apply (zenon_and_s _ _ zenon_H2fd). zenon_intro zenon_H284. zenon_intro zenon_H2ff.
% 41.04/41.23  apply (zenon_L578_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H2fb); [ zenon_intro zenon_H28d | zenon_intro zenon_H300 ].
% 41.04/41.23  apply (zenon_L580_); trivial.
% 41.04/41.23  apply (zenon_or_s _ _ zenon_H300); [ zenon_intro zenon_H2a3 | zenon_intro zenon_H2aa ].
% 41.04/41.23  apply (zenon_L518_); trivial.
% 41.04/41.23  apply (zenon_L519_); trivial.
% 41.04/41.23  (* end of lemma zenon_L581_ *)
% 41.04/41.23  assert (zenon_L582_ : (~((op (e0) (e0)) = (e1))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e1))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e1))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H17e zenon_H17 zenon_He0 zenon_He1 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H136 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_H51 zenon_H168 zenon_H17d zenon_H16d zenon_H50 zenon_H42 zenon_H41 zenon_H1c8 zenon_H8e zenon_H89 zenon_Hc2 zenon_Hc3 zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_Hb6 zenon_H10b zenon_H1d5 zenon_Ha1 zenon_H60 zenon_H9a zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H116 zenon_H115 zenon_H112 zenon_H18e zenon_H146 zenon_H19a zenon_H14d zenon_H152 zenon_H157 zenon_H15b zenon_Haa zenon_Hbb zenon_H1fe zenon_H1fb zenon_H1ff zenon_H161 zenon_H169 zenon_H1f4 zenon_H1e5 zenon_H20c zenon_H20f zenon_H223 zenon_H220 zenon_H21a zenon_H217 zenon_H23c zenon_Hf6 zenon_Hf7 zenon_H22d zenon_H237 zenon_H236 zenon_H111 zenon_H240 zenon_H24e zenon_H246 zenon_H256 zenon_H260 zenon_H261 zenon_H267 zenon_H26a zenon_H26e zenon_H275 zenon_H279 zenon_H285 zenon_H299 zenon_H29c zenon_H2a0 zenon_H2a4 zenon_H2ad.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.24  apply (zenon_L581_); trivial.
% 41.04/41.24  apply (zenon_L99_); trivial.
% 41.04/41.24  (* end of lemma zenon_L582_ *)
% 41.04/41.24  assert (zenon_L583_ : ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e3) (e3)) = (e1))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (e1))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_Hf1 zenon_H2ad zenon_H2a4 zenon_H2a0 zenon_H29c zenon_H299 zenon_H285 zenon_H279 zenon_H275 zenon_H26e zenon_H26a zenon_H267 zenon_H261 zenon_H260 zenon_H256 zenon_H246 zenon_H24e zenon_H240 zenon_H111 zenon_H236 zenon_H237 zenon_H22d zenon_Hf7 zenon_Hf6 zenon_H23c zenon_H217 zenon_H21a zenon_H220 zenon_H223 zenon_H20f zenon_H20c zenon_H1e5 zenon_H1f4 zenon_H169 zenon_H161 zenon_H1ff zenon_H1fb zenon_H1fe zenon_Hbb zenon_Haa zenon_H15b zenon_H157 zenon_H152 zenon_H14d zenon_H19a zenon_H146 zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H9a zenon_H60 zenon_Ha1 zenon_H1d5 zenon_H10b zenon_Hb6 zenon_H11f zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Hc2 zenon_H89 zenon_H8e zenon_H1c8 zenon_H41 zenon_H42 zenon_H50 zenon_H16d zenon_H17d zenon_H168 zenon_H51 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H136 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He1 zenon_He0 zenon_H17 zenon_H17e.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.24  apply (zenon_L582_); trivial.
% 41.04/41.24  apply (zenon_L246_); trivial.
% 41.04/41.24  (* end of lemma zenon_L583_ *)
% 41.04/41.24  assert (zenon_L584_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (e0)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e1)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H3b zenon_H9b zenon_H9a zenon_H32 zenon_Hb1 zenon_H99 zenon_Hd3 zenon_Ha5 zenon_He8.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.24  apply (zenon_L55_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.24  apply (zenon_L49_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.24  apply (zenon_L58_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.24  apply (zenon_L60_); trivial.
% 41.04/41.24  apply (zenon_L124_); trivial.
% 41.04/41.24  (* end of lemma zenon_L584_ *)
% 41.04/41.24  assert (zenon_L585_ : ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (~((op (e0) (e0)) = (e1))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e3)) = (e3))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e4) (e0)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e2)) = (e2))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e3) (e3)) = (e1))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H2ac zenon_H17e zenon_H17 zenon_He0 zenon_He1 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H136 zenon_H49 zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_H51 zenon_H168 zenon_H17d zenon_H16d zenon_H50 zenon_H42 zenon_H41 zenon_H1c8 zenon_H8e zenon_H89 zenon_Hc2 zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_Hb6 zenon_H10b zenon_H1d5 zenon_Ha1 zenon_H60 zenon_H9a zenon_H9f zenon_Hb9 zenon_H1c9 zenon_H116 zenon_H115 zenon_H112 zenon_H18e zenon_H19a zenon_H14d zenon_H152 zenon_H157 zenon_H15b zenon_Haa zenon_Hbb zenon_H1fe zenon_H1fb zenon_H1ff zenon_H161 zenon_H169 zenon_H1f4 zenon_H1e5 zenon_H20c zenon_H20f zenon_H223 zenon_H220 zenon_H21a zenon_H217 zenon_H23c zenon_Hf6 zenon_Hf7 zenon_H22d zenon_H237 zenon_H236 zenon_H111 zenon_H240 zenon_H24e zenon_H246 zenon_H256 zenon_H260 zenon_H261 zenon_H267 zenon_H26a zenon_H26e zenon_H275 zenon_H279 zenon_H285 zenon_H299 zenon_H29c zenon_H2a0 zenon_H2a4 zenon_H2ad zenon_Hf1.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.24  apply (zenon_L583_); trivial.
% 41.04/41.24  apply (zenon_L584_); trivial.
% 41.04/41.24  (* end of lemma zenon_L585_ *)
% 41.04/41.24  assert (zenon_L586_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e3)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e0)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H3b zenon_H8d zenon_H61 zenon_H8e zenon_H5f zenon_H68 zenon_H60 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.24  apply (zenon_L101_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.24  apply (zenon_L24_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.24  apply (zenon_L42_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.24  apply (zenon_L26_); trivial.
% 41.04/41.24  apply (zenon_L11_); trivial.
% 41.04/41.24  (* end of lemma zenon_L586_ *)
% 41.04/41.24  assert (zenon_L587_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H3b zenon_H61 zenon_H8e zenon_H60 zenon_H5f zenon_H77 zenon_H76 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.24  apply (zenon_L83_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.24  apply (zenon_L24_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.24  apply (zenon_L42_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.24  apply (zenon_L32_); trivial.
% 41.04/41.24  apply (zenon_L11_); trivial.
% 41.04/41.24  (* end of lemma zenon_L587_ *)
% 41.04/41.24  assert (zenon_L588_ : ((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e0)) = (e3)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (e1))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> ((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H301 zenon_H14a zenon_Hf1 zenon_H2ad zenon_H2a4 zenon_H2a0 zenon_H29c zenon_H299 zenon_H285 zenon_H279 zenon_H275 zenon_H26e zenon_H260 zenon_H261 zenon_H267 zenon_H26a zenon_H256 zenon_H24e zenon_H246 zenon_H240 zenon_H111 zenon_H236 zenon_H22d zenon_Hf7 zenon_Hf6 zenon_H23c zenon_H217 zenon_H21a zenon_H220 zenon_H223 zenon_H20f zenon_H20c zenon_H1fe zenon_H1fb zenon_H161 zenon_H1f4 zenon_H1e5 zenon_H169 zenon_Haa zenon_H15b zenon_H157 zenon_H152 zenon_H14d zenon_H19a zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H60 zenon_H10b zenon_H1d5 zenon_H1c4 zenon_Hbb zenon_Hc2 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Hb6 zenon_H8e zenon_Ha1 zenon_H1a9 zenon_H11f zenon_H165 zenon_H1c8 zenon_H41 zenon_H42 zenon_H50 zenon_H16d zenon_H17d zenon_H168 zenon_H51 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H136 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_H17 zenon_H17e zenon_H2ac zenon_H302 zenon_Hf0.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H301); [ zenon_intro zenon_H237 | zenon_intro zenon_H72 ].
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H302); [ zenon_intro zenon_H1ff | zenon_intro zenon_H7c ].
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.24  apply (zenon_L526_); trivial.
% 41.04/41.24  apply (zenon_L585_); trivial.
% 41.04/41.24  apply (zenon_L40_); trivial.
% 41.04/41.24  apply (zenon_L586_); trivial.
% 41.04/41.24  apply (zenon_L587_); trivial.
% 41.04/41.24  apply (zenon_L274_); trivial.
% 41.04/41.24  (* end of lemma zenon_L588_ *)
% 41.04/41.24  assert (zenon_L589_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e2)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_He0 zenon_Hb zenon_H116 zenon_Hab zenon_H81 zenon_H197 zenon_H6e zenon_He1 zenon_Hd9 zenon_H61 zenon_Hc3 zenon_H9b zenon_Hbb zenon_H83 zenon_Hb6 zenon_Hb9 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H16 zenon_H34 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.24  apply (zenon_L12_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.24  apply (zenon_L278_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.24  apply (zenon_L286_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.24  exact (zenon_He1 zenon_He5).
% 41.04/41.24  apply (zenon_L82_); trivial.
% 41.04/41.24  (* end of lemma zenon_L589_ *)
% 41.04/41.24  assert (zenon_L590_ : (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e3) (e4)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e1) (e3)) = (e2)) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_Hda zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H57 zenon_Hba zenon_Hd4 zenon_Hc8 zenon_Hc2 zenon_H17 zenon_H2d zenon_H18 zenon_Ha1 zenon_Haa zenon_H72 zenon_H73 zenon_H5f zenon_H9f zenon_Hbb zenon_H9b zenon_H61 zenon_Hd9 zenon_He1 zenon_H6e zenon_H197 zenon_H81 zenon_H116 zenon_Hb zenon_He0 zenon_H58 zenon_Hb9 zenon_Hb6 zenon_H34 zenon_H16 zenon_H32 zenon_H83 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H49 zenon_H4a zenon_H1b9 zenon_H115 zenon_H11f zenon_H2c zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_Hd3 zenon_H3b zenon_Hc3.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.24  apply (zenon_L277_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.24  apply (zenon_L589_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.24  apply (zenon_L123_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.24  apply (zenon_L285_); trivial.
% 41.04/41.24  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.24  (* end of lemma zenon_L590_ *)
% 41.04/41.24  assert (zenon_L591_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((e1) = (e3))) -> (~((op (e4) (e4)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H19a zenon_H168 zenon_Hee zenon_He9 zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H77 zenon_H87 zenon_H7b zenon_H88 zenon_H18e zenon_Hc3 zenon_H3b zenon_Hd3 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H2c zenon_H11f zenon_H115 zenon_H1b9 zenon_H4a zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_H83 zenon_H32 zenon_H16 zenon_H34 zenon_Hb6 zenon_Hb9 zenon_H58 zenon_He0 zenon_Hb zenon_H116 zenon_H81 zenon_H6e zenon_He1 zenon_Hd9 zenon_H61 zenon_H9b zenon_Hbb zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_Hc2 zenon_Hc8 zenon_Hd4 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_Hda zenon_H146.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.24  apply (zenon_L264_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.24  apply (zenon_L178_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.24  apply (zenon_L266_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.24  apply (zenon_L590_); trivial.
% 41.04/41.24  exact (zenon_H146 zenon_H144).
% 41.04/41.24  (* end of lemma zenon_L591_ *)
% 41.04/41.24  assert (zenon_L592_ : (~((op (e4) (e4)) = (e1))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H146 zenon_H116 zenon_Hb zenon_He0 zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H18e zenon_Hed zenon_He6 zenon_He8 zenon_He9 zenon_Hee zenon_H168 zenon_H19a zenon_H87 zenon_H81 zenon_H7b zenon_H89 zenon_H6e zenon_H77 zenon_H68 zenon_H88 zenon_He1 zenon_Hd9 zenon_H61 zenon_Hc3 zenon_H9b zenon_Hbb zenon_H83 zenon_Hb6 zenon_Hb9 zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H16 zenon_H34 zenon_Haa zenon_Ha1 zenon_H18 zenon_H2d zenon_H17 zenon_H2c zenon_Hc2 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hba zenon_H57 zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.24  apply (zenon_L12_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.24  apply (zenon_L591_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.24  apply (zenon_L41_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.24  exact (zenon_He1 zenon_He5).
% 41.04/41.24  apply (zenon_L82_); trivial.
% 41.04/41.24  (* end of lemma zenon_L592_ *)
% 41.04/41.24  assert (zenon_L593_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e1)) = (e3)) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H49 zenon_Hc zenon_H4a zenon_H168 zenon_H116 zenon_H2c zenon_H115 zenon_H112 zenon_H18e zenon_H34 zenon_H16 zenon_H32 zenon_H81 zenon_H1f zenon_H20 zenon_H22 zenon_H50 zenon_H16d zenon_H41 zenon_H193 zenon_H51 zenon_H3b zenon_H146.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.24  apply (zenon_L262_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.24  apply (zenon_L167_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.24  apply (zenon_L266_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.24  apply (zenon_L271_); trivial.
% 41.04/41.24  exact (zenon_H146 zenon_H144).
% 41.04/41.24  (* end of lemma zenon_L593_ *)
% 41.04/41.24  assert (zenon_L594_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e1)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H3b zenon_H8e zenon_H5f zenon_H9f zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_H1bf zenon_Hb1.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.24  apply (zenon_L83_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.24  apply (zenon_L89_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.24  apply (zenon_L8_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.24  apply (zenon_L32_); trivial.
% 41.04/41.24  apply (zenon_L290_); trivial.
% 41.04/41.24  (* end of lemma zenon_L594_ *)
% 41.04/41.24  assert (zenon_L595_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H1c8 zenon_H146 zenon_H51 zenon_H41 zenon_H16d zenon_H50 zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H2c zenon_H116 zenon_H168 zenon_H4a zenon_Hc zenon_H49 zenon_H2d zenon_H17 zenon_H19a zenon_H1c9 zenon_Hb9 zenon_H34 zenon_H16 zenon_H32 zenon_H3b zenon_H8e zenon_H5f zenon_H9f zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_Hb1.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.24  apply (zenon_L593_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.24  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.24  apply (zenon_L273_); trivial.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.24  apply (zenon_L196_); trivial.
% 41.04/41.24  apply (zenon_L594_); trivial.
% 41.04/41.24  (* end of lemma zenon_L595_ *)
% 41.04/41.24  assert (zenon_L596_ : ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e2)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (e0) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> ((op (e2) (e0)) = (e2)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> False).
% 41.04/41.24  do 0 intro. intros zenon_H2ac zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H1c8 zenon_Hb1 zenon_H8e zenon_H5f zenon_H76 zenon_H9f zenon_H77 zenon_Hb9 zenon_H1c9 zenon_H49 zenon_H168 zenon_H116 zenon_H115 zenon_H112 zenon_H18e zenon_H81 zenon_H16d zenon_H50 zenon_H41 zenon_H51 zenon_H19a zenon_Hee zenon_Hd9 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H87 zenon_H83 zenon_H7b zenon_H88 zenon_Hba zenon_Hc2 zenon_Hb6 zenon_Haa zenon_Ha1 zenon_He0 zenon_Hf1.
% 41.04/41.24  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.24  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L595_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L132_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  apply (zenon_L116_); trivial.
% 41.04/41.25  apply (zenon_L92_); trivial.
% 41.04/41.25  apply (zenon_L99_); trivial.
% 41.04/41.25  apply (zenon_L117_); trivial.
% 41.04/41.25  apply (zenon_L113_); trivial.
% 41.04/41.25  (* end of lemma zenon_L596_ *)
% 41.04/41.25  assert (zenon_L597_ : ((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e2)) = (e2))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (e1))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> ((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H301 zenon_H14a zenon_Hf1 zenon_H2ad zenon_H2a4 zenon_H2a0 zenon_H29c zenon_H299 zenon_H285 zenon_H279 zenon_H275 zenon_H26e zenon_H260 zenon_H261 zenon_H267 zenon_H26a zenon_H256 zenon_H24e zenon_H246 zenon_H240 zenon_H111 zenon_H236 zenon_H22d zenon_Hf7 zenon_Hf6 zenon_H23c zenon_H217 zenon_H21a zenon_H220 zenon_H223 zenon_H20f zenon_H20c zenon_H1fe zenon_H1fb zenon_H161 zenon_H1f4 zenon_H1e5 zenon_H169 zenon_Haa zenon_H15b zenon_H157 zenon_H152 zenon_H14d zenon_H19a zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H10b zenon_H1d5 zenon_H1c4 zenon_Hbb zenon_Hc2 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Hb6 zenon_H8e zenon_Ha1 zenon_H1a9 zenon_H11f zenon_H165 zenon_H1c8 zenon_H41 zenon_H42 zenon_H50 zenon_H16d zenon_H17d zenon_H168 zenon_H51 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H136 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_H17 zenon_H17e zenon_H2ac zenon_H302 zenon_Hf0 zenon_H89 zenon_He1 zenon_Hc3 zenon_H146.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 41.04/41.25  apply (zenon_L588_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 41.04/41.25  apply (zenon_L592_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 41.04/41.25  apply (zenon_L596_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 41.04/41.25  exact (zenon_H89 zenon_H8d).
% 41.04/41.25  apply (zenon_L40_); trivial.
% 41.04/41.25  apply (zenon_L99_); trivial.
% 41.04/41.25  (* end of lemma zenon_L597_ *)
% 41.04/41.25  assert (zenon_L598_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e4)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e4) (e2)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H3b zenon_Hc8 zenon_H99 zenon_H32 zenon_H9f zenon_H72 zenon_H5f zenon_H197 zenon_H16 zenon_H81 zenon_Hd3 zenon_Hc9 zenon_He9.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.25  apply (zenon_L70_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.25  apply (zenon_L71_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.25  apply (zenon_L50_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.25  apply (zenon_L270_); trivial.
% 41.04/41.25  apply (zenon_L107_); trivial.
% 41.04/41.25  (* end of lemma zenon_L598_ *)
% 41.04/41.25  assert (zenon_L599_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e0)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H49 zenon_Hc zenon_H4a zenon_H168 zenon_H34 zenon_H58 zenon_Hba zenon_H57 zenon_H1f zenon_H20 zenon_Hbb zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_He9 zenon_Hc9 zenon_Hd3 zenon_H81 zenon_H16 zenon_H5f zenon_H72 zenon_H9f zenon_H32 zenon_H99 zenon_Hc8 zenon_H3b zenon_H146.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.25  apply (zenon_L262_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.25  apply (zenon_L178_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.25  apply (zenon_L266_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.25  apply (zenon_L598_); trivial.
% 41.04/41.25  exact (zenon_H146 zenon_H144).
% 41.04/41.25  (* end of lemma zenon_L599_ *)
% 41.04/41.25  assert (zenon_L600_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e3)) = (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> False).
% 41.04/41.25  do 0 intro. intros zenon_He0 zenon_H18 zenon_Hb zenon_H146 zenon_H9f zenon_H72 zenon_H81 zenon_H18e zenon_H2c zenon_H112 zenon_Hbb zenon_Hba zenon_H168 zenon_H49 zenon_H2d zenon_H17 zenon_H19a zenon_He9 zenon_Hd3 zenon_H83 zenon_H5f zenon_H89 zenon_H57 zenon_H58 zenon_H6e zenon_H77 zenon_H16 zenon_H34 zenon_H73 zenon_H61 zenon_H68 zenon_H88 zenon_He1 zenon_H3b zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc9 zenon_H99 zenon_H91 zenon_Hc.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L599_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L212_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  exact (zenon_He1 zenon_He5).
% 41.04/41.25  apply (zenon_L73_); trivial.
% 41.04/41.25  (* end of lemma zenon_L600_ *)
% 41.04/41.25  assert (zenon_L601_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (e1)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H3b zenon_H68 zenon_H8d zenon_H9f zenon_H5f zenon_H73 zenon_H72 zenon_H20 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.25  apply (zenon_L101_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.25  apply (zenon_L104_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.25  apply (zenon_L50_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.25  apply (zenon_L30_); trivial.
% 41.04/41.25  apply (zenon_L11_); trivial.
% 41.04/41.25  (* end of lemma zenon_L601_ *)
% 41.04/41.25  assert (zenon_L602_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e0)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((e1) = (e3))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_Hf0 zenon_H14a zenon_Hf1 zenon_He0 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hba zenon_Hd9 zenon_Hee zenon_H168 zenon_H49 zenon_Hbb zenon_H112 zenon_H18e zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H11f zenon_H115 zenon_H116 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_Hc2 zenon_H72 zenon_H9f zenon_Ha1 zenon_H19a zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_H1c4 zenon_H1a9 zenon_H165 zenon_H42 zenon_H8e zenon_H2ac.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_L592_); trivial.
% 41.04/41.25  apply (zenon_L99_); trivial.
% 41.04/41.25  apply (zenon_L600_); trivial.
% 41.04/41.25  apply (zenon_L525_); trivial.
% 41.04/41.25  apply (zenon_L51_); trivial.
% 41.04/41.25  apply (zenon_L601_); trivial.
% 41.04/41.25  apply (zenon_L196_); trivial.
% 41.04/41.25  (* end of lemma zenon_L602_ *)
% 41.04/41.25  assert (zenon_L603_ : ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> ((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e0)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e0) (e0)) = (e1))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> ((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H101 zenon_Hfc zenon_Hfe zenon_Hff zenon_H301 zenon_H14a zenon_Hf1 zenon_H2ad zenon_H2a4 zenon_H2a0 zenon_H29c zenon_H299 zenon_H285 zenon_H279 zenon_H275 zenon_H26e zenon_H260 zenon_H261 zenon_H267 zenon_H26a zenon_H256 zenon_H24e zenon_H246 zenon_H240 zenon_H111 zenon_H236 zenon_H22d zenon_Hf6 zenon_H23c zenon_H217 zenon_H21a zenon_H220 zenon_H223 zenon_H20f zenon_H20c zenon_H1fe zenon_H1fb zenon_H161 zenon_H1f4 zenon_H1e5 zenon_H169 zenon_Haa zenon_H15b zenon_H157 zenon_H152 zenon_H14d zenon_H19a zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H1c9 zenon_Hb9 zenon_H9f zenon_H10b zenon_H1d5 zenon_H1c4 zenon_Hbb zenon_Hc2 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Hb6 zenon_H8e zenon_Ha1 zenon_H1a9 zenon_H11f zenon_H165 zenon_H1c8 zenon_H41 zenon_H42 zenon_H50 zenon_H16d zenon_H17d zenon_H168 zenon_H51 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H49 zenon_H136 zenon_Hee zenon_Hd9 zenon_Hba zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_H17 zenon_H17e zenon_H2ac zenon_H302 zenon_Hf0.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H301); [ zenon_intro zenon_H237 | zenon_intro zenon_H72 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H302); [ zenon_intro zenon_H1ff | zenon_intro zenon_H7c ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_L597_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 41.04/41.25  apply (zenon_L526_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 41.04/41.25  apply (zenon_L600_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 41.04/41.25  apply (zenon_L596_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 41.04/41.25  exact (zenon_H89 zenon_H8d).
% 41.04/41.25  apply (zenon_L40_); trivial.
% 41.04/41.25  apply (zenon_L525_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_L597_); trivial.
% 41.04/41.25  apply (zenon_L246_); trivial.
% 41.04/41.25  apply (zenon_L584_); trivial.
% 41.04/41.25  apply (zenon_L40_); trivial.
% 41.04/41.25  apply (zenon_L110_); trivial.
% 41.04/41.25  apply (zenon_L596_); trivial.
% 41.04/41.25  apply (zenon_L602_); trivial.
% 41.04/41.25  apply (zenon_L139_); trivial.
% 41.04/41.25  (* end of lemma zenon_L603_ *)
% 41.04/41.25  assert (zenon_L604_ : ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_Hf0 zenon_H8e zenon_H9f zenon_H72 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H50 zenon_H49 zenon_H10c zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hf2 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_L153_); trivial.
% 41.04/41.25  apply (zenon_L196_); trivial.
% 41.04/41.25  (* end of lemma zenon_L604_ *)
% 41.04/41.25  assert (zenon_L605_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (e0)) = (e4)) -> ((op (e4) (unit)) = (e4)) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e4) (e3)) = (e2)) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H3b zenon_H72 zenon_H5f zenon_H61 zenon_H9b zenon_Hc8 zenon_H9a zenon_H99 zenon_Hbf zenon_H83 zenon_H91 zenon_Hc zenon_H92.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.25  apply (zenon_L46_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.25  apply (zenon_L49_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.25  apply (zenon_L84_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.25  apply (zenon_L67_); trivial.
% 41.04/41.25  apply (zenon_L44_); trivial.
% 41.04/41.25  (* end of lemma zenon_L605_ *)
% 41.04/41.25  assert (zenon_L606_ : (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e4) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_Hd9 zenon_Hbf zenon_H61 zenon_H5f zenon_H72 zenon_Hc3 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H83 zenon_He8 zenon_Hb6 zenon_Hb9 zenon_H34 zenon_Haa zenon_Ha1 zenon_H2d zenon_H2c zenon_Hc2 zenon_H92 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hf2 zenon_H6e zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_H9a | zenon_intro zenon_Hdb ].
% 41.04/41.25  apply (zenon_L605_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hdc ].
% 41.04/41.25  apply (zenon_L126_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hdd ].
% 41.04/41.25  apply (zenon_L73_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hdd); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_L127_); trivial.
% 41.04/41.25  exact (zenon_Hda zenon_Hde).
% 41.04/41.25  (* end of lemma zenon_L606_ *)
% 41.04/41.25  assert (zenon_L607_ : (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e3) (e4)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_He0 zenon_Hb zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H88 zenon_H7b zenon_H81 zenon_H87 zenon_H77 zenon_H73 zenon_H57 zenon_H68 zenon_Hed zenon_He6 zenon_He9 zenon_Hee zenon_He1 zenon_Hd9 zenon_Hbf zenon_H61 zenon_H5f zenon_H72 zenon_Hc3 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H83 zenon_He8 zenon_Hb6 zenon_Hb9 zenon_H34 zenon_Haa zenon_Ha1 zenon_H2d zenon_H2c zenon_Hc2 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hf2 zenon_H6e zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L285_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L152_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  exact (zenon_He1 zenon_He5).
% 41.04/41.25  apply (zenon_L606_); trivial.
% 41.04/41.25  (* end of lemma zenon_L607_ *)
% 41.04/41.25  assert (zenon_L608_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((op (e3) (e2)) = (e0)) -> (~((op (e4) (e4)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e2)) = (e2)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e4) (e4)) = (e2))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H116 zenon_H4a zenon_H8e zenon_H42 zenon_H125 zenon_Hda zenon_H3b zenon_Hcc zenon_Hb1 zenon_H99 zenon_H91 zenon_H6e zenon_Hf2 zenon_H58 zenon_Hd3 zenon_Hd4 zenon_Hc8 zenon_H32 zenon_H22 zenon_H20 zenon_H1f zenon_Hc zenon_Hc2 zenon_H2c zenon_H2d zenon_Ha1 zenon_Haa zenon_H34 zenon_Hb9 zenon_Hb6 zenon_He8 zenon_H83 zenon_H16 zenon_H17 zenon_H18 zenon_H9b zenon_H72 zenon_H5f zenon_H61 zenon_Hd9 zenon_He1 zenon_Hee zenon_He9 zenon_He6 zenon_Hed zenon_H68 zenon_H57 zenon_H73 zenon_H77 zenon_H87 zenon_H81 zenon_H7b zenon_H88 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H11f zenon_H115 zenon_H1b9 zenon_H49 zenon_Hb zenon_He0 zenon_Hc3.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Hc4 ].
% 41.04/41.25  apply (zenon_L317_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hab | zenon_intro zenon_Hc5 ].
% 41.04/41.25  apply (zenon_L278_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hc6 ].
% 41.04/41.25  apply (zenon_L214_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc7 ].
% 41.04/41.25  apply (zenon_L607_); trivial.
% 41.04/41.25  exact (zenon_Hc3 zenon_Hc7).
% 41.04/41.25  (* end of lemma zenon_L608_ *)
% 41.04/41.25  assert (zenon_L609_ : (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> (~((op (e4) (e4)) = (e2))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e3) (e3)) = (e2))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e4))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((e1) = (op (e4) (e2))) -> (~((e0) = (e1))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H12d zenon_H10b zenon_H50 zenon_H9f zenon_Hf0 zenon_H109 zenon_H12e zenon_Hc3 zenon_He0 zenon_Hb zenon_H49 zenon_H1b9 zenon_H115 zenon_H11f zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H88 zenon_H7b zenon_H81 zenon_H87 zenon_H77 zenon_H73 zenon_H57 zenon_H68 zenon_Hed zenon_He6 zenon_He9 zenon_Hee zenon_He1 zenon_Hd9 zenon_H61 zenon_H5f zenon_H72 zenon_H9b zenon_H18 zenon_H17 zenon_H16 zenon_H83 zenon_He8 zenon_Hb6 zenon_Hb9 zenon_Haa zenon_Ha1 zenon_H2d zenon_H2c zenon_Hc2 zenon_Hc zenon_H1f zenon_H20 zenon_H22 zenon_H32 zenon_Hc8 zenon_Hd4 zenon_Hd3 zenon_H58 zenon_Hf2 zenon_H6e zenon_H91 zenon_H99 zenon_Hb1 zenon_Hcc zenon_H3b zenon_Hda zenon_H42 zenon_H8e zenon_H4a zenon_H116 zenon_H34 zenon_H129.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H10c | zenon_intro zenon_H12f ].
% 41.04/41.25  apply (zenon_L604_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H120 | zenon_intro zenon_H130 ].
% 41.04/41.25  apply (zenon_L170_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H130); [ zenon_intro zenon_H132 | zenon_intro zenon_H131 ].
% 41.04/41.25  exact (zenon_H12e zenon_H132).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H131); [ zenon_intro zenon_H125 | zenon_intro zenon_H128 ].
% 41.04/41.25  apply (zenon_L608_); trivial.
% 41.04/41.25  apply (zenon_L174_); trivial.
% 41.04/41.25  (* end of lemma zenon_L609_ *)
% 41.04/41.25  assert (zenon_L610_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e2)) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> ((op (e2) (e1)) = (e2)) -> ((op (e2) (unit)) = (e2)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H3b zenon_H113 zenon_H2c zenon_H112 zenon_H4a zenon_Hc zenon_H49 zenon_H22 zenon_H20 zenon_H1f zenon_H6e zenon_Hf2 zenon_H58 zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H9 | zenon_intro zenon_H3c ].
% 41.04/41.25  apply (zenon_L164_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_H14 | zenon_intro zenon_H3d ].
% 41.04/41.25  apply (zenon_L17_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3d); [ zenon_intro zenon_H21 | zenon_intro zenon_H3e ].
% 41.04/41.25  apply (zenon_L8_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H3e); [ zenon_intro zenon_H2a | zenon_intro zenon_H33 ].
% 41.04/41.25  apply (zenon_L120_); trivial.
% 41.04/41.25  apply (zenon_L11_); trivial.
% 41.04/41.25  (* end of lemma zenon_L610_ *)
% 41.04/41.25  assert (zenon_L611_ : (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((e1) = (op (e4) (e2))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e2)) = (e2)) -> ((op (e1) (e3)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((e1) = (e3))) -> ((e3) = (op (e2) (e4))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (e4) (e2)) = (e4)) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e1)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e4) (e4)) = (e1))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H19a zenon_H17 zenon_H2d zenon_H168 zenon_H34 zenon_H58 zenon_Hf2 zenon_H6e zenon_H1f zenon_H20 zenon_H49 zenon_Hc zenon_H4a zenon_H112 zenon_H2c zenon_H18e zenon_H22 zenon_He9 zenon_Hc9 zenon_Hd3 zenon_H81 zenon_H16 zenon_H5f zenon_H72 zenon_H9f zenon_H32 zenon_H99 zenon_Hc8 zenon_H3b zenon_H146.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19a); [ zenon_intro zenon_H17a | zenon_intro zenon_H19b ].
% 41.04/41.25  apply (zenon_L262_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19b); [ zenon_intro zenon_H113 | zenon_intro zenon_H19c ].
% 41.04/41.25  apply (zenon_L610_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18d | zenon_intro zenon_H19d ].
% 41.04/41.25  apply (zenon_L266_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H144 ].
% 41.04/41.25  apply (zenon_L598_); trivial.
% 41.04/41.25  exact (zenon_H146 zenon_H144).
% 41.04/41.25  (* end of lemma zenon_L611_ *)
% 41.04/41.25  assert (zenon_L612_ : ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e3) (e3)) = (e3))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e3) (e3)) = (e2))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e1))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_Hf1 zenon_H19a zenon_H146 zenon_H18e zenon_H168 zenon_Hbb zenon_H89 zenon_Hf0 zenon_H8e zenon_H9f zenon_H72 zenon_H50 zenon_H49 zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hf2 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_H109 zenon_H11f zenon_H12e zenon_H115 zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_He1 zenon_Haa zenon_Hc2 zenon_Hb6 zenon_Hb9 zenon_H116 zenon_Ha1 zenon_H129 zenon_H12d zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L609_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L41_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  exact (zenon_He1 zenon_He5).
% 41.04/41.25  apply (zenon_L128_); trivial.
% 41.04/41.25  apply (zenon_L99_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L611_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L212_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  exact (zenon_He1 zenon_He5).
% 41.04/41.25  apply (zenon_L73_); trivial.
% 41.04/41.25  (* end of lemma zenon_L612_ *)
% 41.04/41.25  assert (zenon_L613_ : ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e3) (e1)) = (e3)) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e1))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e1)) = (e1)) -> ((op (e1) (e0)) = (e1)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H14a zenon_Hf1 zenon_H19a zenon_H18e zenon_H168 zenon_Hbb zenon_Hf0 zenon_H8e zenon_H9f zenon_H72 zenon_H50 zenon_H49 zenon_H42 zenon_H10b zenon_Hee zenon_Hd9 zenon_Hf2 zenon_Hd4 zenon_H91 zenon_He9 zenon_Hd3 zenon_Hb1 zenon_H9b zenon_H99 zenon_Hc8 zenon_Hcc zenon_He8 zenon_He6 zenon_Hed zenon_H68 zenon_H5f zenon_H61 zenon_H58 zenon_H57 zenon_H73 zenon_H6e zenon_H77 zenon_H87 zenon_H83 zenon_H81 zenon_H7b zenon_H88 zenon_He0 zenon_H109 zenon_H11f zenon_H12e zenon_H115 zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Haa zenon_Hc2 zenon_Hb6 zenon_Hb9 zenon_H116 zenon_Ha1 zenon_H129 zenon_H12d zenon_Hb zenon_Hc zenon_H18 zenon_H16 zenon_H17 zenon_H1f zenon_H20 zenon_H22 zenon_H2d zenon_H2c zenon_H32 zenon_H34 zenon_H3b zenon_H1c4 zenon_H1a9 zenon_H165 zenon_H2ac.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_L612_); trivial.
% 41.04/41.25  apply (zenon_L525_); trivial.
% 41.04/41.25  apply (zenon_L121_); trivial.
% 41.04/41.25  apply (zenon_L130_); trivial.
% 41.04/41.25  apply (zenon_L196_); trivial.
% 41.04/41.25  (* end of lemma zenon_L613_ *)
% 41.04/41.25  assert (zenon_L614_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e4) (e4)) = (e4))) -> (~((op (e4) (e4)) = (e2))) -> (~((op (e3) (e3)) = (e3))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e1) (e1)) = (e3))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((e0) = (e1))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e2) (e2)) = (e0))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e2) (e1)) = (e2)) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (unit)) = (e0)) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (e2)) = (e3)) -> ((op (unit) (e3)) = (e3)) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H1c8 zenon_Hda zenon_Hc3 zenon_H89 zenon_H16d zenon_H41 zenon_H51 zenon_H146 zenon_H1c9 zenon_H2ac zenon_H165 zenon_H1a9 zenon_H1c4 zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H12d zenon_H129 zenon_Ha1 zenon_H116 zenon_Hb9 zenon_Hb6 zenon_Hc2 zenon_Haa zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H115 zenon_H12e zenon_H11f zenon_H109 zenon_He0 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hf2 zenon_Hd9 zenon_Hee zenon_H10b zenon_H42 zenon_H49 zenon_H50 zenon_Hf0 zenon_Hbb zenon_H168 zenon_H18e zenon_H19a zenon_Hf1 zenon_H14a zenon_H3b zenon_H8e zenon_H5f zenon_H9f zenon_H22 zenon_H1f zenon_H77 zenon_H76 zenon_H20 zenon_Hb1.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H193 | zenon_intro zenon_H1ca ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He0); [ zenon_intro zenon_Hd | zenon_intro zenon_He2 ].
% 41.04/41.25  apply (zenon_L12_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_H4a | zenon_intro zenon_He3 ].
% 41.04/41.25  apply (zenon_L593_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_H59 | zenon_intro zenon_He4 ].
% 41.04/41.25  apply (zenon_L41_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_He5 | zenon_intro zenon_H92 ].
% 41.04/41.25  apply (zenon_L133_); trivial.
% 41.04/41.25  apply (zenon_L128_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1cc | zenon_intro zenon_H1cb ].
% 41.04/41.25  exact (zenon_H1c9 zenon_H1cc).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H19e | zenon_intro zenon_H1cd ].
% 41.04/41.25  apply (zenon_L273_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H72 | zenon_intro zenon_H1bf ].
% 41.04/41.25  apply (zenon_L613_); trivial.
% 41.04/41.25  apply (zenon_L594_); trivial.
% 41.04/41.25  (* end of lemma zenon_L614_ *)
% 41.04/41.25  assert (zenon_L615_ : (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((e0) = (e1))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e2) (e2)) = (e0))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e0)) = (e0)) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (~((op (e1) (e1)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e1) = (op (e4) (e2))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((op (e4) (e4)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (unit)) = (e0)) -> ((op (e0) (e0)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((e1) = (e3))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (e3))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> ((op (e2) (e1)) = (e2)) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((op (e3) (e2)) = (e3)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H1c8 zenon_H2ac zenon_H165 zenon_H1a9 zenon_H1c4 zenon_H12d zenon_H129 zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H12e zenon_H11f zenon_H109 zenon_Hed zenon_He6 zenon_Hee zenon_H10b zenon_H42 zenon_Hf0 zenon_Hf1 zenon_H14a zenon_H1c9 zenon_H3b zenon_H34 zenon_H32 zenon_H2c zenon_H2d zenon_H22 zenon_H20 zenon_H1f zenon_H17 zenon_H16 zenon_H18 zenon_Hc zenon_Hb zenon_H19a zenon_H146 zenon_H51 zenon_H41 zenon_H50 zenon_H16d zenon_H81 zenon_H18e zenon_H112 zenon_H115 zenon_H116 zenon_H168 zenon_H49 zenon_H88 zenon_H7b zenon_H83 zenon_H87 zenon_H89 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H58 zenon_H61 zenon_H5f zenon_H68 zenon_Hd9 zenon_Hcc zenon_Hb1 zenon_H91 zenon_Hf2 zenon_Hd4 zenon_He9 zenon_Hd3 zenon_H9f zenon_H8e zenon_H76 zenon_H9b zenon_H99 zenon_Hc8 zenon_Ha1 zenon_Haa zenon_Hb9 zenon_Hb6 zenon_He8 zenon_Hc2 zenon_Hbb zenon_He0.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hda | zenon_intro zenon_Hde ].
% 41.04/41.25  apply (zenon_L614_); trivial.
% 41.04/41.25  apply (zenon_L99_); trivial.
% 41.04/41.25  apply (zenon_L117_); trivial.
% 41.04/41.25  (* end of lemma zenon_L615_ *)
% 41.04/41.25  assert (zenon_L616_ : ((op (e0) (e0)) = (e0)) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e1) (e1)) = (e3))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> (~((e0) = (e3))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> ((op (e1) (e0)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((e0) = (e1))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e2) (e2)) = (e0))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> ((op (unit) (e0)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> (~((e1) = (e3))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e1)) = (e2)) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((e3) = (op (e2) (e4))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H16d zenon_H41 zenon_H51 zenon_H1c9 zenon_H1c8 zenon_H2ac zenon_H165 zenon_H1a9 zenon_H1c4 zenon_H2c zenon_H2d zenon_H17 zenon_H18 zenon_Hc zenon_Hb zenon_H12d zenon_H129 zenon_Ha1 zenon_H116 zenon_Hb9 zenon_Hb6 zenon_Hc2 zenon_Haa zenon_H1b9 zenon_H1b3 zenon_H1ae zenon_H1ad zenon_H112 zenon_H115 zenon_H12e zenon_H11f zenon_H109 zenon_He0 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H73 zenon_H57 zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_Hd9 zenon_Hee zenon_H10b zenon_H42 zenon_H49 zenon_H50 zenon_H9f zenon_H8e zenon_Hf0 zenon_H168 zenon_H18e zenon_H19a zenon_Hf1 zenon_H14a zenon_Hbb zenon_H58 zenon_Hf2 zenon_H61 zenon_H5f zenon_H1f zenon_H20 zenon_H22 zenon_H6e zenon_H32 zenon_H16 zenon_H34 zenon_H3b.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H60 | zenon_intro zenon_H8a ].
% 41.04/41.25  apply (zenon_L181_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8a); [ zenon_intro zenon_H72 | zenon_intro zenon_H8b ].
% 41.04/41.25  apply (zenon_L613_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H76 | zenon_intro zenon_H8c ].
% 41.04/41.25  apply (zenon_L615_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H8d | zenon_intro zenon_H7c ].
% 41.04/41.25  exact (zenon_H89 zenon_H8d).
% 41.04/41.25  apply (zenon_L40_); trivial.
% 41.04/41.25  apply (zenon_L525_); trivial.
% 41.04/41.25  apply (zenon_L121_); trivial.
% 41.04/41.25  apply (zenon_L130_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H2ac); [ zenon_intro zenon_H146 | zenon_intro zenon_Ha5 ].
% 41.04/41.25  apply (zenon_L615_); trivial.
% 41.04/41.25  apply (zenon_L113_); trivial.
% 41.04/41.25  apply (zenon_L225_); trivial.
% 41.04/41.25  (* end of lemma zenon_L616_ *)
% 41.04/41.25  assert (zenon_L617_ : ((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3))) -> (~((op (e0) (e0)) = (e1))) -> (~((op (e0) (e1)) = (op (e0) (e2)))) -> (((op (e0) (e0)) = (e1))\/(((op (e0) (e1)) = (e1))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e3)) = (e1))\/((op (e0) (e4)) = (e1)))))) -> (((op (e0) (e2)) = (e0))\/(((op (e0) (e2)) = (e1))\/(((op (e0) (e2)) = (e2))\/(((op (e0) (e2)) = (e3))\/((op (e0) (e2)) = (e4)))))) -> (~((op (e1) (e1)) = (op (e2) (e1)))) -> (~((op (e1) (e1)) = (op (e3) (e1)))) -> (~((op (e1) (e1)) = (op (e4) (e1)))) -> (((op (e0) (e1)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e1)) = (e0))\/(((op (e3) (e1)) = (e0))\/((op (e4) (e1)) = (e0)))))) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> (~((op (e3) (e0)) = (op (e4) (e0)))) -> (((op (e0) (e3)) = (e0))\/(((op (e0) (e3)) = (e1))\/(((op (e0) (e3)) = (e2))\/(((op (e0) (e3)) = (e3))\/((op (e0) (e3)) = (e4)))))) -> (~((op (e0) (e0)) = (op (e0) (e3)))) -> (~((op (e0) (e4)) = (op (e3) (e4)))) -> (((op (e3) (e0)) = (e4))\/(((op (e3) (e1)) = (e4))\/(((op (e3) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e3) (e4)) = (e4)))))) -> (~((op (e0) (e4)) = (op (e2) (e4)))) -> (((op (e0) (e4)) = (e4))\/(((op (e1) (e4)) = (e4))\/(((op (e2) (e4)) = (e4))\/(((op (e3) (e4)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> (((op (e1) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e1) (e2)) = (e3))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e4)) = (e3)))))) -> (~((op (e0) (e3)) = (op (e1) (e3)))) -> (~((op (e3) (e2)) = (op (e4) (e2)))) -> (~((op (e1) (e0)) = (op (e3) (e0)))) -> (((op (e1) (e3)) = (e0))\/(((op (e1) (e3)) = (e1))\/(((op (e1) (e3)) = (e2))\/(((op (e1) (e3)) = (e3))\/((op (e1) (e3)) = (e4)))))) -> (((op (e2) (e0)) = (e2))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e2) (e3)) = (e2))\/((op (e2) (e4)) = (e2)))))) -> (~((op (e2) (e3)) = (op (e4) (e3)))) -> (((op (e0) (e3)) = (e1))\/(((op (e1) (e3)) = (e1))\/(((op (e2) (e3)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e3)) = (e1)))))) -> (~((op (e1) (e1)) = (op (e1) (e3)))) -> (~((op (e2) (e4)) = (op (e3) (e4)))) -> (~((op (e0) (e1)) = (op (e2) (e1)))) -> (((op (e2) (e1)) = (e0))\/(((op (e2) (e1)) = (e1))\/(((op (e2) (e1)) = (e2))\/(((op (e2) (e1)) = (e3))\/((op (e2) (e1)) = (e4)))))) -> (~((op (e1) (e3)) = (op (e4) (e3)))) -> (((op (e3) (e0)) = (e2))\/(((op (e3) (e1)) = (e2))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e3) (e4)) = (e2)))))) -> (~((op (e0) (e2)) = (op (e3) (e2)))) -> (~((op (e2) (e1)) = (op (e4) (e1)))) -> (~((op (e2) (e0)) = (op (e3) (e0)))) -> (~((op (e0) (e2)) = (op (e1) (e2)))) -> (~((op (e1) (e2)) = (op (e4) (e2)))) -> (((op (e3) (e2)) = (e0))\/(((op (e3) (e2)) = (e1))\/(((op (e3) (e2)) = (e2))\/(((op (e3) (e2)) = (e3))\/((op (e3) (e2)) = (e4)))))) -> (~((op (e2) (e1)) = (op (e3) (e1)))) -> (~((op (e0) (e3)) = (op (e4) (e3)))) -> (((op (e4) (e3)) = (e0))\/(((op (e4) (e3)) = (e1))\/(((op (e4) (e3)) = (e2))\/(((op (e4) (e3)) = (e3))\/((op (e4) (e3)) = (e4)))))) -> (~((op (e0) (e3)) = (op (e2) (e3)))) -> (((op (e0) (e3)) = (e4))\/(((op (e1) (e3)) = (e4))\/(((op (e2) (e3)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e3)) = (e4)))))) -> (((~((op (e0) (e0)) = (op (e0) (e0))))/\(((op (op (e0) (e0)) (e0)) = (e0))/\(~((op (op (e0) (e0)) (e0)) = (e0)))))\/(((~((op (e1) (e0)) = (op (e0) (e1))))/\(((op (op (e0) (e1)) (e1)) = (e0))/\(~((op (op (e0) (e1)) (e0)) = (e1)))))\/(((~((op (e2) (e0)) = (op (e0) (e2))))/\(((op (op (e0) (e2)) (e2)) = (e0))/\(~((op (op (e0) (e2)) (e0)) = (e2)))))\/(((~((op (e3) (e0)) = (op (e0) (e3))))/\(((op (op (e0) (e3)) (e3)) = (e0))/\(~((op (op (e0) (e3)) (e0)) = (e3)))))\/(((~((op (e4) (e0)) = (op (e0) (e4))))/\(((op (op (e0) (e4)) (e4)) = (e0))/\(~((op (op (e0) (e4)) (e0)) = (e4)))))\/(((~((op (e0) (e1)) = (op (e1) (e0))))/\(((op (op (e1) (e0)) (e0)) = (e1))/\(~((op (op (e1) (e0)) (e1)) = (e0)))))\/(((~((op (e1) (e1)) = (op (e1) (e1))))/\(((op (op (e1) (e1)) (e1)) = (e1))/\(~((op (op (e1) (e1)) (e1)) = (e1)))))\/(((~((op (e2) (e1)) = (op (e1) (e2))))/\(((op (op (e1) (e2)) (e2)) = (e1))/\(~((op (op (e1) (e2)) (e1)) = (e2)))))\/(((~((op (e3) (e1)) = (op (e1) (e3))))/\(((op (op (e1) (e3)) (e3)) = (e1))/\(~((op (op (e1) (e3)) (e1)) = (e3)))))\/(((~((op (e4) (e1)) = (op (e1) (e4))))/\(((op (op (e1) (e4)) (e4)) = (e1))/\(~((op (op (e1) (e4)) (e1)) = (e4)))))\/(((~((op (e0) (e2)) = (op (e2) (e0))))/\(((op (op (e2) (e0)) (e0)) = (e2))/\(~((op (op (e2) (e0)) (e2)) = (e0)))))\/(((~((op (e1) (e2)) = (op (e2) (e1))))/\(((op (op (e2) (e1)) (e1)) = (e2))/\(~((op (op (e2) (e1)) (e2)) = (e1)))))\/(((~((op (e2) (e2)) = (op (e2) (e2))))/\(((op (op (e2) (e2)) (e2)) = (e2))/\(~((op (op (e2) (e2)) (e2)) = (e2)))))\/(((~((op (e3) (e2)) = (op (e2) (e3))))/\(((op (op (e2) (e3)) (e3)) = (e2))/\(~((op (op (e2) (e3)) (e2)) = (e3)))))\/(((~((op (e4) (e2)) = (op (e2) (e4))))/\(((op (op (e2) (e4)) (e4)) = (e2))/\(~((op (op (e2) (e4)) (e2)) = (e4)))))\/(((~((op (e0) (e3)) = (op (e3) (e0))))/\(((op (op (e3) (e0)) (e0)) = (e3))/\(~((op (op (e3) (e0)) (e3)) = (e0)))))\/(((~((op (e1) (e3)) = (op (e3) (e1))))/\(((op (op (e3) (e1)) (e1)) = (e3))/\(~((op (op (e3) (e1)) (e3)) = (e1)))))\/(((~((op (e2) (e3)) = (op (e3) (e2))))/\(((op (op (e3) (e2)) (e2)) = (e3))/\(~((op (op (e3) (e2)) (e3)) = (e2)))))\/(((~((op (e3) (e3)) = (op (e3) (e3))))/\(((op (op (e3) (e3)) (e3)) = (e3))/\(~((op (op (e3) (e3)) (e3)) = (e3)))))\/(((~((op (e4) (e3)) = (op (e3) (e4))))/\(((op (op (e3) (e4)) (e4)) = (e3))/\(~((op (op (e3) (e4)) (e3)) = (e4)))))\/(((~((op (e0) (e4)) = (op (e4) (e0))))/\(((op (op (e4) (e0)) (e0)) = (e4))/\(~((op (op (e4) (e0)) (e4)) = (e0)))))\/(((~((op (e1) (e4)) = (op (e4) (e1))))/\(((op (op (e4) (e1)) (e1)) = (e4))/\(~((op (op (e4) (e1)) (e4)) = (e1)))))\/(((~((op (e2) (e4)) = (op (e4) (e2))))/\(((op (op (e4) (e2)) (e2)) = (e4))/\(~((op (op (e4) (e2)) (e4)) = (e2)))))\/(((~((op (e3) (e4)) = (op (e4) (e3))))/\(((op (op (e4) (e3)) (e3)) = (e4))/\(~((op (op (e4) (e3)) (e4)) = (e3)))))\/((~((op (e4) (e4)) = (op (e4) (e4))))/\(((op (op (e4) (e4)) (e4)) = (e4))/\(~((op (op (e4) (e4)) (e4)) = (e4))))))))))))))))))))))))))))) -> ((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3))) -> (~((op (e2) (e2)) = (op (e2) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e2)))) -> (~((op (e2) (e0)) = (op (e2) (e2)))) -> ((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2))) -> (~((op (e2) (e0)) = (op (e2) (e1)))) -> ((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4))) -> ((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4))) -> (((op (e0) (e4)) = (e1))\/(((op (e1) (e4)) = (e1))\/(((op (e2) (e4)) = (e1))\/(((op (e3) (e4)) = (e1))\/((op (e4) (e4)) = (e1)))))) -> (~((e1) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e4)))) -> ((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3))) -> (~((op (e3) (e1)) = (op (e3) (e2)))) -> ((op (e0) (unit)) = (e0)) -> (~((op (e1) (e2)) = (op (e1) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e2)))) -> (((op (e0) (e3)) = (e2))\/(((op (e1) (e3)) = (e2))\/(((op (e2) (e3)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e3)) = (e2)))))) -> (~((op (e1) (e1)) = (op (e1) (e2)))) -> ((e0) = (op (op (e4) (e2)) (op (e4) (e2)))) -> (~((op (e2) (e2)) = (e0))) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> (~((op (e1) (e4)) = (op (e3) (e4)))) -> (~((op (e1) (e4)) = (op (e2) (e4)))) -> (~((op (e0) (e4)) = (op (e1) (e4)))) -> (((op (e1) (e4)) = (e0))\/(((op (e1) (e4)) = (e1))\/(((op (e1) (e4)) = (e2))\/(((op (e1) (e4)) = (e3))\/((op (e1) (e4)) = (e4)))))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (((op (e0) (e4)) = (e2))\/(((op (e1) (e4)) = (e2))\/(((op (e2) (e4)) = (e2))\/(((op (e3) (e4)) = (e2))\/((op (e4) (e4)) = (e2)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e0) (e2)) = (op (e0) (e4)))) -> (~((e0) = (e1))) -> (((op (e0) (e2)) = (e0))\/(((op (e1) (e2)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e2)) = (e0))\/((op (e4) (e2)) = (e0)))))) -> (~((op (e0) (e2)) = (op (e0) (e3)))) -> ((op (unit) (e2)) = (e2)) -> (~((op (e1) (e0)) = (op (e1) (e1)))) -> (((op (e0) (e4)) = (e0))\/(((op (e1) (e4)) = (e0))\/(((op (e2) (e4)) = (e0))\/(((op (e3) (e4)) = (e0))\/((op (e4) (e4)) = (e0)))))) -> (~((e0) = (e3))) -> (~((op (e0) (e0)) = (op (e0) (e4)))) -> ((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4))) -> (((op (e0) (e1)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e1)) = (e3))\/(((op (e3) (e1)) = (e3))\/((op (e4) (e1)) = (e3)))))) -> (~((op (e1) (e1)) = (e3))) -> (~((op (e0) (e1)) = (op (e0) (e3)))) -> (~((op (e0) (e0)) = (op (e0) (e1)))) -> ((op (e0) (e0)) = (e0)) -> (~((op (e2) (e2)) = (e2))) -> (((op (e3) (e0)) = (e3))\/(((op (e3) (e1)) = (e3))\/(((op (e3) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e3) (e4)) = (e3)))))) -> (~((op (e3) (e0)) = (op (e3) (e4)))) -> (~((op (e3) (e1)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e4)))) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e2) (e1)) = (op (e2) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e2) (e0)) = (op (e2) (e3)))) -> (~((op (e3) (e0)) = (op (e3) (e1)))) -> ((op (e3) (unit)) = (e3)) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))) -> (~((op (e4) (e0)) = (op (e4) (e4)))) -> (~((op (e4) (e1)) = (op (e4) (e4)))) -> (~((op (e4) (e0)) = (op (e4) (e3)))) -> (~((op (e4) (e0)) = (op (e4) (e2)))) -> ((op (e4) (unit)) = (e4)) -> (~((op (e4) (e0)) = (op (e4) (e1)))) -> (~((op (e4) (e1)) = (op (e4) (e3)))) -> ((op (unit) (e4)) = (e4)) -> (~((op (e4) (e2)) = (op (e4) (e4)))) -> (~((op (e4) (e2)) = (op (e4) (e3)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (e1) (e0)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e3)))) -> (((op (e4) (e0)) = (e4))\/(((op (e4) (e1)) = (e4))\/(((op (e4) (e2)) = (e4))\/(((op (e4) (e3)) = (e4))\/((op (e4) (e4)) = (e4)))))) -> ((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e2) (e0)) = (op (e2) (e4)))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e1)) = (op (e2) (e4)))) -> ((e3) = (op (e2) (e4))) -> ((op (unit) (e3)) = (e3)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> ((op (e3) (e2)) = (e0)) -> ((op (unit) (e0)) = (e0)) -> (~((op (e3) (e0)) = (op (e3) (e2)))) -> (~((op (e4) (e1)) = (op (e4) (e2)))) -> ((op (unit) (e1)) = (e1)) -> ((e1) = (op (e4) (e2))) -> False).
% 41.04/41.25  do 0 intro. intros zenon_H302 zenon_H17e zenon_H136 zenon_H17d zenon_H1d5 zenon_H14d zenon_H152 zenon_H157 zenon_H15b zenon_H169 zenon_H1e5 zenon_H1f4 zenon_H161 zenon_H1fb zenon_H1fe zenon_H20c zenon_H20f zenon_H223 zenon_H220 zenon_H21a zenon_H217 zenon_H23c zenon_Hf6 zenon_H22d zenon_H236 zenon_H111 zenon_H240 zenon_H246 zenon_H24e zenon_H256 zenon_H26a zenon_H267 zenon_H261 zenon_H260 zenon_H26e zenon_H275 zenon_H279 zenon_H285 zenon_H299 zenon_H29c zenon_H2a0 zenon_H2a4 zenon_H2ad zenon_H301 zenon_Hff zenon_Hfe zenon_Hfc zenon_H101 zenon_Hbb zenon_H14a zenon_Hf1 zenon_H19a zenon_H18e zenon_H168 zenon_Hf0 zenon_H9f zenon_H50 zenon_H49 zenon_H10b zenon_He0 zenon_H109 zenon_H11f zenon_H12e zenon_H115 zenon_H112 zenon_H1ad zenon_H1ae zenon_H1b3 zenon_H1b9 zenon_Haa zenon_Hc2 zenon_H116 zenon_Ha1 zenon_H129 zenon_H12d zenon_Hb zenon_Hc zenon_H18 zenon_H1c4 zenon_H1a9 zenon_H165 zenon_H2ac zenon_H1c8 zenon_H1c9 zenon_H51 zenon_H41 zenon_H16d zenon_Hf7 zenon_H88 zenon_H7b zenon_H81 zenon_H83 zenon_H87 zenon_H77 zenon_H6e zenon_H73 zenon_H57 zenon_H61 zenon_H5f zenon_H68 zenon_Hed zenon_He6 zenon_He8 zenon_Hcc zenon_Hc8 zenon_H99 zenon_H9b zenon_Hb1 zenon_Hd3 zenon_He9 zenon_H91 zenon_Hd4 zenon_H17 zenon_H2c zenon_H2d zenon_Hd9 zenon_Hee zenon_H3b zenon_Hb6 zenon_H58 zenon_Hb9 zenon_H22 zenon_H20 zenon_H1f zenon_H125 zenon_H42 zenon_H8e zenon_H32 zenon_H16 zenon_H34.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_Hba | zenon_intro zenon_Hf8 ].
% 41.04/41.25  apply (zenon_L603_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf9 ].
% 41.04/41.25  apply (zenon_L616_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hfa ].
% 41.04/41.25  exact (zenon_Hf7 zenon_Hfb).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H59 | zenon_intro zenon_Hb7 ].
% 41.04/41.25  apply (zenon_L132_); trivial.
% 41.04/41.25  apply (zenon_L214_); trivial.
% 41.04/41.25  (* end of lemma zenon_L617_ *)
% 41.04/41.25  apply NNPP. intro zenon_G.
% 41.04/41.25  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H304. zenon_intro zenon_H303.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H303). zenon_intro zenon_H306. zenon_intro zenon_H305.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H305). zenon_intro zenon_H1d5. zenon_intro zenon_H307.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H307). zenon_intro zenon_H1f4. zenon_intro zenon_H308.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H30a. zenon_intro zenon_H309.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H309). zenon_intro zenon_H30c. zenon_intro zenon_H30b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H30b). zenon_intro zenon_H30e. zenon_intro zenon_H30d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H30d). zenon_intro zenon_H310. zenon_intro zenon_H30f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H30f). zenon_intro zenon_H23c. zenon_intro zenon_H311.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H311). zenon_intro zenon_H1b9. zenon_intro zenon_H312.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H314. zenon_intro zenon_H313.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H313). zenon_intro zenon_H24e. zenon_intro zenon_H315.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H317. zenon_intro zenon_H316.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H316). zenon_intro zenon_H319. zenon_intro zenon_H318.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H318). zenon_intro zenon_H31b. zenon_intro zenon_H31a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H31a). zenon_intro zenon_H31d. zenon_intro zenon_H31c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H31c). zenon_intro zenon_H31f. zenon_intro zenon_H31e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H279. zenon_intro zenon_H320.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H320). zenon_intro zenon_H322. zenon_intro zenon_H321.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H324. zenon_intro zenon_H323.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H323). zenon_intro zenon_H326. zenon_intro zenon_H325.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H325). zenon_intro zenon_H328. zenon_intro zenon_H327.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_H32a. zenon_intro zenon_H329.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H329). zenon_intro zenon_H29c. zenon_intro zenon_H140.
% 41.04/41.25  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H42. zenon_intro zenon_H32b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H32b). zenon_intro zenon_H50. zenon_intro zenon_H32c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H32c). zenon_intro zenon_H16. zenon_intro zenon_H32d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H32d). zenon_intro zenon_H2c. zenon_intro zenon_H32e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H32e). zenon_intro zenon_Hc. zenon_intro zenon_H32f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H32f). zenon_intro zenon_H58. zenon_intro zenon_H330.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H330). zenon_intro zenon_H20. zenon_intro zenon_H331.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H331). zenon_intro zenon_H5f. zenon_intro zenon_H332.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H332). zenon_intro zenon_Hd3. zenon_intro zenon_H333.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H333). zenon_intro zenon_H99. zenon_intro zenon_H3b.
% 41.04/41.25  apply (zenon_and_s _ _ ax3). zenon_intro zenon_H16a. zenon_intro zenon_H334.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H334). zenon_intro zenon_H336. zenon_intro zenon_H335.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H335). zenon_intro zenon_H17d. zenon_intro zenon_H337.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H337). zenon_intro zenon_H339. zenon_intro zenon_H338.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H33b. zenon_intro zenon_H33a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H33a). zenon_intro zenon_H33d. zenon_intro zenon_H33c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H33c). zenon_intro zenon_H33f. zenon_intro zenon_H33e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H33e). zenon_intro zenon_H341. zenon_intro zenon_H340.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H343. zenon_intro zenon_H342.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H342). zenon_intro zenon_H345. zenon_intro zenon_H344.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H344). zenon_intro zenon_H347. zenon_intro zenon_H346.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H346). zenon_intro zenon_H15b. zenon_intro zenon_H348.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H348). zenon_intro zenon_H117. zenon_intro zenon_H349.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H349). zenon_intro zenon_H34b. zenon_intro zenon_H34a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H34d. zenon_intro zenon_H34c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H34c). zenon_intro zenon_H34f. zenon_intro zenon_H34e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H223. zenon_intro zenon_H350.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H350). zenon_intro zenon_H1c8. zenon_intro zenon_H351.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H353. zenon_intro zenon_H352.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H352). zenon_intro zenon_H355. zenon_intro zenon_H354.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H357. zenon_intro zenon_H356.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H356). zenon_intro zenon_H12d. zenon_intro zenon_H358.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H358). zenon_intro zenon_H35a. zenon_intro zenon_H359.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H35c. zenon_intro zenon_H35b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_Hf6. zenon_intro zenon_H35d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H35f. zenon_intro zenon_H35e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H361. zenon_intro zenon_H360.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H360). zenon_intro zenon_H363. zenon_intro zenon_H362.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H362). zenon_intro zenon_H365. zenon_intro zenon_H364.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H364). zenon_intro zenon_H367. zenon_intro zenon_H366.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H366). zenon_intro zenon_H369. zenon_intro zenon_H368.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H368). zenon_intro zenon_H36b. zenon_intro zenon_H36a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_H36d. zenon_intro zenon_H36c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_H236. zenon_intro zenon_H36e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H36e). zenon_intro zenon_H26a. zenon_intro zenon_H36f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_He0. zenon_intro zenon_H370.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H370). zenon_intro zenon_H88. zenon_intro zenon_H371.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H373. zenon_intro zenon_H372.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H372). zenon_intro zenon_H1fe. zenon_intro zenon_H374.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H374). zenon_intro zenon_H2a4. zenon_intro zenon_H375.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_H377. zenon_intro zenon_H376.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H376). zenon_intro zenon_H1c4. zenon_intro zenon_H378.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H378). zenon_intro zenon_H37a. zenon_intro zenon_H379.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H379). zenon_intro zenon_H19a. zenon_intro zenon_H37b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H37b). zenon_intro zenon_H37d. zenon_intro zenon_H37c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_Hc2. zenon_intro zenon_H37e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H37e). zenon_intro zenon_H380. zenon_intro zenon_H37f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H37f). zenon_intro zenon_H382. zenon_intro zenon_H381.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H381). zenon_intro zenon_Hd9. zenon_intro zenon_H20f.
% 41.04/41.25  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H384. zenon_intro zenon_H383.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H383). zenon_intro zenon_H386. zenon_intro zenon_H385.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H385). zenon_intro zenon_H388. zenon_intro zenon_H387.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H387). zenon_intro zenon_H38a. zenon_intro zenon_H389.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H389). zenon_intro zenon_H38c. zenon_intro zenon_H38b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H38b). zenon_intro zenon_H217. zenon_intro zenon_H38d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H38d). zenon_intro zenon_H38f. zenon_intro zenon_H38e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H260. zenon_intro zenon_H390.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_H392. zenon_intro zenon_H391.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H391). zenon_intro zenon_H1e5. zenon_intro zenon_H393.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H393). zenon_intro zenon_H395. zenon_intro zenon_H394.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H246. zenon_intro zenon_H396.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H396). zenon_intro zenon_H398. zenon_intro zenon_H397.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H397). zenon_intro zenon_H39a. zenon_intro zenon_H399.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H399). zenon_intro zenon_H14d. zenon_intro zenon_H39b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H39b). zenon_intro zenon_H152. zenon_intro zenon_H39c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H157. zenon_intro zenon_H39d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H39d). zenon_intro zenon_H285. zenon_intro zenon_H39e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_H261. zenon_intro zenon_H39f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H39f). zenon_intro zenon_H3a1. zenon_intro zenon_H3a0.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H26e. zenon_intro zenon_H3a2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H3a4. zenon_intro zenon_H3a3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a3). zenon_intro zenon_H267. zenon_intro zenon_H3a5.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a5). zenon_intro zenon_H3a7. zenon_intro zenon_H3a6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H3a9. zenon_intro zenon_H3a8.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3a8). zenon_intro zenon_H3ab. zenon_intro zenon_H3aa.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_H275. zenon_intro zenon_H3ac.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ac). zenon_intro zenon_H3ae. zenon_intro zenon_H3ad.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H3b0. zenon_intro zenon_H3af.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3af). zenon_intro zenon_H21a. zenon_intro zenon_H3b1.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b1). zenon_intro zenon_H220. zenon_intro zenon_H3b2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b2). zenon_intro zenon_H2a0. zenon_intro zenon_H3b3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H3b5. zenon_intro zenon_H3b4.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b4). zenon_intro zenon_H299. zenon_intro zenon_H3b6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b6). zenon_intro zenon_H3b8. zenon_intro zenon_H3b7.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H3ba. zenon_intro zenon_H3b9.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3b9). zenon_intro zenon_H256. zenon_intro zenon_H3bb.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3bb). zenon_intro zenon_H3bd. zenon_intro zenon_H3bc.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H22d. zenon_intro zenon_H3be.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H3c0. zenon_intro zenon_H3bf.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3bf). zenon_intro zenon_H1b3. zenon_intro zenon_H3c1.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c1). zenon_intro zenon_H20c. zenon_intro zenon_H3c2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c2). zenon_intro zenon_H1fb. zenon_intro zenon_H3c3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c3). zenon_intro zenon_H3c5. zenon_intro zenon_H3c4.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c4). zenon_intro zenon_H1ae. zenon_intro zenon_H3c6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c6). zenon_intro zenon_H1ad. zenon_intro zenon_H3c7.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c7). zenon_intro zenon_H3c9. zenon_intro zenon_H3c8.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H240. zenon_intro zenon_H3ca.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H3cc. zenon_intro zenon_H3cb.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3cb). zenon_intro zenon_H3ce. zenon_intro zenon_H3cd.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_H41. zenon_intro zenon_H3cf.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3cf). zenon_intro zenon_H10b. zenon_intro zenon_H3d0.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d0). zenon_intro zenon_H161. zenon_intro zenon_H3d1.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d1). zenon_intro zenon_H165. zenon_intro zenon_H3d2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H136. zenon_intro zenon_H3d3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H51. zenon_intro zenon_H3d4.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_H168. zenon_intro zenon_H3d5.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_Hb. zenon_intro zenon_H3d6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_Ha1. zenon_intro zenon_H3d7.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H169. zenon_intro zenon_H3d8.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H18. zenon_intro zenon_H3d9.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H103. zenon_intro zenon_H3da.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H2d. zenon_intro zenon_H3db.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H112. zenon_intro zenon_H3dc.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3dc). zenon_intro zenon_H109. zenon_intro zenon_H3dd.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H111. zenon_intro zenon_H3de.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H115. zenon_intro zenon_H3df.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H49. zenon_intro zenon_H3e0.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_Haa. zenon_intro zenon_H3e1.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H116. zenon_intro zenon_H3e2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_Hbb. zenon_intro zenon_H3e3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_Hfc. zenon_intro zenon_H3e4.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H57. zenon_intro zenon_H3e5.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_Hb6. zenon_intro zenon_H3e6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_Hfe. zenon_intro zenon_H3e7.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H6e. zenon_intro zenon_H3e8.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e8). zenon_intro zenon_Hb9. zenon_intro zenon_H3e9.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_Hff. zenon_intro zenon_H3ea.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_H3ec. zenon_intro zenon_H3eb.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_H1f. zenon_intro zenon_H3ed.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_H61. zenon_intro zenon_H3ee.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_H8e. zenon_intro zenon_H3ef.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_H68. zenon_intro zenon_H3f0.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H7b. zenon_intro zenon_H3f1.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_H9f. zenon_intro zenon_H3f2.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f2). zenon_intro zenon_H73. zenon_intro zenon_H3f3.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f3). zenon_intro zenon_H81. zenon_intro zenon_H3f4.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H77. zenon_intro zenon_H3f5.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f5). zenon_intro zenon_H83. zenon_intro zenon_H3f6.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_H87. zenon_intro zenon_H3f7.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f7). zenon_intro zenon_H9b. zenon_intro zenon_H3f8.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_Hc8. zenon_intro zenon_H3f9.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3f9). zenon_intro zenon_Hcc. zenon_intro zenon_H3fa.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_He6. zenon_intro zenon_H3fb.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3fb). zenon_intro zenon_H32. zenon_intro zenon_H3fc.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3fc). zenon_intro zenon_Hb1. zenon_intro zenon_H3fd.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3fd). zenon_intro zenon_He8. zenon_intro zenon_H3fe.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3fe). zenon_intro zenon_H91. zenon_intro zenon_H3ff.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H3ff). zenon_intro zenon_He9. zenon_intro zenon_Hd4.
% 41.04/41.25  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H129. zenon_intro zenon_H400.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H400). zenon_intro zenon_H402. zenon_intro zenon_H401.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H401). zenon_intro zenon_H1a9. zenon_intro zenon_H403.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H405. zenon_intro zenon_H404.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H404). zenon_intro zenon_H407. zenon_intro zenon_H406.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H406). zenon_intro zenon_H18e. zenon_intro zenon_H408.
% 41.04/41.25  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H11f. zenon_intro zenon_H409.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H409). zenon_intro zenon_H34. zenon_intro zenon_H22.
% 41.04/41.25  apply zenon_G. zenon_intro zenon_H40a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H40c. zenon_intro zenon_H40b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H40b). zenon_intro zenon_H40e. zenon_intro zenon_H40d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H40d). zenon_intro zenon_H410. zenon_intro zenon_H40f.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H40f). zenon_intro zenon_H412. zenon_intro zenon_H411.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H411). zenon_intro zenon_H414. zenon_intro zenon_H413.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H413). zenon_intro zenon_H164. zenon_intro zenon_H415.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H415). zenon_intro zenon_H13b. zenon_intro zenon_H416.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H416). zenon_intro zenon_H418. zenon_intro zenon_H417.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H417). zenon_intro zenon_H41a. zenon_intro zenon_H419.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H419). zenon_intro zenon_H41c. zenon_intro zenon_H41b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H41b). zenon_intro zenon_H14b. zenon_intro zenon_H41d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_H41f. zenon_intro zenon_H41e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H41e). zenon_intro zenon_H101. zenon_intro zenon_H420.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H420). zenon_intro zenon_H422. zenon_intro zenon_H421.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H421). zenon_intro zenon_H424. zenon_intro zenon_H423.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H423). zenon_intro zenon_H426. zenon_intro zenon_H425.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H425). zenon_intro zenon_H301. zenon_intro zenon_H427.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H427). zenon_intro zenon_Hf0. zenon_intro zenon_H428.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H428). zenon_intro zenon_Hee. zenon_intro zenon_H429.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H429). zenon_intro zenon_H302. zenon_intro zenon_H42a.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H42a). zenon_intro zenon_H14a. zenon_intro zenon_H42b.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H42b). zenon_intro zenon_H2ac. zenon_intro zenon_H42c.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H42c). zenon_intro zenon_Hf1. zenon_intro zenon_H42d.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H42d). zenon_intro zenon_H149. zenon_intro zenon_H42e.
% 41.04/41.25  apply (zenon_and_s _ _ zenon_H42e). zenon_intro zenon_Hed. zenon_intro zenon_H2ad.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H40c); [ zenon_intro zenon_H16b | zenon_intro zenon_H16d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H164); [ zenon_intro zenon_H15c | zenon_intro zenon_H17 ].
% 41.04/41.25  apply (zenon_L219_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H13b); [ zenon_intro zenon_H118 | zenon_intro zenon_H11b ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14b); [ zenon_intro zenon_H12e | zenon_intro zenon_Hba ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H16d | zenon_intro zenon_H16c ].
% 41.04/41.25  exact (zenon_H16b zenon_H16d).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H43 | zenon_intro zenon_H16e ].
% 41.04/41.25  apply (zenon_L176_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H16e); [ zenon_intro zenon_H10c | zenon_intro zenon_H16f ].
% 41.04/41.25  apply (zenon_L204_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H16f); [ zenon_intro zenon_H162 | zenon_intro zenon_H166 ].
% 41.04/41.25  apply (zenon_L230_); trivial.
% 41.04/41.25  apply (zenon_L234_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf0); [ zenon_intro zenon_He1 | zenon_intro zenon_H76 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H89 | zenon_intro zenon_H8d ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14a); [ zenon_intro zenon_H13e | zenon_intro zenon_H9a ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_L235_); trivial.
% 41.04/41.25  apply (zenon_L236_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_Hf1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc9 ].
% 41.04/41.25  apply (zenon_L245_); trivial.
% 41.04/41.25  apply (zenon_L246_); trivial.
% 41.04/41.25  apply (zenon_L111_); trivial.
% 41.04/41.25  apply (zenon_L247_); trivial.
% 41.04/41.25  apply (zenon_L248_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H40e); [ zenon_intro zenon_H17e | zenon_intro zenon_H43 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H164); [ zenon_intro zenon_H15c | zenon_intro zenon_H17 ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H43 | zenon_intro zenon_H15d ].
% 41.04/41.25  apply (zenon_L250_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H15d); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ].
% 41.04/41.25  exact (zenon_H15c zenon_H15f).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H14c | zenon_intro zenon_H160 ].
% 41.04/41.25  apply (zenon_L216_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H160); [ zenon_intro zenon_H151 | zenon_intro zenon_H156 ].
% 41.04/41.25  apply (zenon_L217_); trivial.
% 41.04/41.25  apply (zenon_L218_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H41a); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H10f ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H14b); [ zenon_intro zenon_H12e | zenon_intro zenon_Hba ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H101); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hfb ].
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H10c | zenon_intro zenon_H12f ].
% 41.04/41.25  apply (zenon_L204_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H120 | zenon_intro zenon_H130 ].
% 41.04/41.25  apply (zenon_L170_); trivial.
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H130); [ zenon_intro zenon_H132 | zenon_intro zenon_H131 ].
% 41.04/41.25  exact (zenon_H12e zenon_H132).
% 41.04/41.25  apply (zenon_or_s _ _ zenon_H131); [ zenon_intro zenon_H125 | zenon_intro zenon_H128 ].
% 41.04/41.25  apply (zenon_L617_); trivial.
% 41.04/41.25  apply (zenon_L174_); trivial.
% 41.04/41.25  apply (zenon_L139_); trivial.
% 41.04/41.25  apply (zenon_L603_); trivial.
% 41.04/41.25  apply (zenon_L383_); trivial.
% 41.04/41.25  apply (zenon_L250_); trivial.
% 41.04/41.25  Qed.
% 41.04/41.25  % SZS output end Proof
% 41.04/41.25  (* END-PROOF *)
% 41.04/41.25  nodes searched: 364679
% 41.04/41.25  max branch formulas: 812
% 41.04/41.25  proof nodes created: 34984
% 41.04/41.25  formulas created: 202464
% 41.04/41.25  
%------------------------------------------------------------------------------