↑ Up

Zenon---0.7.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : ALG117+1 : TPTP v8.1.0. Released v2.7.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n026.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:30 EDT 2022

% Result   : Theorem 21.03s 21.26s
% Output   : Proof 21.03s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12  % Problem  : ALG117+1 : TPTP v8.1.0. Released v2.7.0.
% 0.06/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n026.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 15:34:47 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 21.03/21.26  (* PROOF-FOUND *)
% 21.03/21.26  % SZS status Theorem
% 21.03/21.26  (* BEGIN-PROOF *)
% 21.03/21.26  % SZS output start Proof
% 21.03/21.26  Theorem co1 : ((((h1 (op1 (e10) (e10))) = (op2 (h1 (e10)) (h1 (e10))))/\(((h1 (op1 (e10) (e11))) = (op2 (h1 (e10)) (h1 (e11))))/\(((h1 (op1 (e10) (e12))) = (op2 (h1 (e10)) (h1 (e12))))/\(((h1 (op1 (e10) (e13))) = (op2 (h1 (e10)) (h1 (e13))))/\(((h1 (op1 (e11) (e10))) = (op2 (h1 (e11)) (h1 (e10))))/\(((h1 (op1 (e11) (e11))) = (op2 (h1 (e11)) (h1 (e11))))/\(((h1 (op1 (e11) (e12))) = (op2 (h1 (e11)) (h1 (e12))))/\(((h1 (op1 (e11) (e13))) = (op2 (h1 (e11)) (h1 (e13))))/\(((h1 (op1 (e12) (e10))) = (op2 (h1 (e12)) (h1 (e10))))/\(((h1 (op1 (e12) (e11))) = (op2 (h1 (e12)) (h1 (e11))))/\(((h1 (op1 (e12) (e12))) = (op2 (h1 (e12)) (h1 (e12))))/\(((h1 (op1 (e12) (e13))) = (op2 (h1 (e12)) (h1 (e13))))/\(((h1 (op1 (e13) (e10))) = (op2 (h1 (e13)) (h1 (e10))))/\(((h1 (op1 (e13) (e11))) = (op2 (h1 (e13)) (h1 (e11))))/\(((h1 (op1 (e13) (e12))) = (op2 (h1 (e13)) (h1 (e12))))/\(((h1 (op1 (e13) (e13))) = (op2 (h1 (e13)) (h1 (e13))))/\((((h1 (e10)) = (e20))\/(((h1 (e11)) = (e20))\/(((h1 (e12)) = (e20))\/((h1 (e13)) = (e20)))))/\((((h1 (e10)) = (e21))\/(((h1 (e11)) = (e21))\/(((h1 (e12)) = (e21))\/((h1 (e13)) = (e21)))))/\((((h1 (e10)) = (e22))\/(((h1 (e11)) = (e22))\/(((h1 (e12)) = (e22))\/((h1 (e13)) = (e22)))))/\(((h1 (e10)) = (e23))\/(((h1 (e11)) = (e23))\/(((h1 (e12)) = (e23))\/((h1 (e13)) = (e23))))))))))))))))))))))))\/((((h2 (op1 (e10) (e10))) = (op2 (h2 (e10)) (h2 (e10))))/\(((h2 (op1 (e10) (e11))) = (op2 (h2 (e10)) (h2 (e11))))/\(((h2 (op1 (e10) (e12))) = (op2 (h2 (e10)) (h2 (e12))))/\(((h2 (op1 (e10) (e13))) = (op2 (h2 (e10)) (h2 (e13))))/\(((h2 (op1 (e11) (e10))) = (op2 (h2 (e11)) (h2 (e10))))/\(((h2 (op1 (e11) (e11))) = (op2 (h2 (e11)) (h2 (e11))))/\(((h2 (op1 (e11) (e12))) = (op2 (h2 (e11)) (h2 (e12))))/\(((h2 (op1 (e11) (e13))) = (op2 (h2 (e11)) (h2 (e13))))/\(((h2 (op1 (e12) (e10))) = (op2 (h2 (e12)) (h2 (e10))))/\(((h2 (op1 (e12) (e11))) = (op2 (h2 (e12)) (h2 (e11))))/\(((h2 (op1 (e12) (e12))) = (op2 (h2 (e12)) (h2 (e12))))/\(((h2 (op1 (e12) (e13))) = (op2 (h2 (e12)) (h2 (e13))))/\(((h2 (op1 (e13) (e10))) = (op2 (h2 (e13)) (h2 (e10))))/\(((h2 (op1 (e13) (e11))) = (op2 (h2 (e13)) (h2 (e11))))/\(((h2 (op1 (e13) (e12))) = (op2 (h2 (e13)) (h2 (e12))))/\(((h2 (op1 (e13) (e13))) = (op2 (h2 (e13)) (h2 (e13))))/\((((h2 (e10)) = (e20))\/(((h2 (e11)) = (e20))\/(((h2 (e12)) = (e20))\/((h2 (e13)) = (e20)))))/\((((h2 (e10)) = (e21))\/(((h2 (e11)) = (e21))\/(((h2 (e12)) = (e21))\/((h2 (e13)) = (e21)))))/\((((h2 (e10)) = (e22))\/(((h2 (e11)) = (e22))\/(((h2 (e12)) = (e22))\/((h2 (e13)) = (e22)))))/\(((h2 (e10)) = (e23))\/(((h2 (e11)) = (e23))\/(((h2 (e12)) = (e23))\/((h2 (e13)) = (e23))))))))))))))))))))))))\/((((h3 (op1 (e10) (e10))) = (op2 (h3 (e10)) (h3 (e10))))/\(((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))/\(((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))/\(((h3 (op1 (e10) (e13))) = (op2 (h3 (e10)) (h3 (e13))))/\(((h3 (op1 (e11) (e10))) = (op2 (h3 (e11)) (h3 (e10))))/\(((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))/\(((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))/\(((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))/\(((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))/\(((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))/\(((h3 (op1 (e12) (e12))) = (op2 (h3 (e12)) (h3 (e12))))/\(((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))/\(((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))/\(((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))/\(((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))/\(((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))/\((((h3 (e10)) = (e20))\/(((h3 (e11)) = (e20))\/(((h3 (e12)) = (e20))\/((h3 (e13)) = (e20)))))/\((((h3 (e10)) = (e21))\/(((h3 (e11)) = (e21))\/(((h3 (e12)) = (e21))\/((h3 (e13)) = (e21)))))/\((((h3 (e10)) = (e22))\/(((h3 (e11)) = (e22))\/(((h3 (e12)) = (e22))\/((h3 (e13)) = (e22)))))/\(((h3 (e10)) = (e23))\/(((h3 (e11)) = (e23))\/(((h3 (e12)) = (e23))\/((h3 (e13)) = (e23))))))))))))))))))))))))\/(((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))/\(((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))/\(((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))/\(((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))/\(((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))/\(((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))/\(((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))/\(((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))/\(((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))/\(((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))/\(((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))/\(((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))/\(((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))/\(((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))/\(((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))/\(((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))/\((((h4 (e10)) = (e20))\/(((h4 (e11)) = (e20))\/(((h4 (e12)) = (e20))\/((h4 (e13)) = (e20)))))/\((((h4 (e10)) = (e21))\/(((h4 (e11)) = (e21))\/(((h4 (e12)) = (e21))\/((h4 (e13)) = (e21)))))/\((((h4 (e10)) = (e22))\/(((h4 (e11)) = (e22))\/(((h4 (e12)) = (e22))\/((h4 (e13)) = (e22)))))/\(((h4 (e10)) = (e23))\/(((h4 (e11)) = (e23))\/(((h4 (e12)) = (e23))\/((h4 (e13)) = (e23))))))))))))))))))))))))))).
% 21.03/21.26  Proof.
% 21.03/21.26  assert (zenon_L1_ : (~((h4 (e10)) = (e20))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H12 zenon_H13 zenon_H14.
% 21.03/21.26  cut (((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) = ((h4 (e10)) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H12.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H13.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 21.03/21.26  cut (((h4 (e10)) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H16].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H16. apply refl_equal.
% 21.03/21.26  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 21.03/21.26  (* end of lemma zenon_L1_ *)
% 21.03/21.26  assert (zenon_L2_ : (((op1 (e11) (e11)) = (e11))/\(~((op1 (e11) (e11)) = (e11)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H17.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H17). zenon_intro zenon_H19. zenon_intro zenon_H18.
% 21.03/21.26  exact (zenon_H18 zenon_H19).
% 21.03/21.26  (* end of lemma zenon_L2_ *)
% 21.03/21.26  assert (zenon_L3_ : (~((e13) = (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1a.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L3_ *)
% 21.03/21.26  assert (zenon_L4_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1b zenon_H1c.
% 21.03/21.26  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 21.03/21.26  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H1d. apply sym_equal. exact zenon_H1c.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L4_ *)
% 21.03/21.26  assert (zenon_L5_ : (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e12) (e12)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1e zenon_H1f zenon_H20 zenon_H1c.
% 21.03/21.26  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e12)) = (op1 (e12) (e13)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H1e.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H1f.
% 21.03/21.26  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.26  cut (((e11) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e11) = (op1 (e12) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H21.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H22.
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H24 zenon_H20).
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply (zenon_L4_); trivial.
% 21.03/21.26  (* end of lemma zenon_L5_ *)
% 21.03/21.26  assert (zenon_L6_ : (((op1 (e12) (e12)) = (e11))/\(~((op1 (e12) (e11)) = (e12)))) -> ((e12) = (op1 (e13) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H25 zenon_H1c zenon_H1f zenon_H1e.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H25). zenon_intro zenon_H20. zenon_intro zenon_H26.
% 21.03/21.26  apply (zenon_L5_); trivial.
% 21.03/21.26  (* end of lemma zenon_L6_ *)
% 21.03/21.26  assert (zenon_L7_ : (~((e12) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H27.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L7_ *)
% 21.03/21.26  assert (zenon_L8_ : ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e13)) = (e11)) -> (~((e11) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1c zenon_H28 zenon_H29.
% 21.03/21.26  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H2a | zenon_intro zenon_H27 ].
% 21.03/21.26  cut (((e12) = (e12)) = ((e11) = (e12))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H29.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H2a.
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e12) = (op1 (e13) (e13))) = ((e12) = (e11))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H2b.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H1c.
% 21.03/21.26  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  exact (zenon_H2c zenon_H28).
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L8_ *)
% 21.03/21.26  assert (zenon_L9_ : (((op1 (e13) (e13)) = (e11))/\(~((op1 (e13) (e11)) = (e13)))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H2d zenon_H1c zenon_H29.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H2d). zenon_intro zenon_H28. zenon_intro zenon_H2e.
% 21.03/21.26  apply (zenon_L8_); trivial.
% 21.03/21.26  (* end of lemma zenon_L9_ *)
% 21.03/21.26  assert (zenon_L10_ : (((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H2f.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H2f). zenon_intro zenon_H31. zenon_intro zenon_H30.
% 21.03/21.26  exact (zenon_H30 zenon_H31).
% 21.03/21.26  (* end of lemma zenon_L10_ *)
% 21.03/21.26  assert (zenon_L11_ : (~((e23) = (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H32.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L11_ *)
% 21.03/21.26  assert (zenon_L12_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H33 zenon_H34.
% 21.03/21.26  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.26  cut (((op2 (e23) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H35. apply sym_equal. exact zenon_H34.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L12_ *)
% 21.03/21.26  assert (zenon_L13_ : (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e22)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H36 zenon_H37 zenon_H38 zenon_H34.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e22)) = (op2 (e22) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H36.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  cut (((e21) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H3a | zenon_intro zenon_H3b ].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e21) = (op2 (e22) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H39.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H3a.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H3c zenon_H38).
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  (* end of lemma zenon_L13_ *)
% 21.03/21.26  assert (zenon_L14_ : (((op2 (e22) (e22)) = (e21))/\(~((op2 (e22) (e21)) = (e22)))) -> ((e22) = (op2 (e23) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H3d zenon_H34 zenon_H37 zenon_H36.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H3d). zenon_intro zenon_H38. zenon_intro zenon_H3e.
% 21.03/21.26  apply (zenon_L13_); trivial.
% 21.03/21.26  (* end of lemma zenon_L14_ *)
% 21.03/21.26  assert (zenon_L15_ : (~((e22) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H3f.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L15_ *)
% 21.03/21.26  assert (zenon_L16_ : ((e22) = (op2 (e23) (e23))) -> ((op2 (e23) (e23)) = (e21)) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H34 zenon_H40 zenon_H41.
% 21.03/21.26  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H42 | zenon_intro zenon_H3f ].
% 21.03/21.26  cut (((e22) = (e22)) = ((e21) = (e22))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H41.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H42.
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  cut (((e22) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23))) = ((e22) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H43.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  exact (zenon_H44 zenon_H40).
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L16_ *)
% 21.03/21.26  assert (zenon_L17_ : (((op2 (e23) (e23)) = (e21))/\(~((op2 (e23) (e21)) = (e23)))) -> ((e22) = (op2 (e23) (e23))) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H45 zenon_H34 zenon_H41.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H45). zenon_intro zenon_H40. zenon_intro zenon_H46.
% 21.03/21.26  apply (zenon_L16_); trivial.
% 21.03/21.26  (* end of lemma zenon_L17_ *)
% 21.03/21.26  assert (zenon_L18_ : (((op2 (e20) (e20)) = (e20))/\(~((op2 (e20) (e20)) = (e20)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H47.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H47). zenon_intro zenon_H49. zenon_intro zenon_H48.
% 21.03/21.26  exact (zenon_H48 zenon_H49).
% 21.03/21.26  (* end of lemma zenon_L18_ *)
% 21.03/21.26  assert (zenon_L19_ : (~((e21) = (e21))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4a.
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L19_ *)
% 21.03/21.26  assert (zenon_L20_ : (~((e20) = (e21))) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e20) (e20)) = (e20)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4b zenon_H4c zenon_H49.
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e21)) = ((e20) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H4b.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H4c.
% 21.03/21.26  cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H48 zenon_H49).
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L20_ *)
% 21.03/21.26  assert (zenon_L21_ : (~((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4d zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 21.03/21.26  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  apply zenon_H35. apply sym_equal. exact zenon_H34.
% 21.03/21.26  (* end of lemma zenon_L21_ *)
% 21.03/21.26  assert (zenon_L22_ : (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4e zenon_H14 zenon_H4f zenon_H34.
% 21.03/21.26  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e20) (e22)) = (op2 (e23) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H4e.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.26  cut (((e20) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_H51 | zenon_intro zenon_H52 ].
% 21.03/21.26  cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((e20) = (op2 (e20) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H50.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H51.
% 21.03/21.26  cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 21.03/21.26  cut (((op2 (e20) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H53 zenon_H4f).
% 21.03/21.26  apply zenon_H52. apply refl_equal.
% 21.03/21.26  apply zenon_H52. apply refl_equal.
% 21.03/21.26  apply (zenon_L21_); trivial.
% 21.03/21.26  (* end of lemma zenon_L22_ *)
% 21.03/21.26  assert (zenon_L23_ : (((op2 (e20) (e20)) = (e23))/\(~((op2 (e20) (e23)) = (e20)))) -> (~((e20) = (e21))) -> ((op2 (e20) (e20)) = (e21)) -> (~((op2 (e20) (e21)) = (e20))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e22)) = (e20))\/((op2 (e20) (e23)) = (e20))))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H54 zenon_H4b zenon_H4c zenon_H55 zenon_H4e zenon_H14 zenon_H34 zenon_H56.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H54). zenon_intro zenon_H58. zenon_intro zenon_H57.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.26  apply (zenon_L20_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.26  exact (zenon_H55 zenon_H5b).
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.26  apply (zenon_L22_); trivial.
% 21.03/21.26  exact (zenon_H57 zenon_H5c).
% 21.03/21.26  (* end of lemma zenon_L23_ *)
% 21.03/21.26  assert (zenon_L24_ : (~((e20) = (e20))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H5d.
% 21.03/21.26  apply zenon_H5d. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L24_ *)
% 21.03/21.26  assert (zenon_L25_ : (((op2 (e21) (e21)) = (e23))/\(~((op2 (e21) (e23)) = (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((e20) = (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H5e zenon_H5f zenon_H60.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H5e). zenon_intro zenon_H62. zenon_intro zenon_H61.
% 21.03/21.26  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H63 | zenon_intro zenon_H32 ].
% 21.03/21.26  cut (((e23) = (e23)) = ((e20) = (e23))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H60.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H63.
% 21.03/21.26  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.26  cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e21) (e21)) = (e20)) = ((e23) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H64.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H5f.
% 21.03/21.26  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 21.03/21.26  cut (((op2 (e21) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H65 zenon_H62).
% 21.03/21.26  apply zenon_H5d. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L25_ *)
% 21.03/21.26  assert (zenon_L26_ : (((op1 (e10) (e10)) = (e10))/\(~((op1 (e10) (e10)) = (e10)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H66.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H66). zenon_intro zenon_H68. zenon_intro zenon_H67.
% 21.03/21.26  exact (zenon_H67 zenon_H68).
% 21.03/21.26  (* end of lemma zenon_L26_ *)
% 21.03/21.26  assert (zenon_L27_ : (~((e11) = (e11))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H69.
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L27_ *)
% 21.03/21.26  assert (zenon_L28_ : ((op1 (e10) (e10)) = (e11)) -> ((op1 (e10) (e10)) = (e13)) -> (~((e11) = (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H6a zenon_H6b zenon_H6c.
% 21.03/21.26  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H6d | zenon_intro zenon_H1a ].
% 21.03/21.26  cut (((e13) = (e13)) = ((e11) = (e13))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H6c.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6d.
% 21.03/21.26  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 21.03/21.26  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e11)) = ((e13) = (e11))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H6e.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6a.
% 21.03/21.26  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H6f zenon_H6b).
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L28_ *)
% 21.03/21.26  assert (zenon_L29_ : (((op1 (e10) (e10)) = (e13))/\(~((op1 (e10) (e13)) = (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> (~((e11) = (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H70 zenon_H6a zenon_H6c.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H70). zenon_intro zenon_H6b. zenon_intro zenon_H71.
% 21.03/21.26  apply (zenon_L28_); trivial.
% 21.03/21.26  (* end of lemma zenon_L29_ *)
% 21.03/21.26  assert (zenon_L30_ : (~((e10) = (e10))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H72.
% 21.03/21.26  apply zenon_H72. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L30_ *)
% 21.03/21.26  assert (zenon_L31_ : (((op1 (e11) (e11)) = (e13))/\(~((op1 (e11) (e13)) = (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((e10) = (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H73 zenon_H74 zenon_H75.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H73). zenon_intro zenon_H77. zenon_intro zenon_H76.
% 21.03/21.26  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H6d | zenon_intro zenon_H1a ].
% 21.03/21.26  cut (((e13) = (e13)) = ((e10) = (e13))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H75.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6d.
% 21.03/21.26  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 21.03/21.26  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e11) (e11)) = (e10)) = ((e13) = (e10))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H78.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H74.
% 21.03/21.26  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 21.03/21.26  cut (((op1 (e11) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H79 zenon_H77).
% 21.03/21.26  apply zenon_H72. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L31_ *)
% 21.03/21.26  assert (zenon_L32_ : ((op2 (e20) (e20)) = (e21)) -> ((op2 (e20) (e20)) = (e23)) -> (~((e21) = (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4c zenon_H58 zenon_H7a.
% 21.03/21.26  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H63 | zenon_intro zenon_H32 ].
% 21.03/21.26  cut (((e23) = (e23)) = ((e21) = (e23))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H7a.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H63.
% 21.03/21.26  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.26  cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e21)) = ((e23) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H7b.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H4c.
% 21.03/21.26  cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H7c].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H7c zenon_H58).
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L32_ *)
% 21.03/21.26  assert (zenon_L33_ : (~((e10) = (e11))) -> ((op1 (e10) (e10)) = (e11)) -> ((op1 (e10) (e10)) = (e10)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H7d zenon_H6a zenon_H68.
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e11)) = ((e10) = (e11))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H7d.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6a.
% 21.03/21.26  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H67 zenon_H68).
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L33_ *)
% 21.03/21.26  assert (zenon_L34_ : (~((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H7e zenon_H1c.
% 21.03/21.26  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 21.03/21.26  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  apply zenon_H1d. apply sym_equal. exact zenon_H1c.
% 21.03/21.26  (* end of lemma zenon_L34_ *)
% 21.03/21.26  assert (zenon_L35_ : (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e10) (e12)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H7f zenon_H80 zenon_H81 zenon_H1c.
% 21.03/21.26  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e10) (e12)) = (op1 (e13) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H7f.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H80.
% 21.03/21.26  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.26  cut (((e10) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H83 | zenon_intro zenon_H84 ].
% 21.03/21.26  cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((e10) = (op1 (e10) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H82.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H83.
% 21.03/21.26  cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 21.03/21.26  cut (((op1 (e10) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H85 zenon_H81).
% 21.03/21.26  apply zenon_H84. apply refl_equal.
% 21.03/21.26  apply zenon_H84. apply refl_equal.
% 21.03/21.26  apply (zenon_L34_); trivial.
% 21.03/21.26  (* end of lemma zenon_L35_ *)
% 21.03/21.26  assert (zenon_L36_ : (~((h4 (e11)) = (e21))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H86 zenon_H87 zenon_H37.
% 21.03/21.26  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (e11)) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H86.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H87.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 21.03/21.26  cut (((h4 (e11)) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H89. apply refl_equal.
% 21.03/21.26  apply zenon_H88. apply sym_equal. exact zenon_H37.
% 21.03/21.26  (* end of lemma zenon_L36_ *)
% 21.03/21.26  assert (zenon_L37_ : ((op1 (e12) (e12)) = (e13)) -> ((op1 (e10) (e12)) = (e13)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H8a zenon_H8b zenon_H8c.
% 21.03/21.26  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e10) (e12)) = (op1 (e12) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H8c.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H22.
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e12) (e12)) = (e13)) = ((op1 (e12) (e12)) = (op1 (e10) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H8d.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H8a.
% 21.03/21.26  cut (((e13) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H8e].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply zenon_H8e. apply sym_equal. exact zenon_H8b.
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L37_ *)
% 21.03/21.26  assert (zenon_L38_ : ((op1 (e10) (e13)) = (e10)) -> ((op1 (e10) (e13)) = (e13)) -> (~((e10) = (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H8f zenon_H90 zenon_H75.
% 21.03/21.26  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H6d | zenon_intro zenon_H1a ].
% 21.03/21.26  cut (((e13) = (e13)) = ((e10) = (e13))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H75.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6d.
% 21.03/21.26  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 21.03/21.26  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e10) (e13)) = (e10)) = ((e13) = (e10))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H78.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H8f.
% 21.03/21.26  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 21.03/21.26  cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H91 zenon_H90).
% 21.03/21.26  apply zenon_H72. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  apply zenon_H1a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L38_ *)
% 21.03/21.26  assert (zenon_L39_ : ((op2 (e22) (e22)) = (e23)) -> ((op2 (e20) (e22)) = (e23)) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H92 zenon_H93 zenon_H94.
% 21.03/21.26  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H3a | zenon_intro zenon_H3b ].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e20) (e22)) = (op2 (e22) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H94.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H3a.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (e23)) = ((op2 (e22) (e22)) = (op2 (e20) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H95.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H92.
% 21.03/21.26  cut (((e23) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H96. apply sym_equal. exact zenon_H93.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L39_ *)
% 21.03/21.26  assert (zenon_L40_ : ((op2 (e20) (e23)) = (e20)) -> ((op2 (e20) (e23)) = (e23)) -> (~((e20) = (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H5c zenon_H97 zenon_H60.
% 21.03/21.26  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H63 | zenon_intro zenon_H32 ].
% 21.03/21.26  cut (((e23) = (e23)) = ((e20) = (e23))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H60.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H63.
% 21.03/21.26  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.26  cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e20) (e23)) = (e20)) = ((e23) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H64.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H5c.
% 21.03/21.26  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 21.03/21.26  cut (((op2 (e20) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H98 zenon_H97).
% 21.03/21.26  apply zenon_H5d. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  apply zenon_H32. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L40_ *)
% 21.03/21.26  assert (zenon_L41_ : (((op1 (e13) (e13)) = (e13))/\(~((op1 (e13) (e13)) = (e13)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H99.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_H99). zenon_intro zenon_H9b. zenon_intro zenon_H9a.
% 21.03/21.26  exact (zenon_H9a zenon_H9b).
% 21.03/21.26  (* end of lemma zenon_L41_ *)
% 21.03/21.26  assert (zenon_L42_ : (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H9c zenon_H80 zenon_H9d zenon_H1c.
% 21.03/21.26  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e12) (e12)) = (op1 (e13) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H9c.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H80.
% 21.03/21.26  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.26  cut (((e10) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e10) = (op1 (e12) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H9e.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H22.
% 21.03/21.26  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.26  cut (((op1 (e12) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H9f zenon_H9d).
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply zenon_H23. apply refl_equal.
% 21.03/21.26  apply (zenon_L34_); trivial.
% 21.03/21.26  (* end of lemma zenon_L42_ *)
% 21.03/21.26  assert (zenon_L43_ : (((op1 (e12) (e12)) = (e10))/\(~((op1 (e12) (e10)) = (e12)))) -> ((e12) = (op1 (e13) (e13))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Ha0 zenon_H1c zenon_H80 zenon_H9c.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_Ha0). zenon_intro zenon_H9d. zenon_intro zenon_Ha1.
% 21.03/21.26  apply (zenon_L42_); trivial.
% 21.03/21.26  (* end of lemma zenon_L43_ *)
% 21.03/21.26  assert (zenon_L44_ : ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1c zenon_Ha2 zenon_Ha3.
% 21.03/21.26  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H2a | zenon_intro zenon_H27 ].
% 21.03/21.26  cut (((e12) = (e12)) = ((e10) = (e12))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Ha3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H2a.
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e12) = (op1 (e13) (e13))) = ((e12) = (e10))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Ha4.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H1c.
% 21.03/21.26  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  exact (zenon_Ha5 zenon_Ha2).
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L44_ *)
% 21.03/21.26  assert (zenon_L45_ : (((op1 (e13) (e13)) = (e10))/\(~((op1 (e13) (e10)) = (e13)))) -> ((e12) = (op1 (e13) (e13))) -> (~((e10) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Ha6 zenon_H1c zenon_Ha3.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_Ha6). zenon_intro zenon_Ha2. zenon_intro zenon_Ha7.
% 21.03/21.26  apply (zenon_L44_); trivial.
% 21.03/21.26  (* end of lemma zenon_L45_ *)
% 21.03/21.26  assert (zenon_L46_ : (((op2 (e23) (e23)) = (e23))/\(~((op2 (e23) (e23)) = (e23)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Ha8.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_Ha8). zenon_intro zenon_Haa. zenon_intro zenon_Ha9.
% 21.03/21.26  exact (zenon_Ha9 zenon_Haa).
% 21.03/21.26  (* end of lemma zenon_L46_ *)
% 21.03/21.26  assert (zenon_L47_ : (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e22) (e22)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hab zenon_H14 zenon_Hac zenon_H34.
% 21.03/21.26  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e22) (e22)) = (op2 (e23) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hab.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.26  cut (((e20) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H3a | zenon_intro zenon_H3b ].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e20) = (op2 (e22) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Had.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H3a.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hae zenon_Hac).
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply (zenon_L21_); trivial.
% 21.03/21.26  (* end of lemma zenon_L47_ *)
% 21.03/21.26  assert (zenon_L48_ : (((op2 (e22) (e22)) = (e20))/\(~((op2 (e22) (e20)) = (e22)))) -> ((e22) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Haf zenon_H34 zenon_H14 zenon_Hab.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_Haf). zenon_intro zenon_Hac. zenon_intro zenon_Hb0.
% 21.03/21.26  apply (zenon_L47_); trivial.
% 21.03/21.26  (* end of lemma zenon_L48_ *)
% 21.03/21.26  assert (zenon_L49_ : ((e22) = (op2 (e23) (e23))) -> ((op2 (e23) (e23)) = (e20)) -> (~((e20) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H34 zenon_Hb1 zenon_Hb2.
% 21.03/21.26  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H42 | zenon_intro zenon_H3f ].
% 21.03/21.26  cut (((e22) = (e22)) = ((e20) = (e22))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hb2.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H42.
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  cut (((e22) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23))) = ((e22) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hb3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  exact (zenon_Hb4 zenon_Hb1).
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L49_ *)
% 21.03/21.26  assert (zenon_L50_ : (((op2 (e23) (e23)) = (e20))/\(~((op2 (e23) (e20)) = (e23)))) -> ((e22) = (op2 (e23) (e23))) -> (~((e20) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hb5 zenon_H34 zenon_Hb2.
% 21.03/21.26  apply (zenon_and_s _ _ zenon_Hb5). zenon_intro zenon_Hb1. zenon_intro zenon_Hb6.
% 21.03/21.26  apply (zenon_L49_); trivial.
% 21.03/21.26  (* end of lemma zenon_L50_ *)
% 21.03/21.26  assert (zenon_L51_ : ((op2 (e20) (e20)) = (e21)) -> ((op2 (e20) (e20)) = (e22)) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H4c zenon_Hb7 zenon_H41.
% 21.03/21.26  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H42 | zenon_intro zenon_H3f ].
% 21.03/21.26  cut (((e22) = (e22)) = ((e21) = (e22))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H41.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H42.
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  cut (((e22) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e21)) = ((e22) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H43.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H4c.
% 21.03/21.26  cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 21.03/21.26  cut (((op2 (e20) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hb8 zenon_Hb7).
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L51_ *)
% 21.03/21.26  assert (zenon_L52_ : ((op2 (e21) (e21)) = (e20)) -> ((op2 (e21) (e21)) = (e21)) -> (~((e20) = (e21))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H5f zenon_H31 zenon_H4b.
% 21.03/21.26  elim (classic ((e21) = (e21))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H4a ].
% 21.03/21.26  cut (((e21) = (e21)) = ((e20) = (e21))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H4b.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hb9.
% 21.03/21.26  cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 21.03/21.26  cut (((e21) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e21) (e21)) = (e20)) = ((e21) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hba.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H5f.
% 21.03/21.26  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 21.03/21.26  cut (((op2 (e21) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H30 zenon_H31).
% 21.03/21.26  apply zenon_H5d. apply refl_equal.
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  apply zenon_H4a. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L52_ *)
% 21.03/21.26  assert (zenon_L53_ : (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e21) (e22)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hbb zenon_H14 zenon_Hbc zenon_H34.
% 21.03/21.26  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e21) (e22)) = (op2 (e23) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hbb.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.26  cut (((e20) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_Hbe | zenon_intro zenon_Hbf ].
% 21.03/21.26  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e20) = (op2 (e21) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hbd.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hbe.
% 21.03/21.26  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 21.03/21.26  cut (((op2 (e21) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hc0 zenon_Hbc).
% 21.03/21.26  apply zenon_Hbf. apply refl_equal.
% 21.03/21.26  apply zenon_Hbf. apply refl_equal.
% 21.03/21.26  apply (zenon_L21_); trivial.
% 21.03/21.26  (* end of lemma zenon_L53_ *)
% 21.03/21.26  assert (zenon_L54_ : (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e20) (e23)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hc1 zenon_H37 zenon_Hc2 zenon_H34.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hc1.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  cut (((e21) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hc5 ].
% 21.03/21.26  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e21) = (op2 (e20) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hc3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hc4.
% 21.03/21.26  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hc5].
% 21.03/21.26  cut (((op2 (e20) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hc6 zenon_Hc2).
% 21.03/21.26  apply zenon_Hc5. apply refl_equal.
% 21.03/21.26  apply zenon_Hc5. apply refl_equal.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  (* end of lemma zenon_L54_ *)
% 21.03/21.26  assert (zenon_L55_ : (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e23)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hc7 zenon_H37 zenon_Hc8 zenon_H34.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e23)) = (op2 (e22) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hc7.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ].
% 21.03/21.26  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e21) = (op2 (e21) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hc9.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hca.
% 21.03/21.26  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 21.03/21.26  cut (((op2 (e21) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H61 zenon_Hc8).
% 21.03/21.26  apply zenon_Hcb. apply refl_equal.
% 21.03/21.26  apply zenon_Hcb. apply refl_equal.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  (* end of lemma zenon_L55_ *)
% 21.03/21.26  assert (zenon_L56_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e20)))) -> ((op2 (e22) (e23)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e20) (e20)) = (e21)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hcc zenon_Hcd zenon_H34 zenon_H4c.
% 21.03/21.26  cut (((op2 (e22) (e23)) = (e21)) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hcc.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hcd.
% 21.03/21.26  cut (((e21) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hcf.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd0.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_Hce. apply sym_equal. exact zenon_H4c.
% 21.03/21.26  (* end of lemma zenon_L56_ *)
% 21.03/21.26  assert (zenon_L57_ : ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e20)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H37 zenon_Hd2 zenon_Hcd zenon_H4c zenon_H34 zenon_Hd3.
% 21.03/21.26  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e20) (e20)) = (op2 (e23) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hd3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd4.
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e20)) = (op2 (e20) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hd6.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 21.03/21.26  cut (((e21) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e21) = (op2 (e23) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hd7.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd4.
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hd8 zenon_Hd2).
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  apply (zenon_L56_); trivial.
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L57_ *)
% 21.03/21.26  assert (zenon_L58_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e23) (e20)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hd9 zenon_Hc1 zenon_Hc7 zenon_Hd3 zenon_H4c zenon_Hd2 zenon_H37 zenon_H34 zenon_H41.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.26  apply (zenon_L54_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.26  apply (zenon_L55_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.26  apply (zenon_L57_); trivial.
% 21.03/21.26  apply (zenon_L16_); trivial.
% 21.03/21.26  (* end of lemma zenon_L58_ *)
% 21.03/21.26  assert (zenon_L59_ : (~((op2 (e23) (op2 (e23) (e23))) = (op2 (e21) (e21)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e21)) = (e20)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hdc zenon_Hdd zenon_H34 zenon_H5f.
% 21.03/21.26  cut (((op2 (e23) (e22)) = (e20)) = ((op2 (e23) (op2 (e23) (e23))) = (op2 (e21) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hdc.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hdd.
% 21.03/21.26  cut (((e20) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23))))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ].
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e23) (e22)) = (op2 (e23) (op2 (e23) (e23))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hdf.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_He0.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_He1].
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L21_); trivial.
% 21.03/21.26  apply zenon_He1. apply refl_equal.
% 21.03/21.26  apply zenon_He1. apply refl_equal.
% 21.03/21.26  apply zenon_Hde. apply sym_equal. exact zenon_H5f.
% 21.03/21.26  (* end of lemma zenon_L59_ *)
% 21.03/21.26  assert (zenon_L60_ : ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e22) (e21)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H14 zenon_He2 zenon_Hdd zenon_H5f zenon_H34 zenon_He3.
% 21.03/21.26  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_He4 | zenon_intro zenon_He5 ].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e21) (e21)) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_He3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_He4.
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e22) (e21)) = (op2 (e21) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_He6.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 21.03/21.26  cut (((e20) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_He4 | zenon_intro zenon_He5 ].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e20) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_He7.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_He4.
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_He8 zenon_He2).
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  apply (zenon_L59_); trivial.
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L60_ *)
% 21.03/21.26  assert (zenon_L61_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e21)))) -> ((op2 (e22) (e23)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e23) (e21)) = (e21)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_He9 zenon_Hcd zenon_H34 zenon_Hea.
% 21.03/21.26  cut (((op2 (e22) (e23)) = (e21)) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_He9.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hcd.
% 21.03/21.26  cut (((e21) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hcf.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd0.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_Heb. apply sym_equal. exact zenon_Hea.
% 21.03/21.26  (* end of lemma zenon_L61_ *)
% 21.03/21.26  assert (zenon_L62_ : (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e23) (e21)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hec zenon_H37 zenon_Hed zenon_Hcd zenon_Hea zenon_H34.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e21)) = (op2 (e23) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hec.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He9].
% 21.03/21.26  cut (((e21) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_He4 | zenon_intro zenon_He5 ].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e21) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hee.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_He4.
% 21.03/21.26  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 21.03/21.26  cut (((op2 (e22) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hef zenon_Hed).
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  apply zenon_He5. apply refl_equal.
% 21.03/21.26  apply (zenon_L61_); trivial.
% 21.03/21.26  (* end of lemma zenon_L62_ *)
% 21.03/21.26  assert (zenon_L63_ : ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e22)) -> (~((op2 (e23) (e23)) = (op2 (e21) (e20)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H34 zenon_Hf0 zenon_Hf1.
% 21.03/21.26  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf3 ].
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((op2 (e23) (e23)) = (op2 (e21) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hf1.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hf2.
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hf4.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.26  cut (((e22) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf6].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf3 ].
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e22) = (op2 (e21) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hf6.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hf2.
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 21.03/21.26  cut (((op2 (e21) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hf7].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hf7 zenon_Hf0).
% 21.03/21.26  apply zenon_Hf3. apply refl_equal.
% 21.03/21.26  apply zenon_Hf3. apply refl_equal.
% 21.03/21.26  apply zenon_Hf5. apply refl_equal.
% 21.03/21.26  apply zenon_Hf3. apply refl_equal.
% 21.03/21.26  apply zenon_Hf3. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L63_ *)
% 21.03/21.26  assert (zenon_L64_ : (~((op2 (e23) (e23)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e20)) = (e22)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e22) (e21)) = (e22)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hf8 zenon_Hf0 zenon_H34 zenon_Hf9.
% 21.03/21.26  cut (((op2 (e21) (e20)) = (e22)) = ((op2 (e23) (e23)) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hf8.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hf0.
% 21.03/21.26  cut (((e22) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hfa].
% 21.03/21.26  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf5 ].
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hf4.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hfb.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf1].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L63_); trivial.
% 21.03/21.26  apply zenon_Hf5. apply refl_equal.
% 21.03/21.26  apply zenon_Hf5. apply refl_equal.
% 21.03/21.26  apply zenon_Hfa. apply sym_equal. exact zenon_Hf9.
% 21.03/21.26  (* end of lemma zenon_L64_ *)
% 21.03/21.26  assert (zenon_L65_ : (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e21)) = (e22)) -> ((op2 (e22) (e21)) = (e22)) -> ((op2 (e21) (e20)) = (e22)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hfc zenon_Hfd zenon_Hf9 zenon_Hf0 zenon_H34.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e20) (e21)) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hfc.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 21.03/21.26  cut (((e22) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hfe].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ].
% 21.03/21.26  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e22) = (op2 (e20) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hfe.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hff.
% 21.03/21.26  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 21.03/21.26  cut (((op2 (e20) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H101].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H101 zenon_Hfd).
% 21.03/21.26  apply zenon_H100. apply refl_equal.
% 21.03/21.26  apply zenon_H100. apply refl_equal.
% 21.03/21.26  apply (zenon_L64_); trivial.
% 21.03/21.26  (* end of lemma zenon_L65_ *)
% 21.03/21.26  assert (zenon_L66_ : ((op2 (e22) (e22)) = (e23)) -> ((op2 (e22) (e21)) = (e23)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H92 zenon_H102 zenon_H103.
% 21.03/21.26  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H3a | zenon_intro zenon_H3b ].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H103.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H3a.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e22) (e22)) = (e23)) = ((op2 (e22) (e22)) = (op2 (e22) (e21)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H104.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H92.
% 21.03/21.26  cut (((e23) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 21.03/21.26  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H105. apply sym_equal. exact zenon_H102.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  apply zenon_H3b. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L66_ *)
% 21.03/21.26  assert (zenon_L67_ : (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e21)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e22)) -> ((op2 (e20) (e21)) = (e22)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H106 zenon_He3 zenon_H5f zenon_Hdd zenon_H14 zenon_Hea zenon_Hcd zenon_H37 zenon_Hec zenon_H34 zenon_Hf0 zenon_Hfd zenon_Hfc zenon_H92 zenon_H103.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H106); [ zenon_intro zenon_He2 | zenon_intro zenon_H107 ].
% 21.03/21.26  apply (zenon_L60_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H107); [ zenon_intro zenon_Hed | zenon_intro zenon_H108 ].
% 21.03/21.26  apply (zenon_L62_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H108); [ zenon_intro zenon_Hf9 | zenon_intro zenon_H102 ].
% 21.03/21.26  apply (zenon_L65_); trivial.
% 21.03/21.26  apply (zenon_L66_); trivial.
% 21.03/21.26  (* end of lemma zenon_L67_ *)
% 21.03/21.26  assert (zenon_L68_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e21)) = (e22)) -> ((op2 (e21) (e20)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e21)) = (e21)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> ((e22) = (op2 (e23) (e23))) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hd9 zenon_Hc1 zenon_Hc7 zenon_H103 zenon_H92 zenon_Hfc zenon_Hfd zenon_Hf0 zenon_Hec zenon_H37 zenon_Hea zenon_H14 zenon_Hdd zenon_H5f zenon_He3 zenon_H106 zenon_H34 zenon_H41.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.26  apply (zenon_L54_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.26  apply (zenon_L55_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.26  apply (zenon_L67_); trivial.
% 21.03/21.26  apply (zenon_L16_); trivial.
% 21.03/21.26  (* end of lemma zenon_L68_ *)
% 21.03/21.26  assert (zenon_L69_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e22)))) -> ((op2 (e22) (e23)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e22)) = (e21)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H109 zenon_Hcd zenon_H34 zenon_H10a.
% 21.03/21.26  cut (((op2 (e22) (e23)) = (e21)) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H109.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hcd.
% 21.03/21.26  cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hcf.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd0.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L12_); trivial.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_Hd1. apply refl_equal.
% 21.03/21.26  apply zenon_H10b. apply sym_equal. exact zenon_H10a.
% 21.03/21.26  (* end of lemma zenon_L69_ *)
% 21.03/21.26  assert (zenon_L70_ : ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e22)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H37 zenon_H10c zenon_Hcd zenon_H10a zenon_H34 zenon_Hbb.
% 21.03/21.26  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H10d | zenon_intro zenon_H10e ].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((op2 (e21) (e22)) = (op2 (e23) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hbb.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H10d.
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e21) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e22)) = (op2 (e21) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H10f.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H37.
% 21.03/21.26  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 21.03/21.26  cut (((e21) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H10d | zenon_intro zenon_H10e ].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e21) = (op2 (e23) (e22)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H110.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H10d.
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H111 zenon_H10c).
% 21.03/21.26  apply zenon_H10e. apply refl_equal.
% 21.03/21.26  apply zenon_H10e. apply refl_equal.
% 21.03/21.26  apply (zenon_L69_); trivial.
% 21.03/21.26  apply zenon_H10e. apply refl_equal.
% 21.03/21.26  apply zenon_H10e. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L70_ *)
% 21.03/21.26  assert (zenon_L71_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((op2 (e21) (e22)) = (e21)) -> ((op2 (e23) (e22)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> (~((e21) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_Hd9 zenon_Hc1 zenon_Hc7 zenon_Hbb zenon_H10a zenon_H10c zenon_H37 zenon_H34 zenon_H41.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.26  apply (zenon_L54_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.26  apply (zenon_L55_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.26  apply (zenon_L70_); trivial.
% 21.03/21.26  apply (zenon_L16_); trivial.
% 21.03/21.26  (* end of lemma zenon_L71_ *)
% 21.03/21.26  assert (zenon_L72_ : (((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e21)) = (e21))\/(((op2 (e21) (e22)) = (e21))\/((op2 (e21) (e23)) = (e21))))) -> (~((op2 (e21) (e20)) = (e21))) -> (~((e20) = (e21))) -> (~((e21) = (e22))) -> (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e21)) = (e22)) -> ((op2 (e21) (e20)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e20) (e20)) = (e21)) -> (((op2 (e23) (e20)) = (e21))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e22)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H112 zenon_H113 zenon_H4b zenon_H41 zenon_Hd9 zenon_Hc1 zenon_Hbb zenon_H103 zenon_H92 zenon_Hfc zenon_Hfd zenon_Hf0 zenon_Hec zenon_H14 zenon_H5f zenon_He3 zenon_H106 zenon_Hd3 zenon_H4c zenon_H114 zenon_Hab zenon_H4e zenon_H115 zenon_Hc7 zenon_H37 zenon_H34.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.26  exact (zenon_H113 zenon_H117).
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.26  apply (zenon_L52_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H115); [ zenon_intro zenon_H4f | zenon_intro zenon_H119 ].
% 21.03/21.26  apply (zenon_L22_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_Hbc | zenon_intro zenon_H11a ].
% 21.03/21.26  apply (zenon_L53_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdd ].
% 21.03/21.26  apply (zenon_L47_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H114); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H11b ].
% 21.03/21.26  apply (zenon_L58_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_Hea | zenon_intro zenon_H11c ].
% 21.03/21.26  apply (zenon_L68_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10c | zenon_intro zenon_H40 ].
% 21.03/21.26  apply (zenon_L71_); trivial.
% 21.03/21.26  apply (zenon_L16_); trivial.
% 21.03/21.26  apply (zenon_L55_); trivial.
% 21.03/21.26  (* end of lemma zenon_L72_ *)
% 21.03/21.26  assert (zenon_L73_ : ((op2 (e22) (e20)) = (e20)) -> ((op2 (e22) (e20)) = (e22)) -> (~((e20) = (e22))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H11d zenon_H11e zenon_Hb2.
% 21.03/21.26  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H42 | zenon_intro zenon_H3f ].
% 21.03/21.26  cut (((e22) = (e22)) = ((e20) = (e22))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hb2.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H42.
% 21.03/21.26  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 21.03/21.26  cut (((e22) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e22) (e20)) = (e20)) = ((e22) = (e20))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hb3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H11d.
% 21.03/21.26  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 21.03/21.26  cut (((op2 (e22) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Hb0 zenon_H11e).
% 21.03/21.26  apply zenon_H5d. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  apply zenon_H3f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L73_ *)
% 21.03/21.26  assert (zenon_L74_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e22) (e21)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H115 zenon_H4e zenon_Hbb zenon_Hab zenon_H14 zenon_He2 zenon_H5f zenon_H34 zenon_He3.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H115); [ zenon_intro zenon_H4f | zenon_intro zenon_H119 ].
% 21.03/21.26  apply (zenon_L22_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_Hbc | zenon_intro zenon_H11a ].
% 21.03/21.26  apply (zenon_L53_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdd ].
% 21.03/21.26  apply (zenon_L47_); trivial.
% 21.03/21.26  apply (zenon_L60_); trivial.
% 21.03/21.26  (* end of lemma zenon_L74_ *)
% 21.03/21.26  assert (zenon_L75_ : (~((op2 (e23) (op2 (e23) (e23))) = (op2 (e20) (e23)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e20) (e23)) = (e20)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H11f zenon_Hdd zenon_H34 zenon_H5c.
% 21.03/21.26  cut (((op2 (e23) (e22)) = (e20)) = ((op2 (e23) (op2 (e23) (e23))) = (op2 (e20) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H11f.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hdd.
% 21.03/21.26  cut (((e20) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 21.03/21.26  cut (((op2 (e23) (e22)) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23))))); [ zenon_intro zenon_He0 | zenon_intro zenon_He1 ].
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e23) (e22)) = (op2 (e23) (op2 (e23) (e23))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hdf.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_He0.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_He1].
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L21_); trivial.
% 21.03/21.26  apply zenon_He1. apply refl_equal.
% 21.03/21.26  apply zenon_He1. apply refl_equal.
% 21.03/21.26  apply zenon_H120. apply sym_equal. exact zenon_H5c.
% 21.03/21.26  (* end of lemma zenon_L75_ *)
% 21.03/21.26  assert (zenon_L76_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e22) (e23)) = (e20)) -> ((op2 (e20) (e23)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H115 zenon_H4e zenon_Hbb zenon_Hab zenon_H14 zenon_H121 zenon_H5c zenon_H34 zenon_Hc1.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H115); [ zenon_intro zenon_H4f | zenon_intro zenon_H119 ].
% 21.03/21.26  apply (zenon_L22_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_Hbc | zenon_intro zenon_H11a ].
% 21.03/21.26  apply (zenon_L53_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdd ].
% 21.03/21.26  apply (zenon_L47_); trivial.
% 21.03/21.26  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Hc1.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H122.
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e22) (e23)) = (op2 (e20) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H124.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14.
% 21.03/21.26  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 21.03/21.26  cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e20) = (op2 (e22) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H125.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H122.
% 21.03/21.26  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 21.03/21.26  cut (((op2 (e22) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H126].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H126 zenon_H121).
% 21.03/21.26  apply zenon_H123. apply refl_equal.
% 21.03/21.26  apply zenon_H123. apply refl_equal.
% 21.03/21.26  apply (zenon_L75_); trivial.
% 21.03/21.26  apply zenon_H123. apply refl_equal.
% 21.03/21.26  apply zenon_H123. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L76_ *)
% 21.03/21.26  assert (zenon_L77_ : (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((e20) = (e22))) -> ((op2 (e22) (e20)) = (e22)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H127 zenon_Hb2 zenon_H11e zenon_He3 zenon_H5f zenon_H115 zenon_H4e zenon_Hbb zenon_Hab zenon_H14 zenon_H5c zenon_H34 zenon_Hc1.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H127); [ zenon_intro zenon_H11d | zenon_intro zenon_H128 ].
% 21.03/21.26  apply (zenon_L73_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H128); [ zenon_intro zenon_He2 | zenon_intro zenon_H129 ].
% 21.03/21.26  apply (zenon_L74_); trivial.
% 21.03/21.26  apply (zenon_or_s _ _ zenon_H129); [ zenon_intro zenon_Hac | zenon_intro zenon_H121 ].
% 21.03/21.26  apply (zenon_L47_); trivial.
% 21.03/21.26  apply (zenon_L76_); trivial.
% 21.03/21.26  (* end of lemma zenon_L77_ *)
% 21.03/21.26  assert (zenon_L78_ : (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e23) (e20)) = (e22)) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H12a zenon_H34 zenon_H12b.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e23) (e20)) = (op2 (e23) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H12a.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H34.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.26  cut (((e22) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e22) = (op2 (e23) (e20)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H12c.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_Hd4.
% 21.03/21.26  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 21.03/21.26  cut (((op2 (e23) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H12d zenon_H12b).
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  apply zenon_Hd5. apply refl_equal.
% 21.03/21.26  apply zenon_Hf5. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L78_ *)
% 21.03/21.26  assert (zenon_L79_ : ((op1 (e10) (e10)) = (e11)) -> ((op1 (e10) (e10)) = (e12)) -> (~((e11) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H6a zenon_H12e zenon_H29.
% 21.03/21.26  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H2a | zenon_intro zenon_H27 ].
% 21.03/21.26  cut (((e12) = (e12)) = ((e11) = (e12))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H29.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H2a.
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e11)) = ((e12) = (e11))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H2b.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H6a.
% 21.03/21.26  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 21.03/21.26  cut (((op1 (e10) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H12f zenon_H12e).
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L79_ *)
% 21.03/21.26  assert (zenon_L80_ : ((op1 (e11) (e11)) = (e10)) -> ((op1 (e11) (e11)) = (e11)) -> (~((e10) = (e11))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H74 zenon_H19 zenon_H7d.
% 21.03/21.26  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H130 | zenon_intro zenon_H69 ].
% 21.03/21.26  cut (((e11) = (e11)) = ((e10) = (e11))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H7d.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H130.
% 21.03/21.26  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 21.03/21.26  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e11) (e11)) = (e10)) = ((e11) = (e10))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H131.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H74.
% 21.03/21.26  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 21.03/21.26  cut (((op1 (e11) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H18 zenon_H19).
% 21.03/21.26  apply zenon_H72. apply refl_equal.
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  apply zenon_H69. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L80_ *)
% 21.03/21.26  assert (zenon_L81_ : (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e11) (e12)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H132 zenon_H80 zenon_H133 zenon_H1c.
% 21.03/21.26  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e11) (e12)) = (op1 (e13) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H132.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H80.
% 21.03/21.26  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.26  cut (((e10) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 21.03/21.26  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e10) = (op1 (e11) (e12)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H134.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H135.
% 21.03/21.26  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 21.03/21.26  cut (((op1 (e11) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H137 zenon_H133).
% 21.03/21.26  apply zenon_H136. apply refl_equal.
% 21.03/21.26  apply zenon_H136. apply refl_equal.
% 21.03/21.26  apply (zenon_L34_); trivial.
% 21.03/21.26  (* end of lemma zenon_L81_ *)
% 21.03/21.26  assert (zenon_L82_ : ((op1 (e12) (e10)) = (e10)) -> ((op1 (e12) (e10)) = (e12)) -> (~((e10) = (e12))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H138 zenon_H139 zenon_Ha3.
% 21.03/21.26  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H2a | zenon_intro zenon_H27 ].
% 21.03/21.26  cut (((e12) = (e12)) = ((e10) = (e12))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Ha3.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H2a.
% 21.03/21.26  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 21.03/21.26  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e12) (e10)) = (e10)) = ((e12) = (e10))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_Ha4.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H138.
% 21.03/21.26  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 21.03/21.26  cut (((op1 (e12) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_Ha1 zenon_H139).
% 21.03/21.26  apply zenon_H72. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  apply zenon_H27. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L82_ *)
% 21.03/21.26  assert (zenon_L83_ : (~((h4 (e12)) = (e22))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H13a zenon_H13b zenon_H34.
% 21.03/21.26  cut (((h4 (e12)) = (op2 (e23) (e23))) = ((h4 (e12)) = (e22))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H13a.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H13b.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 21.03/21.26  cut (((h4 (e12)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 21.03/21.26  congruence.
% 21.03/21.26  apply zenon_H13c. apply refl_equal.
% 21.03/21.26  apply zenon_H35. apply sym_equal. exact zenon_H34.
% 21.03/21.26  (* end of lemma zenon_L83_ *)
% 21.03/21.26  assert (zenon_L84_ : (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> ((op1 (e10) (e12)) = (e12)) -> ((op2 (e20) (e22)) = (e22)) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H13d zenon_H13e zenon_H13f zenon_H13 zenon_H14 zenon_H13b zenon_H34.
% 21.03/21.26  cut (((h4 (e12)) = (op2 (e23) (e23))) = ((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H13d.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H13b.
% 21.03/21.26  cut (((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 21.03/21.26  cut (((h4 (e12)) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [ zenon_intro zenon_H142 | zenon_intro zenon_H143 ].
% 21.03/21.26  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12)))) = ((h4 (e12)) = (h4 (op1 (e10) (e12))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H141.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H142.
% 21.03/21.26  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H143].
% 21.03/21.26  cut (((h4 (op1 (e10) (e12))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H144].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op1 (e10) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H145 zenon_H13e).
% 21.03/21.26  apply zenon_H143. apply refl_equal.
% 21.03/21.26  apply zenon_H143. apply refl_equal.
% 21.03/21.26  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e12))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H140.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H146.
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((op2 (e20) (e22)) = (e22)) = ((op2 (h4 (e10)) (h4 (e12))) = (op2 (e23) (e23)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H148.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H13f.
% 21.03/21.26  cut (((e22) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 21.03/21.26  cut (((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H14a].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H14a.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H146.
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 21.03/21.26  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.26  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.26  congruence.
% 21.03/21.26  apply (zenon_L1_); trivial.
% 21.03/21.26  apply (zenon_L83_); trivial.
% 21.03/21.26  apply zenon_H147. apply refl_equal.
% 21.03/21.26  apply zenon_H147. apply refl_equal.
% 21.03/21.26  exact (zenon_H149 zenon_H34).
% 21.03/21.26  apply zenon_H147. apply refl_equal.
% 21.03/21.26  apply zenon_H147. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L84_ *)
% 21.03/21.26  assert (zenon_L85_ : ((e12) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e12)) -> (~((op1 (e13) (e13)) = (op1 (e11) (e10)))) -> False).
% 21.03/21.26  do 0 intro. intros zenon_H1c zenon_H14c zenon_H14d.
% 21.03/21.26  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H14e | zenon_intro zenon_H14f ].
% 21.03/21.26  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((op1 (e13) (e13)) = (op1 (e11) (e10)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H14d.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14e.
% 21.03/21.26  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 21.03/21.26  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H150].
% 21.03/21.26  congruence.
% 21.03/21.26  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H150.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H1c.
% 21.03/21.26  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 21.03/21.26  cut (((e12) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 21.03/21.26  congruence.
% 21.03/21.26  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H14e | zenon_intro zenon_H14f ].
% 21.03/21.26  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e12) = (op1 (e11) (e10)))).
% 21.03/21.26  intro zenon_D_pnotp.
% 21.03/21.26  apply zenon_H152.
% 21.03/21.26  rewrite <- zenon_D_pnotp.
% 21.03/21.26  exact zenon_H14e.
% 21.03/21.26  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 21.03/21.26  cut (((op1 (e11) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 21.03/21.26  congruence.
% 21.03/21.26  exact (zenon_H153 zenon_H14c).
% 21.03/21.26  apply zenon_H14f. apply refl_equal.
% 21.03/21.26  apply zenon_H14f. apply refl_equal.
% 21.03/21.26  apply zenon_H151. apply refl_equal.
% 21.03/21.26  apply zenon_H14f. apply refl_equal.
% 21.03/21.26  apply zenon_H14f. apply refl_equal.
% 21.03/21.26  (* end of lemma zenon_L85_ *)
% 21.03/21.26  assert (zenon_L86_ : (~((op1 (e13) (e13)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e10)) = (e12)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e12) (e11)) = (e12)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H154 zenon_H14c zenon_H1c zenon_H155.
% 21.03/21.27  cut (((op1 (e11) (e10)) = (e12)) = ((op1 (e13) (e13)) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H154.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H14c.
% 21.03/21.27  cut (((e12) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H156].
% 21.03/21.27  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H150].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H157 | zenon_intro zenon_H151 ].
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H150.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H157.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14d].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L85_); trivial.
% 21.03/21.27  apply zenon_H151. apply refl_equal.
% 21.03/21.27  apply zenon_H151. apply refl_equal.
% 21.03/21.27  apply zenon_H156. apply sym_equal. exact zenon_H155.
% 21.03/21.27  (* end of lemma zenon_L86_ *)
% 21.03/21.27  assert (zenon_L87_ : ((op1 (e12) (e12)) = (e12)) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e11) (e10)) = (e12)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H158 zenon_H155 zenon_H14c zenon_H1c zenon_H159.
% 21.03/21.27  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H159.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H22.
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e12) (e12)) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H15a.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1c.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H154].
% 21.03/21.27  cut (((e12) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H15b].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e12) = (op1 (e12) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H15b.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H22.
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H15c].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H15c zenon_H158).
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  apply (zenon_L86_); trivial.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L87_ *)
% 21.03/21.27  assert (zenon_L88_ : (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e12)) = (e12)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H15d zenon_H1c zenon_H15e.
% 21.03/21.27  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e13) (e12)) = (op1 (e13) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H15d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1c.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 21.03/21.27  cut (((e12) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H15f].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H160 | zenon_intro zenon_H161 ].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e12) = (op1 (e13) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H15f.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H160.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H161].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H162].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H162 zenon_H15e).
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply zenon_H151. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L88_ *)
% 21.03/21.27  assert (zenon_L89_ : (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e22)) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e11) (e10)) = (e12)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H163 zenon_H34 zenon_H13b zenon_H14 zenon_H13 zenon_H13f zenon_H13d zenon_H164 zenon_H159 zenon_H14c zenon_H155 zenon_H15d zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H13e | zenon_intro zenon_H165 ].
% 21.03/21.27  apply (zenon_L84_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H165); [ zenon_intro zenon_H167 | zenon_intro zenon_H166 ].
% 21.03/21.27  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 21.03/21.27  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H164.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H135.
% 21.03/21.27  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 21.03/21.27  cut (((op1 (e11) (e12)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H168].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e11) (e12)) = (op1 (e11) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H168.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1c.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14d].
% 21.03/21.27  cut (((e12) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H169].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 21.03/21.27  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e12) = (op1 (e11) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H169.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H135.
% 21.03/21.27  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 21.03/21.27  cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H16a].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H16a zenon_H167).
% 21.03/21.27  apply zenon_H136. apply refl_equal.
% 21.03/21.27  apply zenon_H136. apply refl_equal.
% 21.03/21.27  apply (zenon_L85_); trivial.
% 21.03/21.27  apply zenon_H136. apply refl_equal.
% 21.03/21.27  apply zenon_H136. apply refl_equal.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H166); [ zenon_intro zenon_H158 | zenon_intro zenon_H15e ].
% 21.03/21.27  apply (zenon_L87_); trivial.
% 21.03/21.27  apply (zenon_L88_); trivial.
% 21.03/21.27  (* end of lemma zenon_L89_ *)
% 21.03/21.27  assert (zenon_L90_ : (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e10) (e13)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H16b zenon_H1f zenon_H16c zenon_H1c.
% 21.03/21.27  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H16b.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.27  cut (((e11) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16d].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H16e | zenon_intro zenon_H16f ].
% 21.03/21.27  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e11) = (op1 (e10) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H16d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H16e.
% 21.03/21.27  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16f].
% 21.03/21.27  cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H170].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H170 zenon_H16c).
% 21.03/21.27  apply zenon_H16f. apply refl_equal.
% 21.03/21.27  apply zenon_H16f. apply refl_equal.
% 21.03/21.27  apply (zenon_L4_); trivial.
% 21.03/21.27  (* end of lemma zenon_L90_ *)
% 21.03/21.27  assert (zenon_L91_ : (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e13)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H171 zenon_H1f zenon_H172 zenon_H1c.
% 21.03/21.27  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e13)) = (op1 (e12) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H171.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.27  cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H173].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e11) = (op1 (e11) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H173.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H174.
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H76 zenon_H172).
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply (zenon_L4_); trivial.
% 21.03/21.27  (* end of lemma zenon_L91_ *)
% 21.03/21.27  assert (zenon_L92_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e10)))) -> ((op1 (e12) (e13)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e10) (e10)) = (e11)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H176 zenon_H177 zenon_H1c zenon_H6a.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (e11)) = ((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H176.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H177.
% 21.03/21.27  cut (((e11) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H179.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17a.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L4_); trivial.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H178. apply sym_equal. exact zenon_H6a.
% 21.03/21.27  (* end of lemma zenon_L92_ *)
% 21.03/21.27  assert (zenon_L93_ : ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e10)) = (e11)) -> ((op1 (e12) (e13)) = (e11)) -> ((op1 (e10) (e10)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1f zenon_H17c zenon_H177 zenon_H6a zenon_H1c zenon_H17d.
% 21.03/21.27  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((op1 (e10) (e10)) = (op1 (e13) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H17d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17e.
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H180].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e13) (e10)) = (op1 (e10) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H180.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 21.03/21.27  cut (((e11) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e11) = (op1 (e13) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H181.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17e.
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H182].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H182 zenon_H17c).
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply (zenon_L92_); trivial.
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L93_ *)
% 21.03/21.27  assert (zenon_L94_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> ((op1 (e13) (e10)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H183 zenon_H16b zenon_H171 zenon_H17d zenon_H6a zenon_H17c zenon_H1f zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.27  apply (zenon_L90_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L93_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  (* end of lemma zenon_L94_ *)
% 21.03/21.27  assert (zenon_L95_ : (~((op1 (e13) (op1 (e13) (e13))) = (op1 (e11) (e11)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e11) (e11)) = (e10)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H186 zenon_H187 zenon_H1c zenon_H74.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (e10)) = ((op1 (e13) (op1 (e13) (e13))) = (op1 (e11) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H186.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H187.
% 21.03/21.27  cut (((e10) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H188].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H189].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13))))); [ zenon_intro zenon_H18a | zenon_intro zenon_H18b ].
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e13) (e12)) = (op1 (e13) (op1 (e13) (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H189.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H18a.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L34_); trivial.
% 21.03/21.27  apply zenon_H18b. apply refl_equal.
% 21.03/21.27  apply zenon_H18b. apply refl_equal.
% 21.03/21.27  apply zenon_H188. apply sym_equal. exact zenon_H74.
% 21.03/21.27  (* end of lemma zenon_L95_ *)
% 21.03/21.27  assert (zenon_L96_ : ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e12) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H80 zenon_H18c zenon_H187 zenon_H74 zenon_H1c zenon_H18d.
% 21.03/21.27  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H18e | zenon_intro zenon_H18f ].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e11) (e11)) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H18d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H18e.
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H190].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e12) (e11)) = (op1 (e11) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H190.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H80.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H186].
% 21.03/21.27  cut (((e10) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H18e | zenon_intro zenon_H18f ].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e10) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H191.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H18e.
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H192 zenon_H18c).
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  apply (zenon_L95_); trivial.
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L96_ *)
% 21.03/21.27  assert (zenon_L97_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e13) (e11)))) -> ((op1 (e12) (e13)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e11)) = (e11)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H193 zenon_H177 zenon_H1c zenon_H194.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (e11)) = ((op1 (op1 (e13) (e13)) (e13)) = (op1 (e13) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H193.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H177.
% 21.03/21.27  cut (((e11) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H179.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17a.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L4_); trivial.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H195. apply sym_equal. exact zenon_H194.
% 21.03/21.27  (* end of lemma zenon_L97_ *)
% 21.03/21.27  assert (zenon_L98_ : (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e12) (e11)) = (e11)) -> ((op1 (e12) (e13)) = (e11)) -> ((op1 (e13) (e11)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H196 zenon_H1f zenon_H197 zenon_H177 zenon_H194 zenon_H1c.
% 21.03/21.27  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e11)) = (op1 (e13) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H196.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 21.03/21.27  cut (((e11) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H18e | zenon_intro zenon_H18f ].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e11) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H198.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H18e.
% 21.03/21.27  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 21.03/21.27  cut (((op1 (e12) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H199 zenon_H197).
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  apply zenon_H18f. apply refl_equal.
% 21.03/21.27  apply (zenon_L97_); trivial.
% 21.03/21.27  (* end of lemma zenon_L98_ *)
% 21.03/21.27  assert (zenon_L99_ : ((op1 (e12) (e12)) = (e13)) -> ((op1 (e12) (e11)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H8a zenon_H19a zenon_H159.
% 21.03/21.27  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H159.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H22.
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e12) (e12)) = (e13)) = ((op1 (e12) (e12)) = (op1 (e12) (e11)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H15a.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H8a.
% 21.03/21.27  cut (((e13) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H19b].
% 21.03/21.27  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 21.03/21.27  congruence.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  apply zenon_H19b. apply sym_equal. exact zenon_H19a.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  apply zenon_H23. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L99_ *)
% 21.03/21.27  assert (zenon_L100_ : (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e13) (e11)) = (e11)) -> ((op1 (e12) (e13)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e12)) -> ((op1 (e12) (e12)) = (e12)) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H19c zenon_H18d zenon_H74 zenon_H187 zenon_H80 zenon_H194 zenon_H177 zenon_H1f zenon_H196 zenon_H1c zenon_H14c zenon_H158 zenon_H8a zenon_H159.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18c | zenon_intro zenon_H19d ].
% 21.03/21.27  apply (zenon_L96_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H19e ].
% 21.03/21.27  apply (zenon_L98_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19e); [ zenon_intro zenon_H155 | zenon_intro zenon_H19a ].
% 21.03/21.27  apply (zenon_L87_); trivial.
% 21.03/21.27  apply (zenon_L99_); trivial.
% 21.03/21.27  (* end of lemma zenon_L100_ *)
% 21.03/21.27  assert (zenon_L101_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e13)) -> ((op1 (e12) (e12)) = (e12)) -> ((op1 (e11) (e10)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e11)) = (e11)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H183 zenon_H16b zenon_H171 zenon_H159 zenon_H8a zenon_H158 zenon_H14c zenon_H196 zenon_H1f zenon_H194 zenon_H80 zenon_H187 zenon_H74 zenon_H18d zenon_H19c zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.27  apply (zenon_L90_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L100_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  (* end of lemma zenon_L101_ *)
% 21.03/21.27  assert (zenon_L102_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e12)))) -> ((op1 (e12) (e13)) = (e11)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e11) (e12)) = (e11)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H19f zenon_H177 zenon_H1c zenon_H1a0.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (e11)) = ((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H19f.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H177.
% 21.03/21.27  cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e13)) = (op1 (op1 (e13) (e13)) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H179.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17a.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L4_); trivial.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H17b. apply refl_equal.
% 21.03/21.27  apply zenon_H1a1. apply sym_equal. exact zenon_H1a0.
% 21.03/21.27  (* end of lemma zenon_L102_ *)
% 21.03/21.27  assert (zenon_L103_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e11) (e12)) = (e11)) -> ((op1 (e13) (e12)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H183 zenon_H16b zenon_H171 zenon_H132 zenon_H1a0 zenon_H1a2 zenon_H1f zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.27  apply (zenon_L90_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.27  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H160 | zenon_intro zenon_H161 ].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e11) (e12)) = (op1 (e13) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H132.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H160.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H161].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1a3].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e11) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e13) (e12)) = (op1 (e11) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1a3.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f.
% 21.03/21.27  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 21.03/21.27  cut (((e11) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H160 | zenon_intro zenon_H161 ].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e11) = (op1 (e13) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1a4.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H160.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H161].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1a5 zenon_H1a2).
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply (zenon_L102_); trivial.
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply zenon_H161. apply refl_equal.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  (* end of lemma zenon_L103_ *)
% 21.03/21.27  assert (zenon_L104_ : (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (e11))) -> (~((e10) = (e11))) -> (~((op1 (e12) (e13)) = (e12))) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e10)) = (e12)) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e12))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e22)) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e12) (e10)) = (e10)) -> (~((e10) = (e12))) -> (((op1 (e12) (e10)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e12) (e13)) = (e12))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1a6 zenon_H1a7 zenon_H7d zenon_H1a8 zenon_H1a9 zenon_H6a zenon_H17d zenon_H19c zenon_H18d zenon_H74 zenon_H80 zenon_H196 zenon_H14c zenon_H8a zenon_H159 zenon_H132 zenon_H16b zenon_H183 zenon_H29 zenon_H163 zenon_H34 zenon_H13b zenon_H14 zenon_H13 zenon_H13f zenon_H13d zenon_H164 zenon_H15d zenon_H138 zenon_Ha3 zenon_H1aa zenon_H9c zenon_H7f zenon_H1ab zenon_H171 zenon_H1f zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a6); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ac ].
% 21.03/21.27  exact (zenon_H1a7 zenon_H1ad).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ac); [ zenon_intro zenon_H19 | zenon_intro zenon_H1ae ].
% 21.03/21.27  apply (zenon_L80_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ae); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H172 ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1aa); [ zenon_intro zenon_H139 | zenon_intro zenon_H1b1 ].
% 21.03/21.27  apply (zenon_L82_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b1); [ zenon_intro zenon_H155 | zenon_intro zenon_H1b2 ].
% 21.03/21.27  apply (zenon_L89_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b2); [ zenon_intro zenon_H158 | zenon_intro zenon_H1b3 ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a9); [ zenon_intro zenon_H17c | zenon_intro zenon_H1b4 ].
% 21.03/21.27  apply (zenon_L94_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b4); [ zenon_intro zenon_H194 | zenon_intro zenon_H1b5 ].
% 21.03/21.27  apply (zenon_L101_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L103_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  exact (zenon_H1a8 zenon_H1b3).
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  (* end of lemma zenon_L104_ *)
% 21.03/21.27  assert (zenon_L105_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e12) (e11)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H80 zenon_H18c zenon_H74 zenon_H1c zenon_H18d.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_L96_); trivial.
% 21.03/21.27  (* end of lemma zenon_L105_ *)
% 21.03/21.27  assert (zenon_L106_ : (~((op1 (e13) (op1 (e13) (e13))) = (op1 (e10) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1b6 zenon_H187 zenon_H1c zenon_H8f.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (e10)) = ((op1 (e13) (op1 (e13) (e13))) = (op1 (e10) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1b6.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H187.
% 21.03/21.27  cut (((e10) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 21.03/21.27  cut (((op1 (e13) (e12)) = (op1 (e13) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H189].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13))))); [ zenon_intro zenon_H18a | zenon_intro zenon_H18b ].
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e13) (e12)) = (op1 (e13) (op1 (e13) (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H189.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H18a.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L34_); trivial.
% 21.03/21.27  apply zenon_H18b. apply refl_equal.
% 21.03/21.27  apply zenon_H18b. apply refl_equal.
% 21.03/21.27  apply zenon_H1b7. apply sym_equal. exact zenon_H8f.
% 21.03/21.27  (* end of lemma zenon_L106_ *)
% 21.03/21.27  assert (zenon_L107_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e12) (e13)) = (e10)) -> ((op1 (e10) (e13)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H80 zenon_H1b8 zenon_H8f zenon_H1c zenon_H16b.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ba ].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H16b.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1b9.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1ba].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1bb].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e12) (e13)) = (op1 (e10) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1bb.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H80.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 21.03/21.27  cut (((e10) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ba ].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e10) = (op1 (e12) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1bc.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1b9.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1ba].
% 21.03/21.27  cut (((op1 (e12) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1bd].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1bd zenon_H1b8).
% 21.03/21.27  apply zenon_H1ba. apply refl_equal.
% 21.03/21.27  apply zenon_H1ba. apply refl_equal.
% 21.03/21.27  apply (zenon_L106_); trivial.
% 21.03/21.27  apply zenon_H1ba. apply refl_equal.
% 21.03/21.27  apply zenon_H1ba. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L107_ *)
% 21.03/21.27  assert (zenon_L108_ : (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e12))) -> ((op1 (e12) (e10)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1be zenon_Ha3 zenon_H139 zenon_H18d zenon_H74 zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H80 zenon_H8f zenon_H1c zenon_H16b.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1be); [ zenon_intro zenon_H138 | zenon_intro zenon_H1bf ].
% 21.03/21.27  apply (zenon_L82_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H18c | zenon_intro zenon_H1c0 ].
% 21.03/21.27  apply (zenon_L105_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_H9d | zenon_intro zenon_H1b8 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_L107_); trivial.
% 21.03/21.27  (* end of lemma zenon_L108_ *)
% 21.03/21.27  assert (zenon_L109_ : (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e10)) = (e12)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1c1 zenon_H1c zenon_H1c2.
% 21.03/21.27  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e13) (e10)) = (op1 (e13) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1c1.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1c.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 21.03/21.27  cut (((e12) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e12) = (op1 (e13) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1c3.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17e.
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1c4].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1c4 zenon_H1c2).
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply zenon_H151. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L109_ *)
% 21.03/21.27  assert (zenon_L110_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (e11))) -> (~((e10) = (e11))) -> (~((op1 (e12) (e13)) = (e12))) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e12))) -> (((op1 (e10) (e12)) = (e12))\/(((op1 (e11) (e12)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e12)) = (e12))))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e22)) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e12) (e13)) = (e12))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e12))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1c5 zenon_H1c6 zenon_H1c7 zenon_H1a6 zenon_H1a7 zenon_H7d zenon_H1a8 zenon_H1a9 zenon_H6a zenon_H17d zenon_H19c zenon_H196 zenon_H8a zenon_H159 zenon_H183 zenon_H29 zenon_H163 zenon_H34 zenon_H13b zenon_H14 zenon_H13 zenon_H13f zenon_H13d zenon_H164 zenon_H15d zenon_H1aa zenon_H171 zenon_H1f zenon_H16b zenon_H80 zenon_H9c zenon_H132 zenon_H7f zenon_H1ab zenon_H74 zenon_H18d zenon_Ha3 zenon_H1be zenon_H1c1 zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.27  apply (zenon_L33_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.27  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H12e | zenon_intro zenon_H1cb ].
% 21.03/21.27  apply (zenon_L79_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H14c | zenon_intro zenon_H1cc ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1be); [ zenon_intro zenon_H138 | zenon_intro zenon_H1bf ].
% 21.03/21.27  apply (zenon_L104_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H18c | zenon_intro zenon_H1c0 ].
% 21.03/21.27  apply (zenon_L105_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_H9d | zenon_intro zenon_H1b8 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_L107_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1cc); [ zenon_intro zenon_H139 | zenon_intro zenon_H1c2 ].
% 21.03/21.27  apply (zenon_L108_); trivial.
% 21.03/21.27  apply (zenon_L109_); trivial.
% 21.03/21.27  (* end of lemma zenon_L110_ *)
% 21.03/21.27  assert (zenon_L111_ : (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e20) (e23)) = (e22)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1cd zenon_H34 zenon_H1ce.
% 21.03/21.27  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1cd.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H34.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.27  cut (((e22) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1cf].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hc5 ].
% 21.03/21.27  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e22) = (op2 (e20) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1cf.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hc4.
% 21.03/21.27  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hc5].
% 21.03/21.27  cut (((op2 (e20) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d0].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1d0 zenon_H1ce).
% 21.03/21.27  apply zenon_Hc5. apply refl_equal.
% 21.03/21.27  apply zenon_Hc5. apply refl_equal.
% 21.03/21.27  apply zenon_Hf5. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L111_ *)
% 21.03/21.27  assert (zenon_L112_ : ((op2 (e21) (e20)) = (e22)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_Hf0 zenon_H87 zenon_H37 zenon_H13 zenon_H14 zenon_H34 zenon_H1d1.
% 21.03/21.27  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1d3 ].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1d1.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1d2.
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e21) (e20)) = (e22)) = ((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1d4.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hf0.
% 21.03/21.27  cut (((e22) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 21.03/21.27  cut (((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1d5].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1d3 ].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1d5.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1d2.
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d6].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.27  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L36_); trivial.
% 21.03/21.27  apply (zenon_L1_); trivial.
% 21.03/21.27  apply zenon_H1d3. apply refl_equal.
% 21.03/21.27  apply zenon_H1d3. apply refl_equal.
% 21.03/21.27  exact (zenon_H149 zenon_H34).
% 21.03/21.27  apply zenon_H1d3. apply refl_equal.
% 21.03/21.27  apply zenon_H1d3. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L112_ *)
% 21.03/21.27  assert (zenon_L113_ : (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((op1 (e11) (e10)) = (e12)) -> ((op2 (e21) (e20)) = (e22)) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1d7 zenon_H13b zenon_H14c zenon_Hf0 zenon_H34 zenon_H87 zenon_H37 zenon_H13 zenon_H14.
% 21.03/21.27  cut (((h4 (e12)) = (op2 (e23) (e23))) = ((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1d7.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H13b.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1d1].
% 21.03/21.27  cut (((h4 (e12)) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1d8].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [ zenon_intro zenon_H1d9 | zenon_intro zenon_H1da ].
% 21.03/21.27  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10)))) = ((h4 (e12)) = (h4 (op1 (e11) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1d8.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1d9.
% 21.03/21.27  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H1da].
% 21.03/21.27  cut (((h4 (op1 (e11) (e10))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e11) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H153 zenon_H14c).
% 21.03/21.27  apply zenon_H1da. apply refl_equal.
% 21.03/21.27  apply zenon_H1da. apply refl_equal.
% 21.03/21.27  apply (zenon_L112_); trivial.
% 21.03/21.27  (* end of lemma zenon_L113_ *)
% 21.03/21.27  assert (zenon_L114_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e10)) = (e12))\/(((op1 (e12) (e10)) = (e12))\/((op1 (e13) (e10)) = (e12))))) -> (~((e11) = (e12))) -> ((op1 (e10) (e10)) = (e11)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e22)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e12))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1c5 zenon_H7d zenon_H1c6 zenon_H1c7 zenon_H29 zenon_H6a zenon_H14 zenon_H13 zenon_H37 zenon_H87 zenon_H34 zenon_Hf0 zenon_H13b zenon_H1d7 zenon_H16b zenon_H80 zenon_H9c zenon_H132 zenon_H7f zenon_H1ab zenon_H74 zenon_H18d zenon_Ha3 zenon_H1be zenon_H1c1 zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.27  apply (zenon_L33_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.27  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H12e | zenon_intro zenon_H1cb ].
% 21.03/21.27  apply (zenon_L79_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H14c | zenon_intro zenon_H1cc ].
% 21.03/21.27  apply (zenon_L113_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1cc); [ zenon_intro zenon_H139 | zenon_intro zenon_H1c2 ].
% 21.03/21.27  apply (zenon_L108_); trivial.
% 21.03/21.27  apply (zenon_L109_); trivial.
% 21.03/21.27  (* end of lemma zenon_L114_ *)
% 21.03/21.27  assert (zenon_L115_ : ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e21) (e23)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e20) (e23)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H14 zenon_H1dc zenon_Hdd zenon_H5c zenon_H34 zenon_H1dd.
% 21.03/21.27  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1dd.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hca.
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e21) (e23)) = (op2 (e20) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1de.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H14.
% 21.03/21.27  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 21.03/21.27  cut (((e20) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1df].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e20) = (op2 (e21) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1df.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hca.
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1e0].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1e0 zenon_H1dc).
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  apply (zenon_L75_); trivial.
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L115_ *)
% 21.03/21.27  assert (zenon_L116_ : (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e21) (e23)) = (e22)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1e1 zenon_H34 zenon_H1e2.
% 21.03/21.27  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1e1.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H34.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.27  cut (((e22) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_Hca | zenon_intro zenon_Hcb ].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e22) = (op2 (e21) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1e3.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hca.
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1e4 zenon_H1e2).
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  apply zenon_Hcb. apply refl_equal.
% 21.03/21.27  apply zenon_Hf5. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L116_ *)
% 21.03/21.27  assert (zenon_L117_ : (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e11) (e13)) = (e12)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1e5 zenon_H1c zenon_H1e6.
% 21.03/21.27  cut (((e12) = (op1 (e13) (e13))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1e5.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1c.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 21.03/21.27  cut (((e12) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e12) = (op1 (e11) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1e7.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H174.
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1e8].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1e8 zenon_H1e6).
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply zenon_H151. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L117_ *)
% 21.03/21.27  assert (zenon_L118_ : (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> ((op1 (e11) (e13)) = (e13)) -> ((op2 (e21) (e23)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1e9 zenon_H1ea zenon_H1eb zenon_H87 zenon_H37 zenon_H1ec.
% 21.03/21.27  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1e9.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1ec.
% 21.03/21.27  cut (((e23) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1ed].
% 21.03/21.27  cut (((h4 (e13)) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1ee].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_H1f0 ].
% 21.03/21.27  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13)))) = ((h4 (e13)) = (h4 (op1 (e11) (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1ee.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1ef.
% 21.03/21.27  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 21.03/21.27  cut (((h4 (op1 (e11) (e13))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e11) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1f2 zenon_H1ea).
% 21.03/21.27  apply zenon_H1f0. apply refl_equal.
% 21.03/21.27  apply zenon_H1f0. apply refl_equal.
% 21.03/21.27  elim (classic ((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13))))); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f4 ].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13)))) = ((e23) = (op2 (h4 (e11)) (h4 (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1ed.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f3.
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f4].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f5].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e21) (e23)) = (e23)) = ((op2 (h4 (e11)) (h4 (e13))) = (e23))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1f5.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1eb.
% 21.03/21.27  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.27  cut (((op2 (e21) (e23)) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f6].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13))))); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f4 ].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13)))) = ((op2 (e21) (e23)) = (op2 (h4 (e11)) (h4 (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1f6.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1f3.
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f4].
% 21.03/21.27  cut (((op2 (h4 (e11)) (h4 (e13))) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 21.03/21.27  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L36_); trivial.
% 21.03/21.27  exact (zenon_H1f8 zenon_H1ec).
% 21.03/21.27  apply zenon_H1f4. apply refl_equal.
% 21.03/21.27  apply zenon_H1f4. apply refl_equal.
% 21.03/21.27  apply zenon_H32. apply refl_equal.
% 21.03/21.27  apply zenon_H1f4. apply refl_equal.
% 21.03/21.27  apply zenon_H1f4. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L118_ *)
% 21.03/21.27  assert (zenon_L119_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((e10) = (e11))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> ((op2 (e21) (e23)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1c5 zenon_H6a zenon_H7d zenon_H1c6 zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H1f9 zenon_H1fa zenon_H80 zenon_H1f zenon_H171 zenon_H1c zenon_H1e5 zenon_H1e9 zenon_H1eb zenon_H87 zenon_H37 zenon_H1ec.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.27  apply (zenon_L33_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.27  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1f9); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1fb ].
% 21.03/21.27  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1fa.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H174.
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fd].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e11) (e13)) = (op1 (e10) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1fd.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H80.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 21.03/21.27  cut (((e10) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fe].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e10) = (op1 (e11) (e13)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H1fe.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H174.
% 21.03/21.27  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 21.03/21.27  cut (((op1 (e11) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1ff zenon_H1fc).
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply (zenon_L106_); trivial.
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply zenon_H175. apply refl_equal.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1fb); [ zenon_intro zenon_H172 | zenon_intro zenon_H200 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H200); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1ea ].
% 21.03/21.27  apply (zenon_L117_); trivial.
% 21.03/21.27  apply (zenon_L118_); trivial.
% 21.03/21.27  (* end of lemma zenon_L119_ *)
% 21.03/21.27  assert (zenon_L120_ : (((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H201.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H201). zenon_intro zenon_H203. zenon_intro zenon_H202.
% 21.03/21.27  exact (zenon_H202 zenon_H203).
% 21.03/21.27  (* end of lemma zenon_L120_ *)
% 21.03/21.27  assert (zenon_L121_ : (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> ((op2 (e23) (e22)) = (e22)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H204 zenon_H34 zenon_H205.
% 21.03/21.27  cut (((e22) = (op2 (e23) (e23))) = ((op2 (e23) (e22)) = (op2 (e23) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H204.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H34.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 21.03/21.27  cut (((e22) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H10d | zenon_intro zenon_H10e ].
% 21.03/21.27  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e22) = (op2 (e23) (e22)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H206.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H10d.
% 21.03/21.27  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 21.03/21.27  cut (((op2 (e23) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H207].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H207 zenon_H205).
% 21.03/21.27  apply zenon_H10e. apply refl_equal.
% 21.03/21.27  apply zenon_H10e. apply refl_equal.
% 21.03/21.27  apply zenon_Hf5. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L121_ *)
% 21.03/21.27  assert (zenon_L122_ : (((op2 (e23) (e22)) = (e20))\/(((op2 (e23) (e22)) = (e21))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> ((op2 (e21) (e23)) = (e20)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((op2 (e21) (e22)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e23) (e22)) = (e23))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H208 zenon_H1dd zenon_H5c zenon_H1dc zenon_H14 zenon_Hbb zenon_H10a zenon_Hcd zenon_H37 zenon_H34 zenon_H204 zenon_H209.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_Hdd | zenon_intro zenon_H20a ].
% 21.03/21.27  apply (zenon_L115_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H20a); [ zenon_intro zenon_H10c | zenon_intro zenon_H20b ].
% 21.03/21.27  apply (zenon_L70_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H20b); [ zenon_intro zenon_H205 | zenon_intro zenon_H20c ].
% 21.03/21.27  apply (zenon_L121_); trivial.
% 21.03/21.27  exact (zenon_H209 zenon_H20c).
% 21.03/21.27  (* end of lemma zenon_L122_ *)
% 21.03/21.27  assert (zenon_L123_ : (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e23) (e22)) = (e23))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (((op2 (e23) (e22)) = (e20))\/(((op2 (e23) (e22)) = (e21))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((e10) = (e11))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H20d zenon_H209 zenon_H204 zenon_Hcd zenon_H10a zenon_Hbb zenon_H14 zenon_H5c zenon_H1dd zenon_H208 zenon_Hc7 zenon_H34 zenon_H1e1 zenon_H1c5 zenon_H6a zenon_H7d zenon_H1c6 zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H1f9 zenon_H1fa zenon_H80 zenon_H1f zenon_H171 zenon_H1c zenon_H1e5 zenon_H1e9 zenon_H87 zenon_H37 zenon_H1ec.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1dc | zenon_intro zenon_H20e ].
% 21.03/21.27  apply (zenon_L122_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H20e); [ zenon_intro zenon_Hc8 | zenon_intro zenon_H20f ].
% 21.03/21.27  apply (zenon_L55_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H20f); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1eb ].
% 21.03/21.27  apply (zenon_L116_); trivial.
% 21.03/21.27  apply (zenon_L119_); trivial.
% 21.03/21.27  (* end of lemma zenon_L123_ *)
% 21.03/21.27  assert (zenon_L124_ : ((op2 (e22) (e20)) = (e20)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> (~((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e12)) (h4 (e10))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H11d zenon_H13b zenon_H34 zenon_H13 zenon_H14 zenon_H210.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H211 | zenon_intro zenon_H212 ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e12)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H210.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H211.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H212].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H213].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e22) (e20)) = (e20)) = ((op2 (h4 (e12)) (h4 (e10))) = (op2 (e23) (op2 (e23) (e23))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H213.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H11d.
% 21.03/21.27  cut (((e20) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 21.03/21.27  cut (((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H215].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H211 | zenon_intro zenon_H212 ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H215.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H211.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H212].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.27  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L83_); trivial.
% 21.03/21.27  apply (zenon_L1_); trivial.
% 21.03/21.27  apply zenon_H212. apply refl_equal.
% 21.03/21.27  apply zenon_H212. apply refl_equal.
% 21.03/21.27  exact (zenon_H214 zenon_H14).
% 21.03/21.27  apply zenon_H212. apply refl_equal.
% 21.03/21.27  apply zenon_H212. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L124_ *)
% 21.03/21.27  assert (zenon_L125_ : (~((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))) -> ((op1 (e12) (e10)) = (e10)) -> ((op2 (e22) (e20)) = (e20)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H217 zenon_H138 zenon_H11d zenon_H13b zenon_H34 zenon_H13 zenon_H14.
% 21.03/21.27  cut (((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) = ((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H217.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H13.
% 21.03/21.27  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 21.03/21.27  cut (((h4 (e10)) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H218].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H21a ].
% 21.03/21.27  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10)))) = ((h4 (e10)) = (h4 (op1 (e12) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H218.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H219.
% 21.03/21.27  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H21a].
% 21.03/21.27  cut (((h4 (op1 (e12) (e10))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H21b].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e12) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H21c].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H21c zenon_H138).
% 21.03/21.27  apply zenon_H21a. apply refl_equal.
% 21.03/21.27  apply zenon_H21a. apply refl_equal.
% 21.03/21.27  apply (zenon_L124_); trivial.
% 21.03/21.27  (* end of lemma zenon_L125_ *)
% 21.03/21.27  assert (zenon_L126_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((e10) = (e11))) -> (~((op1 (e10) (e11)) = (e10))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((op2 (e22) (e20)) = (e20)) -> (~((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1c5 zenon_H6a zenon_H7d zenon_H1c6 zenon_H1be zenon_H14 zenon_H13 zenon_H34 zenon_H13b zenon_H11d zenon_H217 zenon_H18d zenon_H74 zenon_H1ab zenon_H7f zenon_H132 zenon_H9c zenon_H80 zenon_H1c zenon_H16b.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.27  apply (zenon_L33_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.27  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1be); [ zenon_intro zenon_H138 | zenon_intro zenon_H1bf ].
% 21.03/21.27  apply (zenon_L125_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H18c | zenon_intro zenon_H1c0 ].
% 21.03/21.27  apply (zenon_L105_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_H9d | zenon_intro zenon_H1b8 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_L107_); trivial.
% 21.03/21.27  (* end of lemma zenon_L126_ *)
% 21.03/21.27  assert (zenon_L127_ : ((op2 (e22) (e21)) = (e22)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_Hf9 zenon_H13b zenon_H87 zenon_H37 zenon_H34 zenon_H21d.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H21d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H21e.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H220].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e22) (e21)) = (e22)) = ((op2 (h4 (e12)) (h4 (e11))) = (op2 (e23) (e23)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H220.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hf9.
% 21.03/21.27  cut (((e22) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 21.03/21.27  cut (((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H221].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H221.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H21e.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H222].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.27  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L83_); trivial.
% 21.03/21.27  apply (zenon_L36_); trivial.
% 21.03/21.27  apply zenon_H21f. apply refl_equal.
% 21.03/21.27  apply zenon_H21f. apply refl_equal.
% 21.03/21.27  exact (zenon_H149 zenon_H34).
% 21.03/21.27  apply zenon_H21f. apply refl_equal.
% 21.03/21.27  apply zenon_H21f. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L127_ *)
% 21.03/21.27  assert (zenon_L128_ : (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op1 (e12) (e11)) = (e12)) -> ((op2 (e22) (e21)) = (e22)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H223 zenon_H155 zenon_Hf9 zenon_H13b zenon_H34 zenon_H87 zenon_H37.
% 21.03/21.27  cut (((h4 (e12)) = (op2 (e23) (e23))) = ((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H223.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H13b.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 21.03/21.27  cut (((h4 (e12)) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H224].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 21.03/21.27  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11)))) = ((h4 (e12)) = (h4 (op1 (e12) (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H224.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H225.
% 21.03/21.27  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H226].
% 21.03/21.27  cut (((h4 (op1 (e12) (e11))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H227].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e12) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H26 zenon_H155).
% 21.03/21.27  apply zenon_H226. apply refl_equal.
% 21.03/21.27  apply zenon_H226. apply refl_equal.
% 21.03/21.27  apply (zenon_L127_); trivial.
% 21.03/21.27  (* end of lemma zenon_L128_ *)
% 21.03/21.27  assert (zenon_L129_ : (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((e12) = (op1 (e13) (e13))) -> ((op1 (e13) (e11)) = (e11)) -> ((op1 (e12) (e13)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((op2 (e22) (e21)) = (e22)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H19c zenon_H18d zenon_H74 zenon_H187 zenon_H80 zenon_H1c zenon_H194 zenon_H177 zenon_H1f zenon_H196 zenon_H37 zenon_H87 zenon_H34 zenon_H13b zenon_Hf9 zenon_H223 zenon_H8a zenon_H159.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19c); [ zenon_intro zenon_H18c | zenon_intro zenon_H19d ].
% 21.03/21.27  apply (zenon_L96_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19d); [ zenon_intro zenon_H197 | zenon_intro zenon_H19e ].
% 21.03/21.27  apply (zenon_L98_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H19e); [ zenon_intro zenon_H155 | zenon_intro zenon_H19a ].
% 21.03/21.27  apply (zenon_L128_); trivial.
% 21.03/21.27  apply (zenon_L99_); trivial.
% 21.03/21.27  (* end of lemma zenon_L129_ *)
% 21.03/21.27  assert (zenon_L130_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e13)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op2 (e22) (e21)) = (e22)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e11)) = (e11)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H183 zenon_H16b zenon_H171 zenon_H159 zenon_H8a zenon_H223 zenon_Hf9 zenon_H13b zenon_H34 zenon_H87 zenon_H37 zenon_H196 zenon_H1f zenon_H194 zenon_H80 zenon_H187 zenon_H74 zenon_H18d zenon_H19c zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.27  apply (zenon_L90_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L129_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  (* end of lemma zenon_L130_ *)
% 21.03/21.27  assert (zenon_L131_ : (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (e11))) -> (~((e10) = (e11))) -> (~((e11) = (e12))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e13)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op2 (e22) (e21)) = (e22)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1a6 zenon_H1a7 zenon_H7d zenon_H29 zenon_H183 zenon_H16b zenon_H132 zenon_H159 zenon_H8a zenon_H223 zenon_Hf9 zenon_H13b zenon_H34 zenon_H87 zenon_H37 zenon_H196 zenon_H80 zenon_H74 zenon_H18d zenon_H19c zenon_H17d zenon_H6a zenon_H1a9 zenon_H9c zenon_H7f zenon_H1ab zenon_H171 zenon_H1f zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a6); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ac ].
% 21.03/21.27  exact (zenon_H1a7 zenon_H1ad).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ac); [ zenon_intro zenon_H19 | zenon_intro zenon_H1ae ].
% 21.03/21.27  apply (zenon_L80_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ae); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H172 ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a9); [ zenon_intro zenon_H17c | zenon_intro zenon_H1b4 ].
% 21.03/21.27  apply (zenon_L94_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b4); [ zenon_intro zenon_H194 | zenon_intro zenon_H1b5 ].
% 21.03/21.27  apply (zenon_L130_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L103_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  (* end of lemma zenon_L131_ *)
% 21.03/21.27  assert (zenon_L132_ : (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e21)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e12) = (op1 (e13) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op1 (e12) (e12)) = (e13)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((e11) = (e12))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e10)) = (e11))) -> (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> ((op2 (e22) (e22)) = (e23)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H106 zenon_He3 zenon_H5f zenon_Hdd zenon_H14 zenon_Hea zenon_Hcd zenon_Hec zenon_H1c zenon_H1f zenon_H171 zenon_H1ab zenon_H7f zenon_H9c zenon_H1a9 zenon_H6a zenon_H17d zenon_H19c zenon_H18d zenon_H74 zenon_H80 zenon_H196 zenon_H37 zenon_H87 zenon_H34 zenon_H13b zenon_H223 zenon_H8a zenon_H159 zenon_H132 zenon_H16b zenon_H183 zenon_H29 zenon_H7d zenon_H1a7 zenon_H1a6 zenon_H92 zenon_H103.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H106); [ zenon_intro zenon_He2 | zenon_intro zenon_H107 ].
% 21.03/21.27  apply (zenon_L60_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H107); [ zenon_intro zenon_Hed | zenon_intro zenon_H108 ].
% 21.03/21.27  apply (zenon_L62_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H108); [ zenon_intro zenon_Hf9 | zenon_intro zenon_H102 ].
% 21.03/21.27  apply (zenon_L131_); trivial.
% 21.03/21.27  apply (zenon_L66_); trivial.
% 21.03/21.27  (* end of lemma zenon_L132_ *)
% 21.03/21.27  assert (zenon_L133_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (e11))) -> (~((e10) = (e11))) -> (~((e11) = (e12))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e13)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e21)) = (e21)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> ((e22) = (op2 (e23) (e23))) -> (~((e21) = (e22))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_Hd9 zenon_Hc1 zenon_Hc7 zenon_H103 zenon_H92 zenon_H1a6 zenon_H1a7 zenon_H7d zenon_H29 zenon_H183 zenon_H16b zenon_H132 zenon_H159 zenon_H8a zenon_H223 zenon_H13b zenon_H87 zenon_H37 zenon_H196 zenon_H80 zenon_H74 zenon_H18d zenon_H19c zenon_H17d zenon_H6a zenon_H1a9 zenon_H9c zenon_H7f zenon_H1ab zenon_H171 zenon_H1f zenon_H1c zenon_Hec zenon_Hea zenon_H14 zenon_Hdd zenon_H5f zenon_He3 zenon_H106 zenon_H34 zenon_H41.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.27  apply (zenon_L54_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.27  apply (zenon_L55_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.27  apply (zenon_L132_); trivial.
% 21.03/21.27  apply (zenon_L16_); trivial.
% 21.03/21.27  (* end of lemma zenon_L133_ *)
% 21.03/21.27  assert (zenon_L134_ : ((h4 (e13)) = (e23)) -> ((op1 (e12) (e12)) = (e13)) -> (~((e23) = (h4 (op1 (e12) (e12))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1ec zenon_H8a zenon_H228.
% 21.03/21.27  elim (classic ((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [ zenon_intro zenon_H229 | zenon_intro zenon_H22a ].
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12)))) = ((e23) = (h4 (op1 (e12) (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H228.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H229.
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H22a].
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H22b].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e12) (e12))) = (e23))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H22b.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1ec.
% 21.03/21.27  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.27  cut (((h4 (e13)) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [ zenon_intro zenon_H229 | zenon_intro zenon_H22a ].
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12)))) = ((h4 (e13)) = (h4 (op1 (e12) (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H22c.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H229.
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H22a].
% 21.03/21.27  cut (((h4 (op1 (e12) (e12))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H22d].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22e].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H22e zenon_H8a).
% 21.03/21.27  apply zenon_H22a. apply refl_equal.
% 21.03/21.27  apply zenon_H22a. apply refl_equal.
% 21.03/21.27  apply zenon_H32. apply refl_equal.
% 21.03/21.27  apply zenon_H22a. apply refl_equal.
% 21.03/21.27  apply zenon_H22a. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L134_ *)
% 21.03/21.27  assert (zenon_L135_ : ((op2 (e22) (e22)) = (e23)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e22) = (op2 (e23) (e23))) -> ((h4 (e13)) = (e23)) -> ((op1 (e12) (e12)) = (e13)) -> (~((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H92 zenon_H13b zenon_H34 zenon_H1ec zenon_H8a zenon_H22f.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H230 | zenon_intro zenon_H231 ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H22f.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H230.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H231].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H232].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e22) (e22)) = (e23)) = ((op2 (h4 (e12)) (h4 (e12))) = (h4 (op1 (e12) (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H232.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H92.
% 21.03/21.27  cut (((e23) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 21.03/21.27  cut (((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H233].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H230 | zenon_intro zenon_H231 ].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H233.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H230.
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H231].
% 21.03/21.27  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H234].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.27  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.27  congruence.
% 21.03/21.27  apply (zenon_L83_); trivial.
% 21.03/21.27  apply (zenon_L83_); trivial.
% 21.03/21.27  apply zenon_H231. apply refl_equal.
% 21.03/21.27  apply zenon_H231. apply refl_equal.
% 21.03/21.27  apply (zenon_L134_); trivial.
% 21.03/21.27  apply zenon_H231. apply refl_equal.
% 21.03/21.27  apply zenon_H231. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L135_ *)
% 21.03/21.27  assert (zenon_L136_ : (~((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e12) (e13)) = (e11)) -> ((h4 (e13)) = (e23)) -> ((h4 (e12)) = (op2 (e23) (e23))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H235 zenon_H87 zenon_H177 zenon_H1ec zenon_H13b.
% 21.03/21.27  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H235.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H87.
% 21.03/21.27  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H236].
% 21.03/21.27  cut (((h4 (e11)) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H237].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [ zenon_intro zenon_H238 | zenon_intro zenon_H239 ].
% 21.03/21.27  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13)))) = ((h4 (e11)) = (h4 (op1 (e12) (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H237.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H238.
% 21.03/21.27  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H239].
% 21.03/21.27  cut (((h4 (op1 (e12) (e13))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H23a].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H23b].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H23b zenon_H177).
% 21.03/21.27  apply zenon_H239. apply refl_equal.
% 21.03/21.27  apply zenon_H239. apply refl_equal.
% 21.03/21.27  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 21.03/21.27  cut (((op2 (e23) (e23)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 21.03/21.27  congruence.
% 21.03/21.27  apply zenon_H23d. apply sym_equal. exact zenon_H13b.
% 21.03/21.27  apply zenon_H23c. apply sym_equal. exact zenon_H1ec.
% 21.03/21.27  (* end of lemma zenon_L136_ *)
% 21.03/21.27  assert (zenon_L137_ : (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e20)) = (e20)) -> ((e22) = (op2 (e23) (e23))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H23e zenon_H14 zenon_H23f zenon_H34.
% 21.03/21.27  cut (((e20) = (op2 (e23) (op2 (e23) (e23)))) = ((op2 (e23) (e20)) = (op2 (e23) (e22)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H23e.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H14.
% 21.03/21.27  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 21.03/21.27  cut (((e20) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H240].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 21.03/21.27  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e20) = (op2 (e23) (e20)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H240.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hd4.
% 21.03/21.27  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 21.03/21.27  cut (((op2 (e23) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H241 zenon_H23f).
% 21.03/21.27  apply zenon_Hd5. apply refl_equal.
% 21.03/21.27  apply zenon_Hd5. apply refl_equal.
% 21.03/21.27  apply (zenon_L21_); trivial.
% 21.03/21.27  (* end of lemma zenon_L137_ *)
% 21.03/21.27  assert (zenon_L138_ : (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> ((op1 (e13) (e10)) = (e10)) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H242 zenon_H80 zenon_H243 zenon_H1c.
% 21.03/21.27  cut (((e10) = (op1 (e13) (op1 (e13) (e13)))) = ((op1 (e13) (e10)) = (op1 (e13) (e12)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H242.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H80.
% 21.03/21.27  cut (((op1 (e13) (op1 (e13) (e13))) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 21.03/21.27  cut (((e10) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e10) = (op1 (e13) (e10)))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H244.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H17e.
% 21.03/21.27  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 21.03/21.27  cut (((op1 (e13) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H245 zenon_H243).
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply zenon_H17f. apply refl_equal.
% 21.03/21.27  apply (zenon_L34_); trivial.
% 21.03/21.27  (* end of lemma zenon_L138_ *)
% 21.03/21.27  assert (zenon_L139_ : ((h4 (e13)) = (e23)) -> ((op1 (e13) (e10)) = (e13)) -> (~((e23) = (h4 (op1 (e13) (e10))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1ec zenon_H246 zenon_H247.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H248 | zenon_intro zenon_H249 ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((e23) = (h4 (op1 (e13) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H247.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H248.
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H249].
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H24a].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e13) (e10))) = (e23))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H24a.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H1ec.
% 21.03/21.27  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.27  cut (((h4 (e13)) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H24b].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H248 | zenon_intro zenon_H249 ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((h4 (e13)) = (h4 (op1 (e13) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H24b.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H248.
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H249].
% 21.03/21.27  cut (((h4 (op1 (e13) (e10))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H24c].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e13) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_Ha7 zenon_H246).
% 21.03/21.27  apply zenon_H249. apply refl_equal.
% 21.03/21.27  apply zenon_H249. apply refl_equal.
% 21.03/21.27  apply zenon_H32. apply refl_equal.
% 21.03/21.27  apply zenon_H249. apply refl_equal.
% 21.03/21.27  apply zenon_H249. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L139_ *)
% 21.03/21.27  assert (zenon_L140_ : ((op2 (e23) (e20)) = (e23)) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e13)) = (e23)) -> ((op1 (e13) (e10)) = (e13)) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H24d zenon_H13 zenon_H14 zenon_H1ec zenon_H246 zenon_H24e.
% 21.03/21.27  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H24f | zenon_intro zenon_H250 ].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H24e.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H24f.
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H250].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H251].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H251.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H24d.
% 21.03/21.27  cut (((e23) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H247].
% 21.03/21.27  cut (((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H252].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H24f | zenon_intro zenon_H250 ].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H252.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H24f.
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H250].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H253].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.27  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1f8 zenon_H1ec).
% 21.03/21.27  apply (zenon_L1_); trivial.
% 21.03/21.27  apply zenon_H250. apply refl_equal.
% 21.03/21.27  apply zenon_H250. apply refl_equal.
% 21.03/21.27  apply (zenon_L139_); trivial.
% 21.03/21.27  apply zenon_H250. apply refl_equal.
% 21.03/21.27  apply zenon_H250. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L140_ *)
% 21.03/21.27  assert (zenon_L141_ : (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> ((op1 (e12) (e13)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((op2 (e23) (e20)) = (e23)) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H254 zenon_H80 zenon_H242 zenon_H17d zenon_H6a zenon_H177 zenon_H1f zenon_H1c zenon_H1c1 zenon_H24d zenon_H13 zenon_H14 zenon_H1ec zenon_H24e.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H254); [ zenon_intro zenon_H243 | zenon_intro zenon_H255 ].
% 21.03/21.27  apply (zenon_L138_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H255); [ zenon_intro zenon_H17c | zenon_intro zenon_H256 ].
% 21.03/21.27  apply (zenon_L93_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H256); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H246 ].
% 21.03/21.27  apply (zenon_L109_); trivial.
% 21.03/21.27  apply (zenon_L140_); trivial.
% 21.03/21.27  (* end of lemma zenon_L141_ *)
% 21.03/21.27  assert (zenon_L142_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> ((h4 (e13)) = (e23)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((op2 (e23) (e20)) = (e23)) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H183 zenon_H16b zenon_H171 zenon_H24e zenon_H1ec zenon_H14 zenon_H13 zenon_H24d zenon_H1c1 zenon_H1f zenon_H6a zenon_H17d zenon_H242 zenon_H80 zenon_H254 zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.27  apply (zenon_L90_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L141_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  (* end of lemma zenon_L142_ *)
% 21.03/21.27  assert (zenon_L143_ : (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e20)) = (e21))\/(((op2 (e23) (e20)) = (e22))\/((op2 (e23) (e20)) = (e23))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (e23) (e23))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> ((h4 (e13)) = (e23)) -> ((e20) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e10) (e10)) = (e11)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e10)) = (e12))\/((op1 (e13) (e10)) = (e13))))) -> ((e12) = (op1 (e13) (e13))) -> (~((e11) = (e12))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H257 zenon_H23e zenon_Hd3 zenon_H4c zenon_Hcd zenon_H37 zenon_H34 zenon_H12a zenon_H183 zenon_H16b zenon_H171 zenon_H24e zenon_H1ec zenon_H14 zenon_H13 zenon_H1c1 zenon_H1f zenon_H6a zenon_H17d zenon_H242 zenon_H80 zenon_H254 zenon_H1c zenon_H29.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H257); [ zenon_intro zenon_H23f | zenon_intro zenon_H258 ].
% 21.03/21.27  apply (zenon_L137_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H258); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H259 ].
% 21.03/21.27  apply (zenon_L57_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H259); [ zenon_intro zenon_H12b | zenon_intro zenon_H24d ].
% 21.03/21.27  apply (zenon_L78_); trivial.
% 21.03/21.27  apply (zenon_L142_); trivial.
% 21.03/21.27  (* end of lemma zenon_L143_ *)
% 21.03/21.27  assert (zenon_L144_ : ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e13) (e11)) = (e11)) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((e21) = (h4 (op1 (e13) (e11))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H87 zenon_H194 zenon_H37 zenon_H25a.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H25b | zenon_intro zenon_H25c ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((e21) = (h4 (op1 (e13) (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H25a.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H25b.
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H25d].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e13) (e11))) = (e21))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H25d.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H87.
% 21.03/21.27  cut (((op2 (op2 (e23) (e23)) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 21.03/21.27  cut (((h4 (e11)) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H25e].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H25b | zenon_intro zenon_H25c ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((h4 (e11)) = (h4 (op1 (e13) (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H25e.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H25b.
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 21.03/21.27  cut (((h4 (op1 (e13) (e11))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H260].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H260 zenon_H194).
% 21.03/21.27  apply zenon_H25c. apply refl_equal.
% 21.03/21.27  apply zenon_H25c. apply refl_equal.
% 21.03/21.27  apply zenon_H88. apply sym_equal. exact zenon_H37.
% 21.03/21.27  apply zenon_H25c. apply refl_equal.
% 21.03/21.27  apply zenon_H25c. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L144_ *)
% 21.03/21.27  assert (zenon_L145_ : ((op2 (e23) (e21)) = (e21)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e13) (e11)) = (e11)) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_Hea zenon_H1ec zenon_H87 zenon_H37 zenon_H194 zenon_H261.
% 21.03/21.27  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H262 | zenon_intro zenon_H263 ].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H261.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H262.
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H263].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H264].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e23) (e21)) = (e21)) = ((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H264.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_Hea.
% 21.03/21.27  cut (((e21) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 21.03/21.27  cut (((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H262 | zenon_intro zenon_H263 ].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H265.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H262.
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H263].
% 21.03/21.27  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.27  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H1f8 zenon_H1ec).
% 21.03/21.27  apply (zenon_L36_); trivial.
% 21.03/21.27  apply zenon_H263. apply refl_equal.
% 21.03/21.27  apply zenon_H263. apply refl_equal.
% 21.03/21.27  apply (zenon_L144_); trivial.
% 21.03/21.27  apply zenon_H263. apply refl_equal.
% 21.03/21.27  apply zenon_H263. apply refl_equal.
% 21.03/21.27  (* end of lemma zenon_L145_ *)
% 21.03/21.27  assert (zenon_L146_ : (((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/((op1 (e11) (e13)) = (e11))))) -> (~((op1 (e11) (e10)) = (e11))) -> (~((e10) = (e11))) -> ((op1 (e11) (e11)) = (e10)) -> (~((e11) = (e12))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op2 (e23) (e21)) = (e21)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (e23))) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e11)) -> (((op1 (e13) (e10)) = (e11))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e12)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (e13))) -> ((e12) = (op1 (e13) (e13))) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1a6 zenon_H1a7 zenon_H7d zenon_H74 zenon_H29 zenon_H183 zenon_H16b zenon_H132 zenon_Hea zenon_H1ec zenon_H87 zenon_H37 zenon_H261 zenon_H17d zenon_H6a zenon_H1a9 zenon_H171 zenon_H1f zenon_H1c.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a6); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ac ].
% 21.03/21.27  exact (zenon_H1a7 zenon_H1ad).
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ac); [ zenon_intro zenon_H19 | zenon_intro zenon_H1ae ].
% 21.03/21.27  apply (zenon_L80_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ae); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H172 ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1a9); [ zenon_intro zenon_H17c | zenon_intro zenon_H1b4 ].
% 21.03/21.27  apply (zenon_L94_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b4); [ zenon_intro zenon_H194 | zenon_intro zenon_H1b5 ].
% 21.03/21.27  apply (zenon_L145_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b5); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H28 ].
% 21.03/21.27  apply (zenon_L103_); trivial.
% 21.03/21.27  apply (zenon_L8_); trivial.
% 21.03/21.27  apply (zenon_L91_); trivial.
% 21.03/21.27  (* end of lemma zenon_L146_ *)
% 21.03/21.27  assert (zenon_L147_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e12) = (op1 (e13) (e13))) -> ((e10) = (op1 (e13) (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> ((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H1ab zenon_H7f zenon_H132 zenon_H1c zenon_H80 zenon_H9c zenon_H267 zenon_H13 zenon_H13b zenon_H1ec.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1ab); [ zenon_intro zenon_H81 | zenon_intro zenon_H1af ].
% 21.03/21.27  apply (zenon_L35_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1af); [ zenon_intro zenon_H133 | zenon_intro zenon_H1b0 ].
% 21.03/21.27  apply (zenon_L81_); trivial.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H1b0); [ zenon_intro zenon_H9d | zenon_intro zenon_H187 ].
% 21.03/21.27  apply (zenon_L42_); trivial.
% 21.03/21.27  cut (((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) = ((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H267.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H13.
% 21.03/21.27  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 21.03/21.27  cut (((h4 (e10)) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12)))) = ((h4 (e10)) = (h4 (op1 (e13) (e12))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H269.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H26a.
% 21.03/21.27  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H26b].
% 21.03/21.27  cut (((h4 (op1 (e13) (e12))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H26c].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e13) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H26d].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H26d zenon_H187).
% 21.03/21.27  apply zenon_H26b. apply refl_equal.
% 21.03/21.27  apply zenon_H26b. apply refl_equal.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 21.03/21.27  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 21.03/21.27  congruence.
% 21.03/21.27  apply zenon_H23c. apply sym_equal. exact zenon_H1ec.
% 21.03/21.27  apply zenon_H23d. apply sym_equal. exact zenon_H13b.
% 21.03/21.27  (* end of lemma zenon_L147_ *)
% 21.03/21.27  assert (zenon_L148_ : (~((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))) -> ((h4 (e12)) = (op2 (e23) (e23))) -> ((e12) = (op1 (e13) (e13))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H26e zenon_H13b zenon_H1c zenon_H1ec.
% 21.03/21.27  cut (((h4 (e12)) = (op2 (e23) (e23))) = ((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H26e.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H13b.
% 21.03/21.27  cut (((op2 (e23) (e23)) = (op2 (h4 (e13)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 21.03/21.27  cut (((h4 (e12)) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 21.03/21.27  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13)))) = ((h4 (e12)) = (h4 (op1 (e13) (e13))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H270.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H271.
% 21.03/21.27  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 21.03/21.27  cut (((h4 (op1 (e13) (e13))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 21.03/21.27  congruence.
% 21.03/21.27  apply zenon_H1d. apply sym_equal. exact zenon_H1c.
% 21.03/21.27  apply zenon_H272. apply refl_equal.
% 21.03/21.27  apply zenon_H272. apply refl_equal.
% 21.03/21.27  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 21.03/21.27  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 21.03/21.27  congruence.
% 21.03/21.27  apply zenon_H23c. apply sym_equal. exact zenon_H1ec.
% 21.03/21.27  apply zenon_H23c. apply sym_equal. exact zenon_H1ec.
% 21.03/21.27  (* end of lemma zenon_L148_ *)
% 21.03/21.27  assert (zenon_L149_ : (~(((h4 (e10)) = (e23))\/(((h4 (e11)) = (e23))\/(((h4 (e12)) = (e23))\/((h4 (e13)) = (e23)))))) -> ((h4 (e13)) = (e23)) -> False).
% 21.03/21.27  do 0 intro. intros zenon_H274 zenon_H1ec.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_H274). zenon_intro zenon_H276. zenon_intro zenon_H275.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_H275). zenon_intro zenon_H278. zenon_intro zenon_H277.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_H277). zenon_intro zenon_H279. zenon_intro zenon_H1f8.
% 21.03/21.27  exact (zenon_H1f8 zenon_H1ec).
% 21.03/21.27  (* end of lemma zenon_L149_ *)
% 21.03/21.27  apply NNPP. intro zenon_G.
% 21.03/21.27  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H27b. zenon_intro zenon_H27a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H27a). zenon_intro zenon_H27d. zenon_intro zenon_H27c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H27c). zenon_intro zenon_H27f. zenon_intro zenon_H27e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H27e). zenon_intro zenon_H281. zenon_intro zenon_H280.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H280). zenon_intro zenon_H283. zenon_intro zenon_H282.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H282). zenon_intro zenon_H285. zenon_intro zenon_H284.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H284). zenon_intro zenon_H287. zenon_intro zenon_H286.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H286). zenon_intro zenon_H1f9. zenon_intro zenon_H288.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H288). zenon_intro zenon_H28a. zenon_intro zenon_H289.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H289). zenon_intro zenon_H19c. zenon_intro zenon_H28b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H28b). zenon_intro zenon_H28d. zenon_intro zenon_H28c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H28c). zenon_intro zenon_H28f. zenon_intro zenon_H28e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H28e). zenon_intro zenon_H254. zenon_intro zenon_H290.
% 21.03/21.27  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H1c5. zenon_intro zenon_H291.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H291). zenon_intro zenon_H293. zenon_intro zenon_H292.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H292). zenon_intro zenon_H295. zenon_intro zenon_H294.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H294). zenon_intro zenon_H297. zenon_intro zenon_H296.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H296). zenon_intro zenon_H299. zenon_intro zenon_H298.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H298). zenon_intro zenon_H1c7. zenon_intro zenon_H29a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H29a). zenon_intro zenon_H29c. zenon_intro zenon_H29b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H29b). zenon_intro zenon_H29e. zenon_intro zenon_H29d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H29d). zenon_intro zenon_H2a0. zenon_intro zenon_H29f.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H29f). zenon_intro zenon_H2a2. zenon_intro zenon_H2a1.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2a1). zenon_intro zenon_H1a6. zenon_intro zenon_H2a3.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2a3). zenon_intro zenon_H2a5. zenon_intro zenon_H2a4.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2a4). zenon_intro zenon_H2a7. zenon_intro zenon_H2a6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2a6). zenon_intro zenon_H2a9. zenon_intro zenon_H2a8.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2a8). zenon_intro zenon_H2ab. zenon_intro zenon_H2aa.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2aa). zenon_intro zenon_H2ad. zenon_intro zenon_H2ac.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ac). zenon_intro zenon_H1be. zenon_intro zenon_H2ae.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ae). zenon_intro zenon_H1ab. zenon_intro zenon_H2af.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2af). zenon_intro zenon_H2b1. zenon_intro zenon_H2b0.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b0). zenon_intro zenon_H2b3. zenon_intro zenon_H2b2.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H1aa. zenon_intro zenon_H2b4.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b4). zenon_intro zenon_H163. zenon_intro zenon_H2b5.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b5). zenon_intro zenon_H2b7. zenon_intro zenon_H2b6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b6). zenon_intro zenon_H2b9. zenon_intro zenon_H2b8.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2b8). zenon_intro zenon_H2bb. zenon_intro zenon_H2ba.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ba). zenon_intro zenon_H2bd. zenon_intro zenon_H2bc.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2bc). zenon_intro zenon_H1a9. zenon_intro zenon_H2be.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2be). zenon_intro zenon_H183. zenon_intro zenon_H2bf.
% 21.03/21.27  apply (zenon_and_s _ _ ax3). zenon_intro zenon_H2c1. zenon_intro zenon_H2c0.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2c0). zenon_intro zenon_H2c3. zenon_intro zenon_H2c2.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2c2). zenon_intro zenon_H2c5. zenon_intro zenon_H2c4.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2c4). zenon_intro zenon_H2c7. zenon_intro zenon_H2c6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2c6). zenon_intro zenon_H2c9. zenon_intro zenon_H2c8.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2c8). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H2cd. zenon_intro zenon_H2cc.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2cc). zenon_intro zenon_H20d. zenon_intro zenon_H2ce.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H2d0. zenon_intro zenon_H2cf.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2cf). zenon_intro zenon_H106. zenon_intro zenon_H2d1.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2d1). zenon_intro zenon_H2d3. zenon_intro zenon_H2d2.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2d2). zenon_intro zenon_H2d5. zenon_intro zenon_H2d4.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2d4). zenon_intro zenon_H257. zenon_intro zenon_H2d6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_H2d8. zenon_intro zenon_H2d7.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2d7). zenon_intro zenon_H208. zenon_intro zenon_H2d9.
% 21.03/21.27  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H56. zenon_intro zenon_H2da.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2da). zenon_intro zenon_H2dc. zenon_intro zenon_H2db.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2db). zenon_intro zenon_H2de. zenon_intro zenon_H2dd.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2dd). zenon_intro zenon_H2e0. zenon_intro zenon_H2df.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2df). zenon_intro zenon_H2e2. zenon_intro zenon_H2e1.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2e1). zenon_intro zenon_H2e4. zenon_intro zenon_H2e3.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2e3). zenon_intro zenon_H2e6. zenon_intro zenon_H2e5.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2e5). zenon_intro zenon_H2e8. zenon_intro zenon_H2e7.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2e7). zenon_intro zenon_H2ea. zenon_intro zenon_H2e9.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2e9). zenon_intro zenon_H2ec. zenon_intro zenon_H2eb.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2eb). zenon_intro zenon_H112. zenon_intro zenon_H2ed.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ed). zenon_intro zenon_H2ef. zenon_intro zenon_H2ee.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2ee). zenon_intro zenon_H2f1. zenon_intro zenon_H2f0.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f0). zenon_intro zenon_H2f3. zenon_intro zenon_H2f2.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f2). zenon_intro zenon_H2f5. zenon_intro zenon_H2f4.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f4). zenon_intro zenon_H2f7. zenon_intro zenon_H2f6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f6). zenon_intro zenon_H127. zenon_intro zenon_H2f8.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f8). zenon_intro zenon_H115. zenon_intro zenon_H2f9.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2f9). zenon_intro zenon_H2fb. zenon_intro zenon_H2fa.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2fa). zenon_intro zenon_H2fd. zenon_intro zenon_H2fc.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_H2ff. zenon_intro zenon_H2fe.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H2fe). zenon_intro zenon_H301. zenon_intro zenon_H300.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H300). zenon_intro zenon_H303. zenon_intro zenon_H302.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H302). zenon_intro zenon_H305. zenon_intro zenon_H304.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H304). zenon_intro zenon_H307. zenon_intro zenon_H306.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H306). zenon_intro zenon_H309. zenon_intro zenon_H308.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H114. zenon_intro zenon_H30a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H30a). zenon_intro zenon_Hd9. zenon_intro zenon_H30b.
% 21.03/21.27  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H30d. zenon_intro zenon_H30c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H30c). zenon_intro zenon_H30f. zenon_intro zenon_H30e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H30e). zenon_intro zenon_H17d. zenon_intro zenon_H310.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H310). zenon_intro zenon_H312. zenon_intro zenon_H311.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H311). zenon_intro zenon_H314. zenon_intro zenon_H313.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H313). zenon_intro zenon_H316. zenon_intro zenon_H315.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H318. zenon_intro zenon_H317.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H317). zenon_intro zenon_H31a. zenon_intro zenon_H319.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H319). zenon_intro zenon_H31c. zenon_intro zenon_H31b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H31b). zenon_intro zenon_H18d. zenon_intro zenon_H31d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H31d). zenon_intro zenon_H31f. zenon_intro zenon_H31e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H196. zenon_intro zenon_H320.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H320). zenon_intro zenon_H322. zenon_intro zenon_H321.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H8c. zenon_intro zenon_H323.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H323). zenon_intro zenon_H7f. zenon_intro zenon_H324.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H324). zenon_intro zenon_H326. zenon_intro zenon_H325.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H325). zenon_intro zenon_H132. zenon_intro zenon_H327.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_H9c. zenon_intro zenon_H328.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H328). zenon_intro zenon_H1fa. zenon_intro zenon_H329.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H329). zenon_intro zenon_H16b. zenon_intro zenon_H32a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H32a). zenon_intro zenon_H32c. zenon_intro zenon_H32b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H32b). zenon_intro zenon_H171. zenon_intro zenon_H32d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H32d). zenon_intro zenon_H1e5. zenon_intro zenon_H32e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H32e). zenon_intro zenon_H330. zenon_intro zenon_H32f.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H32f). zenon_intro zenon_H332. zenon_intro zenon_H331.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H331). zenon_intro zenon_H334. zenon_intro zenon_H333.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H333). zenon_intro zenon_H336. zenon_intro zenon_H335.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H335). zenon_intro zenon_H338. zenon_intro zenon_H337.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H337). zenon_intro zenon_H33a. zenon_intro zenon_H339.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H339). zenon_intro zenon_H33c. zenon_intro zenon_H33b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H33b). zenon_intro zenon_H33e. zenon_intro zenon_H33d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H33d). zenon_intro zenon_H164. zenon_intro zenon_H33f.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H33f). zenon_intro zenon_H341. zenon_intro zenon_H340.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H343. zenon_intro zenon_H342.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H342). zenon_intro zenon_H345. zenon_intro zenon_H344.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H344). zenon_intro zenon_H347. zenon_intro zenon_H346.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H346). zenon_intro zenon_H349. zenon_intro zenon_H348.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H348). zenon_intro zenon_H34b. zenon_intro zenon_H34a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H34d. zenon_intro zenon_H34c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H34c). zenon_intro zenon_H159. zenon_intro zenon_H34e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H350. zenon_intro zenon_H34f.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H34f). zenon_intro zenon_H1e. zenon_intro zenon_H351.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H353. zenon_intro zenon_H352.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H352). zenon_intro zenon_H242. zenon_intro zenon_H354.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H1c1. zenon_intro zenon_H355.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H355). zenon_intro zenon_H357. zenon_intro zenon_H356.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H356). zenon_intro zenon_H358. zenon_intro zenon_H15d.
% 21.03/21.27  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H35a. zenon_intro zenon_H359.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H35c. zenon_intro zenon_H35b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_Hd3. zenon_intro zenon_H35d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H35f. zenon_intro zenon_H35e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H361. zenon_intro zenon_H360.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H360). zenon_intro zenon_H363. zenon_intro zenon_H362.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H362). zenon_intro zenon_H365. zenon_intro zenon_H364.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H364). zenon_intro zenon_Hfc. zenon_intro zenon_H366.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H366). zenon_intro zenon_H368. zenon_intro zenon_H367.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H367). zenon_intro zenon_He3. zenon_intro zenon_H369.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H369). zenon_intro zenon_H36b. zenon_intro zenon_H36a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_Hec. zenon_intro zenon_H36c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_H36e. zenon_intro zenon_H36d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H36d). zenon_intro zenon_H94. zenon_intro zenon_H36f.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_H4e. zenon_intro zenon_H370.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H370). zenon_intro zenon_H372. zenon_intro zenon_H371.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_Hbb. zenon_intro zenon_H373.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_Hab. zenon_intro zenon_H374.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H374). zenon_intro zenon_H1dd. zenon_intro zenon_H375.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_Hc1. zenon_intro zenon_H376.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H376). zenon_intro zenon_H1cd. zenon_intro zenon_H377.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H377). zenon_intro zenon_Hc7. zenon_intro zenon_H378.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H378). zenon_intro zenon_H1e1. zenon_intro zenon_H379.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H379). zenon_intro zenon_H37b. zenon_intro zenon_H37a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H37a). zenon_intro zenon_H37d. zenon_intro zenon_H37c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_H37f. zenon_intro zenon_H37e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H37e). zenon_intro zenon_H381. zenon_intro zenon_H380.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H380). zenon_intro zenon_H383. zenon_intro zenon_H382.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H382). zenon_intro zenon_H385. zenon_intro zenon_H384.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H384). zenon_intro zenon_H387. zenon_intro zenon_H386.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H386). zenon_intro zenon_H389. zenon_intro zenon_H388.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H388). zenon_intro zenon_H38b. zenon_intro zenon_H38a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H38a). zenon_intro zenon_H38d. zenon_intro zenon_H38c.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_H38f. zenon_intro zenon_H38e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H391. zenon_intro zenon_H390.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_H393. zenon_intro zenon_H392.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H392). zenon_intro zenon_H395. zenon_intro zenon_H394.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H397. zenon_intro zenon_H396.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H396). zenon_intro zenon_H399. zenon_intro zenon_H398.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H398). zenon_intro zenon_H103. zenon_intro zenon_H39a.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H39a). zenon_intro zenon_H39c. zenon_intro zenon_H39b.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H39b). zenon_intro zenon_H36. zenon_intro zenon_H39d.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H39d). zenon_intro zenon_H39f. zenon_intro zenon_H39e.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_H23e. zenon_intro zenon_H3a0.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H12a. zenon_intro zenon_H3a1.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a1). zenon_intro zenon_H3a3. zenon_intro zenon_H3a2.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H3a4. zenon_intro zenon_H204.
% 21.03/21.27  apply (zenon_and_s _ _ ax7). zenon_intro zenon_H7d. zenon_intro zenon_H3a5.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a5). zenon_intro zenon_Ha3. zenon_intro zenon_H3a6.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H75. zenon_intro zenon_H3a7.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a7). zenon_intro zenon_H29. zenon_intro zenon_H3a8.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3a8). zenon_intro zenon_H6c. zenon_intro zenon_H3a9.
% 21.03/21.27  apply (zenon_and_s _ _ ax8). zenon_intro zenon_H4b. zenon_intro zenon_H3aa.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_Hb2. zenon_intro zenon_H3ab.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3ab). zenon_intro zenon_H60. zenon_intro zenon_H3ac.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3ac). zenon_intro zenon_H41. zenon_intro zenon_H3ad.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H7a. zenon_intro zenon_H3ae.
% 21.03/21.27  apply (zenon_and_s _ _ ax10). zenon_intro zenon_H3b0. zenon_intro zenon_H3af.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3af). zenon_intro zenon_H3b2. zenon_intro zenon_H3b1.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3b1). zenon_intro zenon_H3b4. zenon_intro zenon_H3b3.
% 21.03/21.27  apply (zenon_and_s _ _ ax11). zenon_intro zenon_H3b6. zenon_intro zenon_H3b5.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3b5). zenon_intro zenon_H3b8. zenon_intro zenon_H3b7.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H3ba. zenon_intro zenon_H3b9.
% 21.03/21.27  apply (zenon_and_s _ _ ax12). zenon_intro zenon_H80. zenon_intro zenon_H3bb.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3bb). zenon_intro zenon_H1f. zenon_intro zenon_H1c.
% 21.03/21.27  apply (zenon_and_s _ _ ax13). zenon_intro zenon_H14. zenon_intro zenon_H3bc.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H37. zenon_intro zenon_H34.
% 21.03/21.27  apply (zenon_and_s _ _ ax17). zenon_intro zenon_H1ec. zenon_intro zenon_H3bd.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3bd). zenon_intro zenon_H13. zenon_intro zenon_H3be.
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H87. zenon_intro zenon_H13b.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H3c0. zenon_intro zenon_H3bf.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_H3bf). zenon_intro zenon_H3c2. zenon_intro zenon_H3c1.
% 21.03/21.27  apply (zenon_notor_s _ _ zenon_H3c1). zenon_intro zenon_H3c4. zenon_intro zenon_H3c3.
% 21.03/21.27  apply (zenon_notand_s _ _ zenon_H3c3); [ zenon_intro zenon_H3c6 | zenon_intro zenon_H3c5 ].
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.27  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.27  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.27  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H3c6.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H87.
% 21.03/21.27  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3cb].
% 21.03/21.27  cut (((h4 (e11)) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3cc].
% 21.03/21.27  congruence.
% 21.03/21.27  elim (classic ((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [ zenon_intro zenon_H3cd | zenon_intro zenon_H3ce ].
% 21.03/21.27  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10)))) = ((h4 (e11)) = (h4 (op1 (e10) (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H3cc.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H3cd.
% 21.03/21.27  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3ce].
% 21.03/21.27  cut (((h4 (op1 (e10) (e10))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H3cf].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op1 (e10) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H3d0].
% 21.03/21.27  congruence.
% 21.03/21.27  exact (zenon_H3d0 zenon_H6a).
% 21.03/21.27  apply zenon_H3ce. apply refl_equal.
% 21.03/21.27  apply zenon_H3ce. apply refl_equal.
% 21.03/21.27  elim (classic ((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [ zenon_intro zenon_H3d1 | zenon_intro zenon_H3d2 ].
% 21.03/21.27  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10)))) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e10)) (h4 (e10))))).
% 21.03/21.27  intro zenon_D_pnotp.
% 21.03/21.27  apply zenon_H3cb.
% 21.03/21.27  rewrite <- zenon_D_pnotp.
% 21.03/21.27  exact zenon_H3d1.
% 21.03/21.27  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3d2].
% 21.03/21.27  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H3d3].
% 21.03/21.27  congruence.
% 21.03/21.27  cut (((op2 (e20) (e20)) = (e21)) = ((op2 (h4 (e10)) (h4 (e10))) = (op2 (op2 (e23) (e23)) (e23)))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3d3.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H4c.
% 21.03/21.28  cut (((e21) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H3d4].
% 21.03/21.28  cut (((op2 (e20) (e20)) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3d5].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [ zenon_intro zenon_H3d1 | zenon_intro zenon_H3d2 ].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10)))) = ((op2 (e20) (e20)) = (op2 (h4 (e10)) (h4 (e10))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3d5.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H3d1.
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3d2].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H3d6].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.28  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.28  congruence.
% 21.03/21.28  apply (zenon_L1_); trivial.
% 21.03/21.28  apply (zenon_L1_); trivial.
% 21.03/21.28  apply zenon_H3d2. apply refl_equal.
% 21.03/21.28  apply zenon_H3d2. apply refl_equal.
% 21.03/21.28  exact (zenon_H3d4 zenon_H37).
% 21.03/21.28  apply zenon_H3d2. apply refl_equal.
% 21.03/21.28  apply zenon_H3d2. apply refl_equal.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H3c5); [ zenon_intro zenon_H3da | zenon_intro zenon_H3d9 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H54 | zenon_intro zenon_H3de ].
% 21.03/21.28  apply (zenon_L23_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3de); [ zenon_intro zenon_H5e | zenon_intro zenon_H3df ].
% 21.03/21.28  apply (zenon_L25_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3df); [ zenon_intro zenon_H3e0 | zenon_intro zenon_Ha8 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H92. zenon_intro zenon_H3e1.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b3); [ zenon_intro zenon_H70 | zenon_intro zenon_H3e5 ].
% 21.03/21.28  apply (zenon_L29_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e5); [ zenon_intro zenon_H73 | zenon_intro zenon_H3e6 ].
% 21.03/21.28  apply (zenon_L31_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e6); [ zenon_intro zenon_H3e7 | zenon_intro zenon_H99 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H8a. zenon_intro zenon_H1a8.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H2e6); [ zenon_intro zenon_H58 | zenon_intro zenon_H3e8 ].
% 21.03/21.28  apply (zenon_L32_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e8); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3e9 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.28  apply (zenon_L33_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.28  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.28  apply (zenon_L35_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H29c); [ zenon_intro zenon_H6b | zenon_intro zenon_H3eb ].
% 21.03/21.28  apply (zenon_L28_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3eb); [ zenon_intro zenon_H3ed | zenon_intro zenon_H3ec ].
% 21.03/21.28  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3da.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H1ec.
% 21.03/21.28  cut (((e23) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3ee].
% 21.03/21.28  cut (((h4 (e13)) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3ef].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [ zenon_intro zenon_H3f0 | zenon_intro zenon_H3f1 ].
% 21.03/21.28  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11)))) = ((h4 (e13)) = (h4 (op1 (e10) (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3ef.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H3f0.
% 21.03/21.28  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f1].
% 21.03/21.28  cut (((h4 (op1 (e10) (e11))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3f2].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op1 (e10) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H3f3].
% 21.03/21.28  congruence.
% 21.03/21.28  exact (zenon_H3f3 zenon_H3ed).
% 21.03/21.28  apply zenon_H3f1. apply refl_equal.
% 21.03/21.28  apply zenon_H3f1. apply refl_equal.
% 21.03/21.28  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_H3f4 | zenon_intro zenon_H3f5 ].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((e23) = (op2 (h4 (e10)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3ee.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H3f4.
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f5].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H3f6].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op2 (e20) (e21)) = (e23)) = ((op2 (h4 (e10)) (h4 (e11))) = (e23))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3f6.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H3ea.
% 21.03/21.28  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 21.03/21.28  cut (((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f7].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_H3f4 | zenon_intro zenon_H3f5 ].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3f7.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H3f4.
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f5].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H3f8].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.28  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.28  congruence.
% 21.03/21.28  apply (zenon_L1_); trivial.
% 21.03/21.28  apply (zenon_L36_); trivial.
% 21.03/21.28  apply zenon_H3f5. apply refl_equal.
% 21.03/21.28  apply zenon_H3f5. apply refl_equal.
% 21.03/21.28  apply zenon_H32. apply refl_equal.
% 21.03/21.28  apply zenon_H3f5. apply refl_equal.
% 21.03/21.28  apply zenon_H3f5. apply refl_equal.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H8b | zenon_intro zenon_H90 ].
% 21.03/21.28  apply (zenon_L37_); trivial.
% 21.03/21.28  apply (zenon_L38_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e9); [ zenon_intro zenon_H93 | zenon_intro zenon_H97 ].
% 21.03/21.28  apply (zenon_L39_); trivial.
% 21.03/21.28  apply (zenon_L40_); trivial.
% 21.03/21.28  apply (zenon_L41_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_L46_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H3d9); [ zenon_intro zenon_H13d | zenon_intro zenon_H3f9 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H54 | zenon_intro zenon_H3de ].
% 21.03/21.28  apply (zenon_L23_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3de); [ zenon_intro zenon_H5e | zenon_intro zenon_H3df ].
% 21.03/21.28  apply (zenon_L25_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3df); [ zenon_intro zenon_H3e0 | zenon_intro zenon_Ha8 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H92. zenon_intro zenon_H3e1.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b3); [ zenon_intro zenon_H70 | zenon_intro zenon_H3e5 ].
% 21.03/21.28  apply (zenon_L29_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e5); [ zenon_intro zenon_H73 | zenon_intro zenon_H3e6 ].
% 21.03/21.28  apply (zenon_L31_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e6); [ zenon_intro zenon_H3e7 | zenon_intro zenon_H99 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H8a. zenon_intro zenon_H1a8.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H2e2); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H3fa ].
% 21.03/21.28  apply (zenon_L51_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fa); [ zenon_intro zenon_Hfd | zenon_intro zenon_H3fb ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H2e4); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H3fc ].
% 21.03/21.28  apply (zenon_L51_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fc); [ zenon_intro zenon_Hf0 | zenon_intro zenon_H3fd ].
% 21.03/21.28  apply (zenon_L72_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fd); [ zenon_intro zenon_H11e | zenon_intro zenon_H12b ].
% 21.03/21.28  apply (zenon_L77_); trivial.
% 21.03/21.28  apply (zenon_L78_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fb); [ zenon_intro zenon_H13f | zenon_intro zenon_H1ce ].
% 21.03/21.28  apply (zenon_L110_); trivial.
% 21.03/21.28  apply (zenon_L111_); trivial.
% 21.03/21.28  apply (zenon_L41_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_L46_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H3f9); [ zenon_intro zenon_H3ff | zenon_intro zenon_H3fe ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H68 | zenon_intro zenon_H1c8 ].
% 21.03/21.28  apply (zenon_L33_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c8); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c9 ].
% 21.03/21.28  exact (zenon_H1c6 zenon_H1ca).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1c9); [ zenon_intro zenon_H81 | zenon_intro zenon_H8f ].
% 21.03/21.28  apply (zenon_L35_); trivial.
% 21.03/21.28  cut (((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) = ((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H3ff.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H13.
% 21.03/21.28  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H400].
% 21.03/21.28  cut (((h4 (e10)) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H401].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [ zenon_intro zenon_H402 | zenon_intro zenon_H403 ].
% 21.03/21.28  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13)))) = ((h4 (e10)) = (h4 (op1 (e10) (e13))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H401.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H402.
% 21.03/21.28  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H403].
% 21.03/21.28  cut (((h4 (op1 (e10) (e13))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H404].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op1 (e10) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 21.03/21.28  congruence.
% 21.03/21.28  exact (zenon_H71 zenon_H8f).
% 21.03/21.28  apply zenon_H403. apply refl_equal.
% 21.03/21.28  apply zenon_H403. apply refl_equal.
% 21.03/21.28  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H405 | zenon_intro zenon_H406 ].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e10)) (h4 (e13))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H400.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H405.
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H406].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H407].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op2 (e20) (e23)) = (e20)) = ((op2 (h4 (e10)) (h4 (e13))) = (op2 (e23) (op2 (e23) (e23))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H407.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H5c.
% 21.03/21.28  cut (((e20) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 21.03/21.28  cut (((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H408].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H405 | zenon_intro zenon_H406 ].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H408.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H405.
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H406].
% 21.03/21.28  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H409].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 21.03/21.28  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 21.03/21.28  congruence.
% 21.03/21.28  apply (zenon_L1_); trivial.
% 21.03/21.28  exact (zenon_H1f8 zenon_H1ec).
% 21.03/21.28  apply zenon_H406. apply refl_equal.
% 21.03/21.28  apply zenon_H406. apply refl_equal.
% 21.03/21.28  exact (zenon_H214 zenon_H14).
% 21.03/21.28  apply zenon_H406. apply refl_equal.
% 21.03/21.28  apply zenon_H406. apply refl_equal.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H3fe); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H40a ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H2e4); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H3fc ].
% 21.03/21.28  apply (zenon_L51_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fc); [ zenon_intro zenon_Hf0 | zenon_intro zenon_H3fd ].
% 21.03/21.28  apply (zenon_L114_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3fd); [ zenon_intro zenon_H11e | zenon_intro zenon_H12b ].
% 21.03/21.28  apply (zenon_L77_); trivial.
% 21.03/21.28  apply (zenon_L78_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H40a); [ zenon_intro zenon_H40c | zenon_intro zenon_H40b ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  cut (((h4 (e10)) = (op2 (e23) (op2 (e23) (e23)))) = ((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H40c.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H13.
% 21.03/21.28  cut (((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H40d].
% 21.03/21.28  cut (((h4 (e10)) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H40e].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [ zenon_intro zenon_H40f | zenon_intro zenon_H410 ].
% 21.03/21.28  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11)))) = ((h4 (e10)) = (h4 (op1 (e11) (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H40e.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H40f.
% 21.03/21.28  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H410].
% 21.03/21.28  cut (((h4 (op1 (e11) (e11))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H411].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H412].
% 21.03/21.28  congruence.
% 21.03/21.28  exact (zenon_H412 zenon_H74).
% 21.03/21.28  apply zenon_H410. apply refl_equal.
% 21.03/21.28  apply zenon_H410. apply refl_equal.
% 21.03/21.28  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H413 | zenon_intro zenon_H414 ].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((op2 (e23) (op2 (e23) (e23))) = (op2 (h4 (e11)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H40d.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H413.
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H414].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H415].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op2 (e21) (e21)) = (e20)) = ((op2 (h4 (e11)) (h4 (e11))) = (op2 (e23) (op2 (e23) (e23))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H415.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H5f.
% 21.03/21.28  cut (((e20) = (op2 (e23) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 21.03/21.28  cut (((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H416].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H413 | zenon_intro zenon_H414 ].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H416.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H413.
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H414].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H417].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.28  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.28  congruence.
% 21.03/21.28  apply (zenon_L36_); trivial.
% 21.03/21.28  apply (zenon_L36_); trivial.
% 21.03/21.28  apply zenon_H414. apply refl_equal.
% 21.03/21.28  apply zenon_H414. apply refl_equal.
% 21.03/21.28  exact (zenon_H214 zenon_H14).
% 21.03/21.28  apply zenon_H414. apply refl_equal.
% 21.03/21.28  apply zenon_H414. apply refl_equal.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H40b); [ zenon_intro zenon_H419 | zenon_intro zenon_H418 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.28  exact (zenon_H113 zenon_H117).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.28  apply (zenon_L52_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1a6); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ac ].
% 21.03/21.28  exact (zenon_H1a7 zenon_H1ad).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1ac); [ zenon_intro zenon_H19 | zenon_intro zenon_H1ae ].
% 21.03/21.28  apply (zenon_L80_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H1ae); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H172 ].
% 21.03/21.28  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H419.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H87.
% 21.03/21.28  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H41a].
% 21.03/21.28  cut (((h4 (e11)) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H41b].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [ zenon_intro zenon_H41c | zenon_intro zenon_H41d ].
% 21.03/21.28  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12)))) = ((h4 (e11)) = (h4 (op1 (e11) (e12))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H41b.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H41c.
% 21.03/21.28  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H41d].
% 21.03/21.28  cut (((h4 (op1 (e11) (e12))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H41e].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op1 (e11) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H41f].
% 21.03/21.28  congruence.
% 21.03/21.28  exact (zenon_H41f zenon_H1a0).
% 21.03/21.28  apply zenon_H41d. apply refl_equal.
% 21.03/21.28  apply zenon_H41d. apply refl_equal.
% 21.03/21.28  elim (classic ((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [ zenon_intro zenon_H420 | zenon_intro zenon_H421 ].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12)))) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e11)) (h4 (e12))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H41a.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H420.
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H421].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H422].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((op2 (e21) (e22)) = (e21)) = ((op2 (h4 (e11)) (h4 (e12))) = (op2 (op2 (e23) (e23)) (e23)))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H422.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H10a.
% 21.03/21.28  cut (((e21) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H3d4].
% 21.03/21.28  cut (((op2 (e21) (e22)) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H423].
% 21.03/21.28  congruence.
% 21.03/21.28  elim (classic ((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [ zenon_intro zenon_H420 | zenon_intro zenon_H421 ].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12)))) = ((op2 (e21) (e22)) = (op2 (h4 (e11)) (h4 (e12))))).
% 21.03/21.28  intro zenon_D_pnotp.
% 21.03/21.28  apply zenon_H423.
% 21.03/21.28  rewrite <- zenon_D_pnotp.
% 21.03/21.28  exact zenon_H420.
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H421].
% 21.03/21.28  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H424].
% 21.03/21.28  congruence.
% 21.03/21.28  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 21.03/21.28  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 21.03/21.28  congruence.
% 21.03/21.28  apply (zenon_L36_); trivial.
% 21.03/21.28  apply (zenon_L83_); trivial.
% 21.03/21.28  apply zenon_H421. apply refl_equal.
% 21.03/21.28  apply zenon_H421. apply refl_equal.
% 21.03/21.28  exact (zenon_H3d4 zenon_H37).
% 21.03/21.28  apply zenon_H421. apply refl_equal.
% 21.03/21.28  apply zenon_H421. apply refl_equal.
% 21.03/21.28  apply (zenon_L91_); trivial.
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H418); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H425 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3ba); [ zenon_intro zenon_H427 | zenon_intro zenon_H426 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H427). zenon_intro zenon_Hb7. zenon_intro zenon_H53.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  exact (zenon_H53 zenon_H4f).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H115); [ zenon_intro zenon_H4f | zenon_intro zenon_H119 ].
% 21.03/21.28  exact (zenon_H53 zenon_H4f).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_Hbc | zenon_intro zenon_H11a ].
% 21.03/21.28  apply (zenon_L53_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdd ].
% 21.03/21.28  apply (zenon_L47_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1dc | zenon_intro zenon_H20e ].
% 21.03/21.28  apply (zenon_L115_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H20e); [ zenon_intro zenon_Hc8 | zenon_intro zenon_H20f ].
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H20f); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1eb ].
% 21.03/21.28  apply (zenon_L116_); trivial.
% 21.03/21.28  apply (zenon_L119_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H426); [ zenon_intro zenon_H429 | zenon_intro zenon_H428 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H429). zenon_intro zenon_H42b. zenon_intro zenon_H42a.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.28  exact (zenon_H113 zenon_H117).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.28  apply (zenon_L52_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.28  exact (zenon_H42a zenon_H10a).
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H428); [ zenon_intro zenon_H201 | zenon_intro zenon_H42c ].
% 21.03/21.28  apply (zenon_L120_); trivial.
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H42c). zenon_intro zenon_H42d. zenon_intro zenon_H209.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.28  exact (zenon_H113 zenon_H117).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.28  apply (zenon_L52_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.28  apply (zenon_L54_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.28  apply (zenon_L123_); trivial.
% 21.03/21.28  apply (zenon_L16_); trivial.
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H425); [ zenon_intro zenon_H217 | zenon_intro zenon_H42e ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H56); [ zenon_intro zenon_H49 | zenon_intro zenon_H59 ].
% 21.03/21.28  apply (zenon_L20_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 21.03/21.28  exact (zenon_H55 zenon_H5b).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H5a); [ zenon_intro zenon_H4f | zenon_intro zenon_H5c ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H127); [ zenon_intro zenon_H11d | zenon_intro zenon_H128 ].
% 21.03/21.28  apply (zenon_L126_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H128); [ zenon_intro zenon_He2 | zenon_intro zenon_H129 ].
% 21.03/21.28  apply (zenon_L74_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H129); [ zenon_intro zenon_Hac | zenon_intro zenon_H121 ].
% 21.03/21.28  apply (zenon_L47_); trivial.
% 21.03/21.28  apply (zenon_L76_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H42e); [ zenon_intro zenon_H223 | zenon_intro zenon_H42f ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H54 | zenon_intro zenon_H3de ].
% 21.03/21.28  apply (zenon_L23_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3de); [ zenon_intro zenon_H5e | zenon_intro zenon_H3df ].
% 21.03/21.28  apply (zenon_L25_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3df); [ zenon_intro zenon_H3e0 | zenon_intro zenon_Ha8 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H92. zenon_intro zenon_H3e1.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b3); [ zenon_intro zenon_H70 | zenon_intro zenon_H3e5 ].
% 21.03/21.28  apply (zenon_L29_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e5); [ zenon_intro zenon_H73 | zenon_intro zenon_H3e6 ].
% 21.03/21.28  apply (zenon_L31_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e6); [ zenon_intro zenon_H3e7 | zenon_intro zenon_H99 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H8a. zenon_intro zenon_H1a8.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.28  exact (zenon_H113 zenon_H117).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.28  apply (zenon_L52_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H115); [ zenon_intro zenon_H4f | zenon_intro zenon_H119 ].
% 21.03/21.28  apply (zenon_L22_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_Hbc | zenon_intro zenon_H11a ].
% 21.03/21.28  apply (zenon_L53_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdd ].
% 21.03/21.28  apply (zenon_L47_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H114); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H11b ].
% 21.03/21.28  apply (zenon_L58_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_Hea | zenon_intro zenon_H11c ].
% 21.03/21.28  apply (zenon_L133_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10c | zenon_intro zenon_H40 ].
% 21.03/21.28  apply (zenon_L71_); trivial.
% 21.03/21.28  apply (zenon_L16_); trivial.
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_L41_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_L46_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H42f); [ zenon_intro zenon_H22f | zenon_intro zenon_H430 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H54 | zenon_intro zenon_H3de ].
% 21.03/21.28  apply (zenon_L23_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3de); [ zenon_intro zenon_H5e | zenon_intro zenon_H3df ].
% 21.03/21.28  apply (zenon_L25_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3df); [ zenon_intro zenon_H3e0 | zenon_intro zenon_Ha8 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H92. zenon_intro zenon_H3e1.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b3); [ zenon_intro zenon_H70 | zenon_intro zenon_H3e5 ].
% 21.03/21.28  apply (zenon_L29_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e5); [ zenon_intro zenon_H73 | zenon_intro zenon_H3e6 ].
% 21.03/21.28  apply (zenon_L31_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e6); [ zenon_intro zenon_H3e7 | zenon_intro zenon_H99 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H8a. zenon_intro zenon_H1a8.
% 21.03/21.28  apply (zenon_L135_); trivial.
% 21.03/21.28  apply (zenon_L41_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_L46_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H430); [ zenon_intro zenon_H235 | zenon_intro zenon_H431 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H16c | zenon_intro zenon_H184 ].
% 21.03/21.28  apply (zenon_L90_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_H172 | zenon_intro zenon_H185 ].
% 21.03/21.28  apply (zenon_L91_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H177 | zenon_intro zenon_H28 ].
% 21.03/21.28  apply (zenon_L136_); trivial.
% 21.03/21.28  apply (zenon_L8_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H431); [ zenon_intro zenon_H24e | zenon_intro zenon_H432 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hda ].
% 21.03/21.28  apply (zenon_L54_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hdb ].
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_Hcd | zenon_intro zenon_H40 ].
% 21.03/21.28  apply (zenon_L143_); trivial.
% 21.03/21.28  apply (zenon_L16_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H432); [ zenon_intro zenon_H261 | zenon_intro zenon_H433 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b6); [ zenon_intro zenon_H47 | zenon_intro zenon_H3db ].
% 21.03/21.28  apply (zenon_L18_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_H3dd | zenon_intro zenon_H3dc ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H5f. zenon_intro zenon_H113.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b8); [ zenon_intro zenon_H3c8 | zenon_intro zenon_H3c7 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H4c. zenon_intro zenon_H55.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b0); [ zenon_intro zenon_H66 | zenon_intro zenon_H3e2 ].
% 21.03/21.28  apply (zenon_L26_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e2); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H3e3 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H74. zenon_intro zenon_H1a7.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3b2); [ zenon_intro zenon_H3ca | zenon_intro zenon_H3c9 ].
% 21.03/21.28  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H6a. zenon_intro zenon_H1c6.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H112); [ zenon_intro zenon_H117 | zenon_intro zenon_H116 ].
% 21.03/21.28  exact (zenon_H113 zenon_H117).
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H116); [ zenon_intro zenon_H31 | zenon_intro zenon_H118 ].
% 21.03/21.28  apply (zenon_L52_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H10a | zenon_intro zenon_Hc8 ].
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H114); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H11b ].
% 21.03/21.28  apply (zenon_L58_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_Hea | zenon_intro zenon_H11c ].
% 21.03/21.28  apply (zenon_L146_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_H10c | zenon_intro zenon_H40 ].
% 21.03/21.28  apply (zenon_L71_); trivial.
% 21.03/21.28  apply (zenon_L16_); trivial.
% 21.03/21.28  apply (zenon_L55_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c9); [ zenon_intro zenon_H17 | zenon_intro zenon_H3d7 ].
% 21.03/21.28  apply (zenon_L2_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d7); [ zenon_intro zenon_H25 | zenon_intro zenon_H2d ].
% 21.03/21.28  apply (zenon_L6_); trivial.
% 21.03/21.28  apply (zenon_L9_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha6 ].
% 21.03/21.28  apply (zenon_L43_); trivial.
% 21.03/21.28  apply (zenon_L45_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3c7); [ zenon_intro zenon_H2f | zenon_intro zenon_H3d8 ].
% 21.03/21.28  apply (zenon_L10_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H3d | zenon_intro zenon_H45 ].
% 21.03/21.28  apply (zenon_L14_); trivial.
% 21.03/21.28  apply (zenon_L17_); trivial.
% 21.03/21.28  apply (zenon_or_s _ _ zenon_H3dc); [ zenon_intro zenon_Haf | zenon_intro zenon_Hb5 ].
% 21.03/21.28  apply (zenon_L48_); trivial.
% 21.03/21.28  apply (zenon_L50_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H433); [ zenon_intro zenon_H267 | zenon_intro zenon_H434 ].
% 21.03/21.28  apply (zenon_L147_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H434); [ zenon_intro zenon_H26e | zenon_intro zenon_H435 ].
% 21.03/21.28  apply (zenon_L148_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H435); [ zenon_intro zenon_H437 | zenon_intro zenon_H436 ].
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H437). zenon_intro zenon_H12. zenon_intro zenon_H438.
% 21.03/21.28  apply (zenon_L1_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H436); [ zenon_intro zenon_H43a | zenon_intro zenon_H439 ].
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H43a). zenon_intro zenon_H43c. zenon_intro zenon_H43b.
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H43b). zenon_intro zenon_H86. zenon_intro zenon_H43d.
% 21.03/21.28  apply (zenon_L36_); trivial.
% 21.03/21.28  apply (zenon_notand_s _ _ zenon_H439); [ zenon_intro zenon_H43e | zenon_intro zenon_H274 ].
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H43e). zenon_intro zenon_H440. zenon_intro zenon_H43f.
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H43f). zenon_intro zenon_H442. zenon_intro zenon_H441.
% 21.03/21.28  apply (zenon_notor_s _ _ zenon_H441). zenon_intro zenon_H13a. zenon_intro zenon_H443.
% 21.03/21.28  apply (zenon_L83_); trivial.
% 21.03/21.28  apply (zenon_L149_); trivial.
% 21.03/21.28  Qed.
% 21.03/21.28  % SZS output end Proof
% 21.03/21.28  (* END-PROOF *)
% 21.03/21.28  nodes searched: 1133627
% 21.03/21.28  max branch formulas: 1928
% 21.03/21.28  proof nodes created: 9948
% 21.03/21.28  formulas created: 551897
% 21.03/21.28  
%------------------------------------------------------------------------------