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

View Problem - Process Solution

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

% Computer : n025.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:29 EDT 2022

% Result   : Theorem 25.56s 25.77s
% Output   : Proof 25.56s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : ALG115+1 : TPTP v8.1.0. Released v2.7.0.
% 0.07/0.13  % Command  : run_zenon %s %d
% 0.12/0.34  % Computer : n025.cluster.edu
% 0.12/0.34  % Model    : x86_64 x86_64
% 0.12/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.34  % Memory   : 8042.1875MB
% 0.12/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit : 300
% 0.12/0.34  % WCLimit  : 600
% 0.12/0.34  % DateTime : Wed Jun  8 06:55:49 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 25.56/25.77  (* PROOF-FOUND *)
% 25.56/25.77  % SZS status Theorem
% 25.56/25.77  (* BEGIN-PROOF *)
% 25.56/25.77  % SZS output start Proof
% 25.56/25.77  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))))))))))))))))))))))))))).
% 25.56/25.77  Proof.
% 25.56/25.77  assert (zenon_L1_ : (~((h4 (e10)) = (e20))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H12 zenon_H13 zenon_H14.
% 25.56/25.77  cut (((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((h4 (e10)) = (e20))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H12.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H13.
% 25.56/25.77  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 25.56/25.77  cut (((h4 (e10)) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H16].
% 25.56/25.77  congruence.
% 25.56/25.77  apply zenon_H16. apply refl_equal.
% 25.56/25.77  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 25.56/25.77  (* end of lemma zenon_L1_ *)
% 25.56/25.77  assert (zenon_L2_ : (~((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H17 zenon_H18 zenon_H19.
% 25.56/25.77  cut (((op1 (op1 (e13) (e13)) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 25.56/25.77  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 25.56/25.77  congruence.
% 25.56/25.77  apply zenon_H1b. apply sym_equal. exact zenon_H19.
% 25.56/25.77  apply zenon_H1a. apply sym_equal. exact zenon_H18.
% 25.56/25.77  (* end of lemma zenon_L2_ *)
% 25.56/25.77  assert (zenon_L3_ : (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H1c zenon_H1d zenon_H1e zenon_H18 zenon_H19.
% 25.56/25.77  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e11) (e11)) = (op1 (e11) (e12)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H1c.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H1d.
% 25.56/25.77  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.77  cut (((e10) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1f].
% 25.56/25.77  congruence.
% 25.56/25.77  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H20 | zenon_intro zenon_H21 ].
% 25.56/25.77  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((e10) = (op1 (e11) (e11)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H1f.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H20.
% 25.56/25.77  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.77  cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 25.56/25.77  congruence.
% 25.56/25.77  exact (zenon_H22 zenon_H1e).
% 25.56/25.77  apply zenon_H21. apply refl_equal.
% 25.56/25.77  apply zenon_H21. apply refl_equal.
% 25.56/25.77  apply (zenon_L2_); trivial.
% 25.56/25.77  (* end of lemma zenon_L3_ *)
% 25.56/25.77  assert (zenon_L4_ : ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e12) (e12)) = (e10)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H1d zenon_H23 zenon_H18 zenon_H19 zenon_H24.
% 25.56/25.77  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.77  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e11) (e12)) = (op1 (e12) (e12)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H24.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H25.
% 25.56/25.77  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.77  cut (((op1 (e12) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 25.56/25.77  congruence.
% 25.56/25.77  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e12) (e12)) = (op1 (e11) (e12)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H27.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H1d.
% 25.56/25.77  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.77  cut (((e10) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 25.56/25.77  congruence.
% 25.56/25.77  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.77  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e10) = (op1 (e12) (e12)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H28.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H25.
% 25.56/25.77  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.77  cut (((op1 (e12) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 25.56/25.77  congruence.
% 25.56/25.77  exact (zenon_H29 zenon_H23).
% 25.56/25.77  apply zenon_H26. apply refl_equal.
% 25.56/25.77  apply zenon_H26. apply refl_equal.
% 25.56/25.77  apply (zenon_L2_); trivial.
% 25.56/25.77  apply zenon_H26. apply refl_equal.
% 25.56/25.77  apply zenon_H26. apply refl_equal.
% 25.56/25.77  (* end of lemma zenon_L4_ *)
% 25.56/25.77  assert (zenon_L5_ : (~((e13) = (e13))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H2a.
% 25.56/25.77  apply zenon_H2a. apply refl_equal.
% 25.56/25.77  (* end of lemma zenon_L5_ *)
% 25.56/25.77  assert (zenon_L6_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H2b zenon_H19.
% 25.56/25.77  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 25.56/25.77  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 25.56/25.77  congruence.
% 25.56/25.77  apply zenon_H1b. apply sym_equal. exact zenon_H19.
% 25.56/25.77  apply zenon_H2a. apply refl_equal.
% 25.56/25.77  (* end of lemma zenon_L6_ *)
% 25.56/25.77  assert (zenon_L7_ : (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e10) (e13)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H2c zenon_H18 zenon_H2d zenon_H19.
% 25.56/25.77  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H2c.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H18.
% 25.56/25.77  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.77  cut (((e12) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 25.56/25.77  congruence.
% 25.56/25.77  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ].
% 25.56/25.77  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e12) = (op1 (e10) (e13)))).
% 25.56/25.77  intro zenon_D_pnotp.
% 25.56/25.77  apply zenon_H2e.
% 25.56/25.77  rewrite <- zenon_D_pnotp.
% 25.56/25.77  exact zenon_H2f.
% 25.56/25.77  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 25.56/25.77  cut (((op1 (e10) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 25.56/25.77  congruence.
% 25.56/25.77  exact (zenon_H31 zenon_H2d).
% 25.56/25.77  apply zenon_H30. apply refl_equal.
% 25.56/25.77  apply zenon_H30. apply refl_equal.
% 25.56/25.77  apply (zenon_L6_); trivial.
% 25.56/25.77  (* end of lemma zenon_L7_ *)
% 25.56/25.77  assert (zenon_L8_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e13)))) -> ((op1 (e13) (e13)) = (e10)) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H32 zenon_H33.
% 25.56/25.77  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 25.56/25.77  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 25.56/25.77  congruence.
% 25.56/25.77  exact (zenon_H34 zenon_H33).
% 25.56/25.77  apply zenon_H2a. apply refl_equal.
% 25.56/25.77  (* end of lemma zenon_L8_ *)
% 25.56/25.77  assert (zenon_L9_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.77  do 0 intro. intros zenon_H18 zenon_H35 zenon_H33 zenon_H2c.
% 25.56/25.78  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H2c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H36.
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e13)) = (op1 (e10) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H38.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 25.56/25.78  cut (((e12) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e12) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H39.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H36.
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H3a zenon_H35).
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply (zenon_L8_); trivial.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L9_ *)
% 25.56/25.78  assert (zenon_L10_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e12) (e13)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H18 zenon_H3b zenon_H33 zenon_H3c.
% 25.56/25.78  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H3c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H3d.
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e13)) = (op1 (e10) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H3f.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 25.56/25.78  cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e12) = (op1 (e12) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H40.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H3d.
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H41 zenon_H3b).
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply (zenon_L8_); trivial.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L10_ *)
% 25.56/25.78  assert (zenon_L11_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e13)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H18 zenon_H42 zenon_H33 zenon_H43.
% 25.56/25.78  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H44 | zenon_intro zenon_H45 ].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H43.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H44.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e13) (e13)) = (op1 (e10) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H46.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 25.56/25.78  cut (((e12) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H44 | zenon_intro zenon_H45 ].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e12) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H47.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H44.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H48 zenon_H42).
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply (zenon_L8_); trivial.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L11_ *)
% 25.56/25.78  assert (zenon_L12_ : (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H33 zenon_H43.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.78  apply (zenon_L7_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.78  apply (zenon_L9_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.78  apply (zenon_L10_); trivial.
% 25.56/25.78  apply (zenon_L11_); trivial.
% 25.56/25.78  (* end of lemma zenon_L12_ *)
% 25.56/25.78  assert (zenon_L13_ : (~((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4c zenon_H4d zenon_H4e.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H50. apply sym_equal. exact zenon_H4e.
% 25.56/25.78  apply zenon_H4f. apply sym_equal. exact zenon_H4d.
% 25.56/25.78  (* end of lemma zenon_L13_ *)
% 25.56/25.78  assert (zenon_L14_ : (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H51 zenon_H14 zenon_H52 zenon_H4d zenon_H4e.
% 25.56/25.78  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e21) (e21)) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H51.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.78  cut (((e20) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H54 | zenon_intro zenon_H55 ].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((e20) = (op2 (e21) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H53.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H54.
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H56].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H56 zenon_H52).
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply (zenon_L13_); trivial.
% 25.56/25.78  (* end of lemma zenon_L14_ *)
% 25.56/25.78  assert (zenon_L15_ : ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e22) (e22)) = (e20)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H14 zenon_H57 zenon_H4d zenon_H4e zenon_H58.
% 25.56/25.78  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e21) (e22)) = (op2 (e22) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H58.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H59.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e22) (e22)) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H5b.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.78  cut (((e20) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e20) = (op2 (e22) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H5c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H59.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H5d zenon_H57).
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply (zenon_L13_); trivial.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L15_ *)
% 25.56/25.78  assert (zenon_L16_ : (~((e23) = (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H5e.
% 25.56/25.78  apply zenon_H5e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L16_ *)
% 25.56/25.78  assert (zenon_L17_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H5f zenon_H4e.
% 25.56/25.78  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H50. apply sym_equal. exact zenon_H4e.
% 25.56/25.78  apply zenon_H5e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L17_ *)
% 25.56/25.78  assert (zenon_L18_ : (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e20) (e23)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H60 zenon_H4d zenon_H61 zenon_H4e.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H60.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  cut (((e22) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ].
% 25.56/25.78  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e22) = (op2 (e20) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H62.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H63.
% 25.56/25.78  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 25.56/25.78  cut (((op2 (e20) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H65 zenon_H61).
% 25.56/25.78  apply zenon_H64. apply refl_equal.
% 25.56/25.78  apply zenon_H64. apply refl_equal.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  (* end of lemma zenon_L18_ *)
% 25.56/25.78  assert (zenon_L19_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))) -> ((op2 (e23) (e23)) = (e20)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H66 zenon_H67.
% 25.56/25.78  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H68 zenon_H67).
% 25.56/25.78  apply zenon_H5e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L19_ *)
% 25.56/25.78  assert (zenon_L20_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4d zenon_H69 zenon_H67 zenon_H60.
% 25.56/25.78  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H6a | zenon_intro zenon_H6b ].
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H60.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H6a.
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e23)) = (op2 (e20) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H6c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 25.56/25.78  cut (((e22) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H6a | zenon_intro zenon_H6b ].
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e22) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H6d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H6a.
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 25.56/25.78  cut (((op2 (e21) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H6e zenon_H69).
% 25.56/25.78  apply zenon_H6b. apply refl_equal.
% 25.56/25.78  apply zenon_H6b. apply refl_equal.
% 25.56/25.78  apply (zenon_L19_); trivial.
% 25.56/25.78  apply zenon_H6b. apply refl_equal.
% 25.56/25.78  apply zenon_H6b. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L20_ *)
% 25.56/25.78  assert (zenon_L21_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e23)) = (e22)) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4d zenon_H6f zenon_H67 zenon_H70.
% 25.56/25.78  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 25.56/25.78  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H70.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H71.
% 25.56/25.78  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 25.56/25.78  cut (((op2 (e22) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e23)) = (op2 (e20) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H73.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 25.56/25.78  cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H74].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 25.56/25.78  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e22) = (op2 (e22) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H74.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H71.
% 25.56/25.78  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 25.56/25.78  cut (((op2 (e22) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H75 zenon_H6f).
% 25.56/25.78  apply zenon_H72. apply refl_equal.
% 25.56/25.78  apply zenon_H72. apply refl_equal.
% 25.56/25.78  apply (zenon_L19_); trivial.
% 25.56/25.78  apply zenon_H72. apply refl_equal.
% 25.56/25.78  apply zenon_H72. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L21_ *)
% 25.56/25.78  assert (zenon_L22_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e22)) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4d zenon_H76 zenon_H67 zenon_H77.
% 25.56/25.78  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H77.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H78.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e23)) = (op2 (e20) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H7a.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 25.56/25.78  cut (((e22) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((e22) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H7b.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H78.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H7c].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H7c zenon_H76).
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply (zenon_L19_); trivial.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L22_ *)
% 25.56/25.78  assert (zenon_L23_ : (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H67 zenon_H77.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H61 | zenon_intro zenon_H7e ].
% 25.56/25.78  apply (zenon_L18_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H7e); [ zenon_intro zenon_H69 | zenon_intro zenon_H7f ].
% 25.56/25.78  apply (zenon_L20_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H7f); [ zenon_intro zenon_H6f | zenon_intro zenon_H76 ].
% 25.56/25.78  apply (zenon_L21_); trivial.
% 25.56/25.78  apply (zenon_L22_); trivial.
% 25.56/25.78  (* end of lemma zenon_L23_ *)
% 25.56/25.78  assert (zenon_L24_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H80 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_H81 zenon_H13 zenon_H82 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.78  cut (((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H81.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H13.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 25.56/25.78  cut (((h4 (e10)) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [ zenon_intro zenon_H89 | zenon_intro zenon_H8a ].
% 25.56/25.78  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10)))) = ((h4 (e10)) = (h4 (op1 (e10) (e10))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H88.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H89.
% 25.56/25.78  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 25.56/25.78  cut (((h4 (op1 (e10) (e10))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H8b].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H8c zenon_H86).
% 25.56/25.78  apply zenon_H8a. apply refl_equal.
% 25.56/25.78  apply zenon_H8a. apply refl_equal.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [ zenon_intro zenon_H8d | zenon_intro zenon_H8e ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10)))) = ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (h4 (e10)) (h4 (e10))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H87.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H8d.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H8e].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e20) (e20)) = (e20)) = ((op2 (h4 (e10)) (h4 (e10))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H8f.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H84.
% 25.56/25.78  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 25.56/25.78  cut (((op2 (e20) (e20)) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [ zenon_intro zenon_H8d | zenon_intro zenon_H8e ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10)))) = ((op2 (e20) (e20)) = (op2 (h4 (e10)) (h4 (e10))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H91.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H8d.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H8e].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e10))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.78  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L1_); trivial.
% 25.56/25.78  apply (zenon_L1_); trivial.
% 25.56/25.78  apply zenon_H8e. apply refl_equal.
% 25.56/25.78  apply zenon_H8e. apply refl_equal.
% 25.56/25.78  exact (zenon_H90 zenon_H14).
% 25.56/25.78  apply zenon_H8e. apply refl_equal.
% 25.56/25.78  apply zenon_H8e. apply refl_equal.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.78  apply (zenon_L3_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.78  apply (zenon_L4_); trivial.
% 25.56/25.78  apply (zenon_L12_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.78  apply (zenon_L14_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.78  apply (zenon_L15_); trivial.
% 25.56/25.78  apply (zenon_L23_); trivial.
% 25.56/25.78  (* end of lemma zenon_L24_ *)
% 25.56/25.78  assert (zenon_L25_ : (~((e20) = (e20))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H95.
% 25.56/25.78  apply zenon_H95. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L25_ *)
% 25.56/25.78  assert (zenon_L26_ : ((op2 (e20) (e20)) = (e20)) -> ((op2 (e20) (e20)) = (e22)) -> (~((e20) = (e22))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H84 zenon_H96 zenon_H97.
% 25.56/25.78  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H98 | zenon_intro zenon_H99 ].
% 25.56/25.78  cut (((e22) = (e22)) = ((e20) = (e22))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H97.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H98.
% 25.56/25.78  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 25.56/25.78  cut (((e22) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e20) (e20)) = (e20)) = ((e22) = (e20))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H9a.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H84.
% 25.56/25.78  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 25.56/25.78  cut (((op2 (e20) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H9b zenon_H96).
% 25.56/25.78  apply zenon_H95. apply refl_equal.
% 25.56/25.78  apply zenon_H99. apply refl_equal.
% 25.56/25.78  apply zenon_H99. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L26_ *)
% 25.56/25.78  assert (zenon_L27_ : (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e21)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H9c zenon_H4d zenon_H9d zenon_H4e.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e21)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H9c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  cut (((e22) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H54 | zenon_intro zenon_H55 ].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((e22) = (op2 (e21) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H9e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H54.
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H9f zenon_H9d).
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  (* end of lemma zenon_L27_ *)
% 25.56/25.78  assert (zenon_L28_ : (~((e10) = (e10))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Ha0.
% 25.56/25.78  apply zenon_Ha0. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L28_ *)
% 25.56/25.78  assert (zenon_L29_ : ((op1 (e10) (e10)) = (e10)) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H86 zenon_Ha1 zenon_Ha2.
% 25.56/25.78  elim (classic ((e12) = (e12))); [ zenon_intro zenon_Ha3 | zenon_intro zenon_Ha4 ].
% 25.56/25.78  cut (((e12) = (e12)) = ((e10) = (e12))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Ha2.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Ha3.
% 25.56/25.78  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 25.56/25.78  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e10)) = ((e12) = (e10))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Ha5.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H86.
% 25.56/25.78  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Ha6 zenon_Ha1).
% 25.56/25.78  apply zenon_Ha0. apply refl_equal.
% 25.56/25.78  apply zenon_Ha4. apply refl_equal.
% 25.56/25.78  apply zenon_Ha4. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L29_ *)
% 25.56/25.78  assert (zenon_L30_ : (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e11)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Ha7 zenon_H18 zenon_Ha8 zenon_H19.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e11)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Ha7.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.78  cut (((e12) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H20 | zenon_intro zenon_H21 ].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((e12) = (op1 (e11) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Ha9.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H20.
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Haa zenon_Ha8).
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  apply (zenon_L6_); trivial.
% 25.56/25.78  (* end of lemma zenon_L30_ *)
% 25.56/25.78  assert (zenon_L31_ : (~((h4 (e11)) = (e21))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hab zenon_Hac zenon_H4e.
% 25.56/25.78  cut (((h4 (e11)) = (op2 (e23) (e23))) = ((h4 (e11)) = (e21))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hab.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hac.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 25.56/25.78  cut (((h4 (e11)) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_Had. apply refl_equal.
% 25.56/25.78  apply zenon_H50. apply sym_equal. exact zenon_H4e.
% 25.56/25.78  (* end of lemma zenon_L31_ *)
% 25.56/25.78  assert (zenon_L32_ : ((op1 (e12) (e12)) = (e12)) -> ((op1 (e10) (e12)) = (e12)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hae zenon_Haf zenon_Hb0.
% 25.56/25.78  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e10) (e12)) = (op1 (e12) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb0.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H25.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (e12)) = ((op1 (e12) (e12)) = (op1 (e10) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb1.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hae.
% 25.56/25.78  cut (((e12) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_Hb2. apply sym_equal. exact zenon_Haf.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L32_ *)
% 25.56/25.78  assert (zenon_L33_ : ((op2 (e22) (e22)) = (e22)) -> ((op2 (e20) (e22)) = (e22)) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hb3 zenon_Hb4 zenon_Hb5.
% 25.56/25.78  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e20) (e22)) = (op2 (e22) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb5.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H59.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (e22)) = ((op2 (e22) (e22)) = (op2 (e20) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb6.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hb3.
% 25.56/25.78  cut (((e22) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_Hb7. apply sym_equal. exact zenon_Hb4.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L33_ *)
% 25.56/25.78  assert (zenon_L34_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e13)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H18 zenon_H42 zenon_H19 zenon_Hb8.
% 25.56/25.78  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H44 | zenon_intro zenon_H45 ].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb8.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H44.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e13) (e13)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hb9.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.78  cut (((e12) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H44 | zenon_intro zenon_H45 ].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e12) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H47.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H44.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H48 zenon_H42).
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply (zenon_L6_); trivial.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L34_ *)
% 25.56/25.78  assert (zenon_L35_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e23)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4d zenon_H76 zenon_H4e zenon_Hba.
% 25.56/25.78  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hba.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H78.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e23)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hbb.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  cut (((e22) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((e22) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H7b.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H78.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H7c].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H7c zenon_H76).
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L35_ *)
% 25.56/25.78  assert (zenon_L36_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e20) = (e22))) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (~((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H80 zenon_Hba zenon_H82 zenon_Hb8 zenon_Hbc zenon_H97 zenon_Hb0 zenon_Hbd zenon_Hbe zenon_H13 zenon_Hac zenon_Ha2 zenon_Hbf zenon_Hb5 zenon_Ha7 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43 zenon_H9c zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.78  apply (zenon_L26_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.78  apply (zenon_L27_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.78  apply (zenon_L29_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.78  apply (zenon_L30_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc6 ].
% 25.56/25.78  apply (zenon_L26_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc9 ].
% 25.56/25.78  apply (zenon_L29_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc9); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hca ].
% 25.56/25.78  cut (((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hbd.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hbe.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 25.56/25.78  cut (((h4 (e12)) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [ zenon_intro zenon_Hce | zenon_intro zenon_Hcf ].
% 25.56/25.78  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11)))) = ((h4 (e12)) = (h4 (op1 (e10) (e11))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hcd.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hce.
% 25.56/25.78  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 25.56/25.78  cut (((h4 (op1 (e10) (e11))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Hd1 zenon_Hcb).
% 25.56/25.78  apply zenon_Hcf. apply refl_equal.
% 25.56/25.78  apply zenon_Hcf. apply refl_equal.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hd3 ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e10)) (h4 (e11))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hcc.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hd2.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd3].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e20) (e21)) = (e22)) = ((op2 (h4 (e10)) (h4 (e11))) = (op2 (op2 (e23) (e23)) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hd4.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hc8.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 25.56/25.78  cut (((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hd3 ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hd6.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hd2.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hd3].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.78  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L1_); trivial.
% 25.56/25.78  apply (zenon_L31_); trivial.
% 25.56/25.78  apply zenon_Hd3. apply refl_equal.
% 25.56/25.78  apply zenon_Hd3. apply refl_equal.
% 25.56/25.78  exact (zenon_Hd5 zenon_H4d).
% 25.56/25.78  apply zenon_Hd3. apply refl_equal.
% 25.56/25.78  apply zenon_Hd3. apply refl_equal.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hca); [ zenon_intro zenon_Haf | zenon_intro zenon_H2d ].
% 25.56/25.78  apply (zenon_L32_); trivial.
% 25.56/25.78  apply (zenon_L7_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_Hc7); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H61 ].
% 25.56/25.78  apply (zenon_L33_); trivial.
% 25.56/25.78  apply (zenon_L18_); trivial.
% 25.56/25.78  apply (zenon_L34_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.78  apply (zenon_L3_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.78  apply (zenon_L4_); trivial.
% 25.56/25.78  apply (zenon_L12_); trivial.
% 25.56/25.78  apply (zenon_L35_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.78  apply (zenon_L14_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.78  apply (zenon_L15_); trivial.
% 25.56/25.78  apply (zenon_L23_); trivial.
% 25.56/25.78  (* end of lemma zenon_L36_ *)
% 25.56/25.78  assert (zenon_L37_ : ((op2 (e20) (e20)) = (e20)) -> ((op2 (e20) (e20)) = (e23)) -> (~((e20) = (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H84 zenon_Hd8 zenon_Hd9.
% 25.56/25.78  elim (classic ((e23) = (e23))); [ zenon_intro zenon_Hda | zenon_intro zenon_H5e ].
% 25.56/25.78  cut (((e23) = (e23)) = ((e20) = (e23))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hd9.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hda.
% 25.56/25.78  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.78  cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e20) (e20)) = (e20)) = ((e23) = (e20))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hdb.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H84.
% 25.56/25.78  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 25.56/25.78  cut (((op2 (e20) (e20)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Hdc zenon_Hd8).
% 25.56/25.78  apply zenon_H95. apply refl_equal.
% 25.56/25.78  apply zenon_H5e. apply refl_equal.
% 25.56/25.78  apply zenon_H5e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L37_ *)
% 25.56/25.78  assert (zenon_L38_ : ((op1 (e10) (e10)) = (e10)) -> ((op1 (e10) (e10)) = (e13)) -> (~((e10) = (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H86 zenon_Hdd zenon_Hde.
% 25.56/25.78  elim (classic ((e13) = (e13))); [ zenon_intro zenon_Hdf | zenon_intro zenon_H2a ].
% 25.56/25.78  cut (((e13) = (e13)) = ((e10) = (e13))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hde.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hdf.
% 25.56/25.78  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 25.56/25.78  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e10)) = ((e13) = (e10))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_He0.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H86.
% 25.56/25.78  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_He1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_He1 zenon_Hdd).
% 25.56/25.78  apply zenon_Ha0. apply refl_equal.
% 25.56/25.78  apply zenon_H2a. apply refl_equal.
% 25.56/25.78  apply zenon_H2a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L38_ *)
% 25.56/25.78  assert (zenon_L39_ : (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e21) (e20)) = (e20)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_He2 zenon_H14 zenon_He3 zenon_H4d zenon_H4e.
% 25.56/25.78  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e21) (e20)) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_He2.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.78  cut (((e20) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_He5 | zenon_intro zenon_He6 ].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e20) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_He4.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_He5.
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_He7 zenon_He3).
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply (zenon_L13_); trivial.
% 25.56/25.78  (* end of lemma zenon_L39_ *)
% 25.56/25.78  assert (zenon_L40_ : (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e20)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_He8 zenon_H4d zenon_He9 zenon_H4e.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e20)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_He8.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  cut (((e22) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_He5 | zenon_intro zenon_He6 ].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e22) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hea.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_He5.
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Heb zenon_He9).
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  (* end of lemma zenon_L40_ *)
% 25.56/25.78  assert (zenon_L41_ : (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e22)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hec zenon_H4d zenon_Hed zenon_H4e.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e22)) = (op2 (e21) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hec.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  cut (((e22) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e22) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hee.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hef.
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hf1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Hf1 zenon_Hed).
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  (* end of lemma zenon_L41_ *)
% 25.56/25.78  assert (zenon_L42_ : ((e21) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e23) (e23)) = (op2 (e21) (e20)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4e zenon_Hf2 zenon_Hf3.
% 25.56/25.78  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_He5 | zenon_intro zenon_He6 ].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((op2 (e23) (e23)) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hf3.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_He5.
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hf4.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((e21) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf5].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_He5 | zenon_intro zenon_He6 ].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e21) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hf5.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_He5.
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hf6].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Hf6 zenon_Hf2).
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  apply zenon_He6. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L42_ *)
% 25.56/25.78  assert (zenon_L43_ : ((op2 (e22) (e20)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hf7 zenon_H4e zenon_Hf2 zenon_Hf8.
% 25.56/25.78  elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfa ].
% 25.56/25.78  cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((op2 (e21) (e20)) = (op2 (e22) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hf8.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hf9.
% 25.56/25.78  cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hfa].
% 25.56/25.78  cut (((op2 (e22) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e22) (e20)) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hfb.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 25.56/25.78  cut (((e21) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hfc].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfa ].
% 25.56/25.78  cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e21) = (op2 (e22) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hfc.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hf9.
% 25.56/25.78  cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hfa].
% 25.56/25.78  cut (((op2 (e22) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_Hfd zenon_Hf7).
% 25.56/25.78  apply zenon_Hfa. apply refl_equal.
% 25.56/25.78  apply zenon_Hfa. apply refl_equal.
% 25.56/25.78  apply (zenon_L42_); trivial.
% 25.56/25.78  apply zenon_Hfa. apply refl_equal.
% 25.56/25.78  apply zenon_Hfa. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L43_ *)
% 25.56/25.78  assert (zenon_L44_ : ((op2 (e21) (e21)) = (e23)) -> ((op2 (e21) (e20)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hfe zenon_Hff zenon_H100.
% 25.56/25.78  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H54 | zenon_intro zenon_H55 ].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((op2 (e21) (e20)) = (op2 (e21) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H100.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H54.
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H101].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e21) (e21)) = (e23)) = ((op2 (e21) (e21)) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H101.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hfe.
% 25.56/25.78  cut (((e23) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 25.56/25.78  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply zenon_H102. apply sym_equal. exact zenon_Hff.
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  apply zenon_H55. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L44_ *)
% 25.56/25.78  assert (zenon_L45_ : (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> ((op2 (e22) (e20)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H103 zenon_H14 zenon_He2 zenon_Hf8 zenon_Hf7 zenon_H4e zenon_H4d zenon_He8 zenon_Hfe zenon_H100.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H103); [ zenon_intro zenon_He3 | zenon_intro zenon_H104 ].
% 25.56/25.78  apply (zenon_L39_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H104); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H105 ].
% 25.56/25.78  apply (zenon_L43_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H105); [ zenon_intro zenon_He9 | zenon_intro zenon_Hff ].
% 25.56/25.78  apply (zenon_L40_); trivial.
% 25.56/25.78  apply (zenon_L44_); trivial.
% 25.56/25.78  (* end of lemma zenon_L45_ *)
% 25.56/25.78  assert (zenon_L46_ : ((op1 (e10) (e10)) = (e10)) -> ((op1 (e10) (e10)) = (e11)) -> (~((e10) = (e11))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H86 zenon_H106 zenon_H107.
% 25.56/25.78  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H108 | zenon_intro zenon_H109 ].
% 25.56/25.78  cut (((e11) = (e11)) = ((e10) = (e11))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H107.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H108.
% 25.56/25.78  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 25.56/25.78  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e10)) = ((e11) = (e10))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H10a.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H86.
% 25.56/25.78  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 25.56/25.78  cut (((op1 (e10) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H10b zenon_H106).
% 25.56/25.78  apply zenon_Ha0. apply refl_equal.
% 25.56/25.78  apply zenon_H109. apply refl_equal.
% 25.56/25.78  apply zenon_H109. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L46_ *)
% 25.56/25.78  assert (zenon_L47_ : (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e11) (e10)) = (e10)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H10c zenon_H1d zenon_H10d zenon_H18 zenon_H19.
% 25.56/25.78  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H10c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1d.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.78  cut (((e10) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H10f | zenon_intro zenon_H110 ].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e10) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H10e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H10f.
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H111 zenon_H10d).
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply (zenon_L2_); trivial.
% 25.56/25.78  (* end of lemma zenon_L47_ *)
% 25.56/25.78  assert (zenon_L48_ : ((e11) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e13) (e13)) = (op1 (e11) (e10)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H19 zenon_H112 zenon_H113.
% 25.56/25.78  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H10f | zenon_intro zenon_H110 ].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((op1 (e13) (e13)) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H113.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H10f.
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H114.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((e11) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H115].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H10f | zenon_intro zenon_H110 ].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e11) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H115.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H10f.
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H116].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H116 zenon_H112).
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L48_ *)
% 25.56/25.78  assert (zenon_L49_ : ((op1 (e12) (e10)) = (e11)) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H117 zenon_H19 zenon_H112 zenon_H118.
% 25.56/25.78  elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H119 | zenon_intro zenon_H11a ].
% 25.56/25.78  cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((op1 (e11) (e10)) = (op1 (e12) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H118.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H119.
% 25.56/25.78  cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H11a].
% 25.56/25.78  cut (((op1 (e12) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H11b].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e12) (e10)) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H11b.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 25.56/25.78  cut (((e11) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H11c].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e10)) = (op1 (e12) (e10)))); [ zenon_intro zenon_H119 | zenon_intro zenon_H11a ].
% 25.56/25.78  cut (((op1 (e12) (e10)) = (op1 (e12) (e10))) = ((e11) = (op1 (e12) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H11c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H119.
% 25.56/25.78  cut (((op1 (e12) (e10)) = (op1 (e12) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H11a].
% 25.56/25.78  cut (((op1 (e12) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H11d zenon_H117).
% 25.56/25.78  apply zenon_H11a. apply refl_equal.
% 25.56/25.78  apply zenon_H11a. apply refl_equal.
% 25.56/25.78  apply (zenon_L48_); trivial.
% 25.56/25.78  apply zenon_H11a. apply refl_equal.
% 25.56/25.78  apply zenon_H11a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L49_ *)
% 25.56/25.78  assert (zenon_L50_ : (~((h4 (e12)) = (e22))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H11e zenon_Hbe zenon_H4d.
% 25.56/25.78  cut (((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (e12)) = (e22))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H11e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hbe.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 25.56/25.78  cut (((h4 (e12)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H11f. apply refl_equal.
% 25.56/25.78  apply zenon_H4f. apply sym_equal. exact zenon_H4d.
% 25.56/25.78  (* end of lemma zenon_L50_ *)
% 25.56/25.78  assert (zenon_L51_ : (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((op1 (e10) (e12)) = (e11)) -> ((op2 (e20) (e22)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H120 zenon_Hac zenon_H121 zenon_H122 zenon_H4e zenon_H13 zenon_H14 zenon_Hbe zenon_H4d.
% 25.56/25.78  cut (((h4 (e11)) = (op2 (e23) (e23))) = ((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H120.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hac.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 25.56/25.78  cut (((h4 (e11)) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [ zenon_intro zenon_H125 | zenon_intro zenon_H126 ].
% 25.56/25.78  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12)))) = ((h4 (e11)) = (h4 (op1 (e10) (e12))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H124.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H125.
% 25.56/25.78  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H126].
% 25.56/25.78  cut (((h4 (op1 (e10) (e12))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e10) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H128 zenon_H121).
% 25.56/25.78  apply zenon_H126. apply refl_equal.
% 25.56/25.78  apply zenon_H126. apply refl_equal.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H129 | zenon_intro zenon_H12a ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e12))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H123.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H129.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12a].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12b].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op2 (e20) (e22)) = (e21)) = ((op2 (h4 (e10)) (h4 (e12))) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H12b.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H122.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 25.56/25.78  cut (((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H129 | zenon_intro zenon_H12a ].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H12d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H129.
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12a].
% 25.56/25.78  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.78  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L1_); trivial.
% 25.56/25.78  apply (zenon_L50_); trivial.
% 25.56/25.78  apply zenon_H12a. apply refl_equal.
% 25.56/25.78  apply zenon_H12a. apply refl_equal.
% 25.56/25.78  exact (zenon_H12c zenon_H4e).
% 25.56/25.78  apply zenon_H12a. apply refl_equal.
% 25.56/25.78  apply zenon_H12a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L51_ *)
% 25.56/25.78  assert (zenon_L52_ : (~((op1 (e13) (e13)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e10)) = (e11)) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e12) (e11)) = (e11)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H12f zenon_H112 zenon_H19 zenon_H130.
% 25.56/25.78  cut (((op1 (e11) (e10)) = (e11)) = ((op1 (e13) (e13)) = (op1 (e12) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H12f.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H112.
% 25.56/25.78  cut (((e11) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H44 | zenon_intro zenon_H45 ].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H114.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H44.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L48_); trivial.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  apply zenon_H131. apply sym_equal. exact zenon_H130.
% 25.56/25.78  (* end of lemma zenon_L52_ *)
% 25.56/25.78  assert (zenon_L53_ : ((op1 (e12) (e12)) = (e11)) -> ((op1 (e12) (e11)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H132 zenon_H130 zenon_H112 zenon_H19 zenon_H133.
% 25.56/25.78  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H133.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H25.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e12) (e12)) = (op1 (e12) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H134.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 25.56/25.78  cut (((e11) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H135].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((e11) = (op1 (e12) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H135.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H25.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H136 zenon_H132).
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply (zenon_L52_); trivial.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L53_ *)
% 25.56/25.78  assert (zenon_L54_ : (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e13) (e12)) = (e11)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H137 zenon_H19 zenon_H138.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e13) (e12)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H137.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((e11) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H13a | zenon_intro zenon_H13b ].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e11) = (op1 (e13) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H139.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H13a.
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H13b].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H13c zenon_H138).
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L54_ *)
% 25.56/25.78  assert (zenon_L55_ : (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e20) (e22)) = (e21)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e12) (e11)) = (e11)) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H13d zenon_H4d zenon_Hbe zenon_H14 zenon_H13 zenon_H4e zenon_H122 zenon_Hac zenon_H120 zenon_H10c zenon_H133 zenon_H112 zenon_H130 zenon_H137 zenon_H19.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H13d); [ zenon_intro zenon_H121 | zenon_intro zenon_H13e ].
% 25.56/25.78  apply (zenon_L51_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H13e); [ zenon_intro zenon_H140 | zenon_intro zenon_H13f ].
% 25.56/25.78  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H141 | zenon_intro zenon_H142 ].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H10c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H141.
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H142].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H143].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e11) (e12)) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H143.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 25.56/25.78  cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H144].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H141 | zenon_intro zenon_H142 ].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e11) = (op1 (e11) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H144.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H141.
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H142].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H145 zenon_H140).
% 25.56/25.78  apply zenon_H142. apply refl_equal.
% 25.56/25.78  apply zenon_H142. apply refl_equal.
% 25.56/25.78  apply (zenon_L48_); trivial.
% 25.56/25.78  apply zenon_H142. apply refl_equal.
% 25.56/25.78  apply zenon_H142. apply refl_equal.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H13f); [ zenon_intro zenon_H132 | zenon_intro zenon_H138 ].
% 25.56/25.78  apply (zenon_L53_); trivial.
% 25.56/25.78  apply (zenon_L54_); trivial.
% 25.56/25.78  (* end of lemma zenon_L55_ *)
% 25.56/25.78  assert (zenon_L56_ : (~((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e10) (e10)))) -> ((op1 (e11) (e12)) = (e10)) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e10) (e10)) = (e10)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H146 zenon_H147 zenon_H19 zenon_H18 zenon_H86.
% 25.56/25.78  cut (((op1 (e11) (e12)) = (e10)) = ((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e10) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H146.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H147.
% 25.56/25.78  cut (((e10) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ].
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e11) (e12)) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H149.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14a.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L2_); trivial.
% 25.56/25.78  apply zenon_H14b. apply refl_equal.
% 25.56/25.78  apply zenon_H14b. apply refl_equal.
% 25.56/25.78  apply zenon_H148. apply sym_equal. exact zenon_H86.
% 25.56/25.78  (* end of lemma zenon_L56_ *)
% 25.56/25.78  assert (zenon_L57_ : ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e13) (e10)) = (e10)) -> ((op1 (e11) (e12)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1d zenon_H14c zenon_H147 zenon_H86 zenon_H19 zenon_H18 zenon_H14d.
% 25.56/25.78  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H14e | zenon_intro zenon_H14f ].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((op1 (e10) (e10)) = (op1 (e13) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H14d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14e.
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H150].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e13) (e10)) = (op1 (e10) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H150.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1d.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H146].
% 25.56/25.78  cut (((e10) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H151].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H14e | zenon_intro zenon_H14f ].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e10) = (op1 (e13) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H151.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14e.
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H152 zenon_H14c).
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  apply (zenon_L56_); trivial.
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L57_ *)
% 25.56/25.78  assert (zenon_L58_ : (~((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e13) (e11)))) -> ((op1 (e11) (e12)) = (e10)) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e11)) = (e10)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H153 zenon_H147 zenon_H19 zenon_H18 zenon_H154.
% 25.56/25.78  cut (((op1 (e11) (e12)) = (e10)) = ((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e13) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H153.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H147.
% 25.56/25.78  cut (((e10) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H155].
% 25.56/25.78  cut (((op1 (e11) (e12)) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [ zenon_intro zenon_H14a | zenon_intro zenon_H14b ].
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e11) (e12)) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H149.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14a.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L2_); trivial.
% 25.56/25.78  apply zenon_H14b. apply refl_equal.
% 25.56/25.78  apply zenon_H14b. apply refl_equal.
% 25.56/25.78  apply zenon_H155. apply sym_equal. exact zenon_H154.
% 25.56/25.78  (* end of lemma zenon_L58_ *)
% 25.56/25.78  assert (zenon_L59_ : (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e12) (e11)) = (e10)) -> ((op1 (e11) (e12)) = (e10)) -> ((op1 (e13) (e11)) = (e10)) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H156 zenon_H1d zenon_H157 zenon_H147 zenon_H154 zenon_H19 zenon_H18.
% 25.56/25.78  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e12) (e11)) = (op1 (e13) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H156.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1d.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 25.56/25.78  cut (((e10) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H158].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H159 | zenon_intro zenon_H15a ].
% 25.56/25.78  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e10) = (op1 (e12) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H158.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H159.
% 25.56/25.78  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 25.56/25.78  cut (((op1 (e12) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H15b].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H15b zenon_H157).
% 25.56/25.78  apply zenon_H15a. apply refl_equal.
% 25.56/25.78  apply zenon_H15a. apply refl_equal.
% 25.56/25.78  apply (zenon_L58_); trivial.
% 25.56/25.78  (* end of lemma zenon_L59_ *)
% 25.56/25.78  assert (zenon_L60_ : ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1d zenon_H15c zenon_H18 zenon_H19 zenon_H15d.
% 25.56/25.78  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H13a | zenon_intro zenon_H13b ].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e11) (e12)) = (op1 (e13) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H15d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H13a.
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H13b].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H15e].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e13) (e12)) = (op1 (e11) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H15e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1d.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.78  cut (((e10) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H15f].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H13a | zenon_intro zenon_H13b ].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e10) = (op1 (e13) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H15f.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H13a.
% 25.56/25.78  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H13b].
% 25.56/25.78  cut (((op1 (e13) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H160].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H160 zenon_H15c).
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  apply (zenon_L2_); trivial.
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  apply zenon_H13b. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L60_ *)
% 25.56/25.78  assert (zenon_L61_ : (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e11) (e12)) = (e10)) -> ((op1 (e12) (e11)) = (e10)) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e11) = (op1 (e13) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e13)) = (e12)) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H161 zenon_H14d zenon_H86 zenon_H147 zenon_H157 zenon_H156 zenon_H15d zenon_H19 zenon_H1d zenon_H18 zenon_H35 zenon_H2c.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H14c | zenon_intro zenon_H162 ].
% 25.56/25.78  apply (zenon_L57_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H154 | zenon_intro zenon_H163 ].
% 25.56/25.78  apply (zenon_L59_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H15c | zenon_intro zenon_H33 ].
% 25.56/25.78  apply (zenon_L60_); trivial.
% 25.56/25.78  apply (zenon_L9_); trivial.
% 25.56/25.78  (* end of lemma zenon_L61_ *)
% 25.56/25.78  assert (zenon_L62_ : ((op1 (e12) (e12)) = (e12)) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_Hae zenon_H164 zenon_H133.
% 25.56/25.78  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H25 | zenon_intro zenon_H26 ].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H133.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H25.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e12) (e12)) = (e12)) = ((op1 (e12) (e12)) = (op1 (e12) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H134.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hae.
% 25.56/25.78  cut (((e12) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H165].
% 25.56/25.78  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_H165. apply sym_equal. exact zenon_H164.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  apply zenon_H26. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L62_ *)
% 25.56/25.78  assert (zenon_L63_ : (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> ((op1 (e12) (e11)) = (e13)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H166 zenon_H167 zenon_H168.
% 25.56/25.78  cut (((op1 (e11) (e11)) = (e13)) = ((op1 (e11) (e11)) = (op1 (e12) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H166.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H167.
% 25.56/25.78  cut (((e13) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H169].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  apply zenon_H169. apply sym_equal. exact zenon_H168.
% 25.56/25.78  (* end of lemma zenon_L63_ *)
% 25.56/25.78  assert (zenon_L64_ : (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e13)) = (e12)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e12)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e12) (e12)) = (e11)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H16a zenon_H2c zenon_H35 zenon_H18 zenon_H1d zenon_H15d zenon_H156 zenon_H147 zenon_H86 zenon_H14d zenon_H161 zenon_H19 zenon_H112 zenon_H132 zenon_H133 zenon_Hae zenon_H166 zenon_H167.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H157 | zenon_intro zenon_H16b ].
% 25.56/25.78  apply (zenon_L61_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H130 | zenon_intro zenon_H16c ].
% 25.56/25.78  apply (zenon_L53_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H164 | zenon_intro zenon_H168 ].
% 25.56/25.78  apply (zenon_L62_); trivial.
% 25.56/25.78  apply (zenon_L63_); trivial.
% 25.56/25.78  (* end of lemma zenon_L64_ *)
% 25.56/25.78  assert (zenon_L65_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e12) (e13)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H18 zenon_H3b zenon_H19 zenon_H16d.
% 25.56/25.78  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e11) (e13)) = (op1 (e12) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H16d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H3d.
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e12) (e13)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H16e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.78  cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e12) = (op1 (e12) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H40.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H3d.
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H41 zenon_H3b).
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply (zenon_L6_); trivial.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L65_ *)
% 25.56/25.78  assert (zenon_L66_ : (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e12) (e13)) = (e11)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H16f zenon_H19 zenon_H170.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e12) (e13)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H16f.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((e11) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e11) = (op1 (e12) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H171.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H3d.
% 25.56/25.78  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 25.56/25.78  cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H172 zenon_H170).
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H3e. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L66_ *)
% 25.56/25.78  assert (zenon_L67_ : ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((op1 (e11) (e13)) = (e10)) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1d zenon_H173 zenon_H18 zenon_H19 zenon_H174.
% 25.56/25.78  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e11) (e12)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H174.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H36.
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) = ((op1 (e11) (e13)) = (op1 (e11) (e12)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H175.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1d.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13))) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 25.56/25.78  cut (((e10) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e10) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H176.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H36.
% 25.56/25.78  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 25.56/25.78  cut (((op1 (e11) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H177 zenon_H173).
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply (zenon_L2_); trivial.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  apply zenon_H37. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L67_ *)
% 25.56/25.78  assert (zenon_L68_ : (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e10)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H178 zenon_H18 zenon_H179 zenon_H19.
% 25.56/25.78  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e10)) = (op1 (e11) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H178.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H18.
% 25.56/25.78  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.78  cut (((e12) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17a].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H10f | zenon_intro zenon_H110 ].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e12) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H17a.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H10f.
% 25.56/25.78  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 25.56/25.78  cut (((op1 (e11) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H17b zenon_H179).
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply zenon_H110. apply refl_equal.
% 25.56/25.78  apply (zenon_L6_); trivial.
% 25.56/25.78  (* end of lemma zenon_L68_ *)
% 25.56/25.78  assert (zenon_L69_ : ((op1 (e11) (e11)) = (e13)) -> ((op1 (e11) (e10)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H167 zenon_H17c zenon_H17d.
% 25.56/25.78  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H20 | zenon_intro zenon_H21 ].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((op1 (e11) (e10)) = (op1 (e11) (e11)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H17d.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H20.
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17e].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((op1 (e11) (e11)) = (e13)) = ((op1 (e11) (e11)) = (op1 (e11) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H17e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H167.
% 25.56/25.78  cut (((e13) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H17f].
% 25.56/25.78  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.78  congruence.
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  apply zenon_H17f. apply sym_equal. exact zenon_H17c.
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  apply zenon_H21. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L69_ *)
% 25.56/25.78  assert (zenon_L70_ : (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((op1 (e12) (e10)) = (e11)) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H180 zenon_H1d zenon_H10c zenon_H118 zenon_H117 zenon_H19 zenon_H18 zenon_H178 zenon_H167 zenon_H17d.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H180); [ zenon_intro zenon_H10d | zenon_intro zenon_H181 ].
% 25.56/25.78  apply (zenon_L47_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H181); [ zenon_intro zenon_H112 | zenon_intro zenon_H182 ].
% 25.56/25.78  apply (zenon_L49_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H182); [ zenon_intro zenon_H179 | zenon_intro zenon_H17c ].
% 25.56/25.78  apply (zenon_L68_); trivial.
% 25.56/25.78  apply (zenon_L69_); trivial.
% 25.56/25.78  (* end of lemma zenon_L70_ *)
% 25.56/25.78  assert (zenon_L71_ : (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e13) (e10)) = (e11)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H183 zenon_H19 zenon_H184.
% 25.56/25.78  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e13) (e10)) = (op1 (e13) (e13)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H183.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19.
% 25.56/25.78  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.78  cut (((e11) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H14e | zenon_intro zenon_H14f ].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e11) = (op1 (e13) (e10)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H185.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14e.
% 25.56/25.78  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 25.56/25.78  cut (((op1 (e13) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H186].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H186 zenon_H184).
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  apply zenon_H14f. apply refl_equal.
% 25.56/25.78  apply zenon_H45. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L71_ *)
% 25.56/25.78  assert (zenon_L72_ : (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((op2 (e20) (e22)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H187 zenon_H107 zenon_H174 zenon_H188 zenon_H137 zenon_H120 zenon_Hac zenon_H122 zenon_H4e zenon_H13 zenon_H14 zenon_Hbe zenon_H4d zenon_H13d zenon_Hb8 zenon_H16d zenon_H16a zenon_H2c zenon_H15d zenon_H156 zenon_H86 zenon_H14d zenon_H161 zenon_H133 zenon_Hae zenon_H166 zenon_H49 zenon_H16f zenon_H1c zenon_H189 zenon_H17d zenon_H167 zenon_H178 zenon_H18 zenon_H118 zenon_H10c zenon_H1d zenon_H180 zenon_H183 zenon_H19.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H187); [ zenon_intro zenon_H106 | zenon_intro zenon_H18a ].
% 25.56/25.78  apply (zenon_L46_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18a); [ zenon_intro zenon_H112 | zenon_intro zenon_H18b ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H189); [ zenon_intro zenon_H10d | zenon_intro zenon_H18c ].
% 25.56/25.78  apply (zenon_L47_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18c); [ zenon_intro zenon_H1e | zenon_intro zenon_H18d ].
% 25.56/25.78  apply (zenon_L3_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18d); [ zenon_intro zenon_H147 | zenon_intro zenon_H173 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H188); [ zenon_intro zenon_H117 | zenon_intro zenon_H18e ].
% 25.56/25.78  apply (zenon_L49_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18e); [ zenon_intro zenon_H130 | zenon_intro zenon_H18f ].
% 25.56/25.78  apply (zenon_L55_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18f); [ zenon_intro zenon_H132 | zenon_intro zenon_H170 ].
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.78  apply (zenon_L7_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.78  apply (zenon_L64_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.78  apply (zenon_L65_); trivial.
% 25.56/25.78  apply (zenon_L34_); trivial.
% 25.56/25.78  apply (zenon_L66_); trivial.
% 25.56/25.78  apply (zenon_L67_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H18b); [ zenon_intro zenon_H117 | zenon_intro zenon_H184 ].
% 25.56/25.78  apply (zenon_L70_); trivial.
% 25.56/25.78  apply (zenon_L71_); trivial.
% 25.56/25.78  (* end of lemma zenon_L72_ *)
% 25.56/25.78  assert (zenon_L73_ : ((op2 (e21) (e22)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H190 zenon_H4e zenon_Hf2 zenon_He2.
% 25.56/25.78  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((op2 (e21) (e20)) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_He2.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hef.
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e21) (e22)) = (op2 (e21) (e20)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H191.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 25.56/25.78  cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e21) = (op2 (e21) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H192.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hef.
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H193 zenon_H190).
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  apply (zenon_L42_); trivial.
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  apply zenon_Hf0. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L73_ *)
% 25.56/25.78  assert (zenon_L74_ : (~((op2 (e23) (e23)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e22) (e21)) = (e21)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H194 zenon_Hf2 zenon_H4e zenon_H195.
% 25.56/25.78  cut (((op2 (e21) (e20)) = (e21)) = ((op2 (e23) (e23)) = (op2 (e22) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H194.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_Hf2.
% 25.56/25.78  cut (((e21) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H196].
% 25.56/25.78  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_Hf4.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H78.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L42_); trivial.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  apply zenon_H196. apply sym_equal. exact zenon_H195.
% 25.56/25.78  (* end of lemma zenon_L74_ *)
% 25.56/25.78  assert (zenon_L75_ : ((op2 (e22) (e22)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H197 zenon_H195 zenon_Hf2 zenon_H4e zenon_H198.
% 25.56/25.78  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H198.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H59.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e22) (e22)) = (op2 (e22) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H199.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H194].
% 25.56/25.78  cut (((e21) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H19a].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e21) = (op2 (e22) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H19a.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H59.
% 25.56/25.78  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.78  cut (((op2 (e22) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H19b].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H19b zenon_H197).
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply (zenon_L74_); trivial.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  apply zenon_H5a. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L75_ *)
% 25.56/25.78  assert (zenon_L76_ : (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e23) (e22)) = (e21)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H19c zenon_H4e zenon_H19d.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e23) (e22)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H19c.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((e21) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H19e].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ].
% 25.56/25.78  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e21) = (op2 (e23) (e22)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H19e.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H19f.
% 25.56/25.78  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1a0].
% 25.56/25.78  cut (((op2 (e23) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H1a1 zenon_H19d).
% 25.56/25.78  apply zenon_H1a0. apply refl_equal.
% 25.56/25.78  apply zenon_H1a0. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L76_ *)
% 25.56/25.78  assert (zenon_L77_ : (((op2 (e20) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e23) (e22)) = (e21))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (~((e10) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1a2 zenon_H19 zenon_H183 zenon_H180 zenon_H1d zenon_H10c zenon_H118 zenon_H18 zenon_H178 zenon_H167 zenon_H17d zenon_H189 zenon_H1c zenon_H16f zenon_H49 zenon_H166 zenon_Hae zenon_H133 zenon_H161 zenon_H14d zenon_H86 zenon_H156 zenon_H15d zenon_H2c zenon_H16a zenon_H16d zenon_Hb8 zenon_H13d zenon_H4d zenon_Hbe zenon_H14 zenon_H13 zenon_Hac zenon_H120 zenon_H137 zenon_H188 zenon_H174 zenon_H107 zenon_H187 zenon_He2 zenon_H198 zenon_Hf2 zenon_H195 zenon_H19c zenon_H4e.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H1a2); [ zenon_intro zenon_H122 | zenon_intro zenon_H1a3 ].
% 25.56/25.78  apply (zenon_L72_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H1a3); [ zenon_intro zenon_H190 | zenon_intro zenon_H1a4 ].
% 25.56/25.78  apply (zenon_L73_); trivial.
% 25.56/25.78  apply (zenon_or_s _ _ zenon_H1a4); [ zenon_intro zenon_H197 | zenon_intro zenon_H19d ].
% 25.56/25.78  apply (zenon_L75_); trivial.
% 25.56/25.78  apply (zenon_L76_); trivial.
% 25.56/25.78  (* end of lemma zenon_L77_ *)
% 25.56/25.78  assert (zenon_L78_ : (~((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e23) (e21)))) -> ((op2 (e21) (e22)) = (e20)) -> ((e21) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e21)) = (e20)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1a5 zenon_H1a6 zenon_H4e zenon_H4d zenon_H1a7.
% 25.56/25.78  cut (((op2 (e21) (e22)) = (e20)) = ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e23) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1a5.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1a6.
% 25.56/25.78  cut (((e20) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1a8].
% 25.56/25.78  cut (((op2 (e21) (e22)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1a9].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ].
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e21) (e22)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1a9.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1aa.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L13_); trivial.
% 25.56/25.78  apply zenon_H1ab. apply refl_equal.
% 25.56/25.78  apply zenon_H1ab. apply refl_equal.
% 25.56/25.78  apply zenon_H1a8. apply sym_equal. exact zenon_H1a7.
% 25.56/25.78  (* end of lemma zenon_L78_ *)
% 25.56/25.78  assert (zenon_L79_ : (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e22) (e21)) = (e20)) -> ((op2 (e21) (e22)) = (e20)) -> ((op2 (e23) (e21)) = (e20)) -> ((e21) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1ac zenon_H14 zenon_H1ad zenon_H1a6 zenon_H1a7 zenon_H4e zenon_H4d.
% 25.56/25.78  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e22) (e21)) = (op2 (e23) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1ac.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H14.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 25.56/25.78  cut (((e20) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1ae].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H1af | zenon_intro zenon_H1b0 ].
% 25.56/25.78  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e20) = (op2 (e22) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1ae.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1af.
% 25.56/25.78  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b0].
% 25.56/25.78  cut (((op2 (e22) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1b1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H1b1 zenon_H1ad).
% 25.56/25.78  apply zenon_H1b0. apply refl_equal.
% 25.56/25.78  apply zenon_H1b0. apply refl_equal.
% 25.56/25.78  apply (zenon_L78_); trivial.
% 25.56/25.78  (* end of lemma zenon_L79_ *)
% 25.56/25.78  assert (zenon_L80_ : (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e23) (e21)) = (e21)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1b2 zenon_H4e zenon_H1b3.
% 25.56/25.78  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e23) (e21)) = (op2 (e23) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1b2.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4e.
% 25.56/25.78  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.78  cut (((e21) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b4].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b6 ].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e21) = (op2 (e23) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1b4.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1b5.
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H1b7 zenon_H1b3).
% 25.56/25.78  apply zenon_H1b6. apply refl_equal.
% 25.56/25.78  apply zenon_H1b6. apply refl_equal.
% 25.56/25.78  apply zenon_H79. apply refl_equal.
% 25.56/25.78  (* end of lemma zenon_L80_ *)
% 25.56/25.78  assert (zenon_L81_ : (~((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e21)))) -> ((op2 (e21) (e23)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e20) (e21)) = (e22)) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H1b8 zenon_H69 zenon_H4e zenon_Hc8.
% 25.56/25.78  cut (((op2 (e21) (e23)) = (e22)) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1b8.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H69.
% 25.56/25.78  cut (((e22) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b9].
% 25.56/25.78  cut (((op2 (e21) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1ba].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ].
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e23)) = (op2 (op2 (e23) (e23)) (e23)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1ba.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1bb.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.78  congruence.
% 25.56/25.78  apply (zenon_L17_); trivial.
% 25.56/25.78  apply zenon_H1bc. apply refl_equal.
% 25.56/25.78  apply zenon_H1bc. apply refl_equal.
% 25.56/25.78  apply zenon_H1b9. apply sym_equal. exact zenon_Hc8.
% 25.56/25.78  (* end of lemma zenon_L81_ *)
% 25.56/25.78  assert (zenon_L82_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e21)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e20) (e21)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False).
% 25.56/25.78  do 0 intro. intros zenon_H4d zenon_H1bd zenon_H69 zenon_Hc8 zenon_H4e zenon_H1be.
% 25.56/25.78  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b6 ].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e20) (e21)) = (op2 (e23) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1be.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1b5.
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1bf].
% 25.56/25.78  congruence.
% 25.56/25.78  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e23) (e21)) = (op2 (e20) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1bf.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H4d.
% 25.56/25.78  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 25.56/25.78  cut (((e22) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 25.56/25.78  congruence.
% 25.56/25.78  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b6 ].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e22) = (op2 (e23) (e21)))).
% 25.56/25.78  intro zenon_D_pnotp.
% 25.56/25.78  apply zenon_H1c0.
% 25.56/25.78  rewrite <- zenon_D_pnotp.
% 25.56/25.78  exact zenon_H1b5.
% 25.56/25.78  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 25.56/25.78  cut (((op2 (e23) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1c1].
% 25.56/25.78  congruence.
% 25.56/25.78  exact (zenon_H1c1 zenon_H1bd).
% 25.56/25.78  apply zenon_H1b6. apply refl_equal.
% 25.56/25.79  apply zenon_H1b6. apply refl_equal.
% 25.56/25.79  apply (zenon_L81_); trivial.
% 25.56/25.79  apply zenon_H1b6. apply refl_equal.
% 25.56/25.79  apply zenon_H1b6. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L82_ *)
% 25.56/25.79  assert (zenon_L83_ : (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> ((op2 (e23) (e21)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1c2 zenon_Hfe zenon_H1c3.
% 25.56/25.79  cut (((op2 (e21) (e21)) = (e23)) = ((op2 (e21) (e21)) = (op2 (e23) (e21)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1c2.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hfe.
% 25.56/25.79  cut (((e23) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1c4].
% 25.56/25.79  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H55. apply refl_equal.
% 25.56/25.79  apply zenon_H1c4. apply sym_equal. exact zenon_H1c3.
% 25.56/25.79  (* end of lemma zenon_L83_ *)
% 25.56/25.79  assert (zenon_L84_ : (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> ((op2 (e21) (e22)) = (e20)) -> ((op2 (e22) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e20) (e21)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1c5 zenon_H1a6 zenon_H1ad zenon_H14 zenon_H1ac zenon_H1b2 zenon_H1be zenon_H4e zenon_Hc8 zenon_H69 zenon_H4d zenon_H1c2 zenon_Hfe.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1c6 ].
% 25.56/25.79  apply (zenon_L79_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1c7 ].
% 25.56/25.79  apply (zenon_L80_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1bd | zenon_intro zenon_H1c3 ].
% 25.56/25.79  apply (zenon_L82_); trivial.
% 25.56/25.79  apply (zenon_L83_); trivial.
% 25.56/25.79  (* end of lemma zenon_L84_ *)
% 25.56/25.79  assert (zenon_L85_ : ((op2 (e22) (e22)) = (e22)) -> ((op2 (e22) (e21)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hb3 zenon_H1c8 zenon_H198.
% 25.56/25.79  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H198.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H59.
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e22)) = (e22)) = ((op2 (e22) (e22)) = (op2 (e22) (e21)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H199.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hb3.
% 25.56/25.79  cut (((e22) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1c9].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H5a. apply refl_equal.
% 25.56/25.79  apply zenon_H1c9. apply sym_equal. exact zenon_H1c8.
% 25.56/25.79  apply zenon_H5a. apply refl_equal.
% 25.56/25.79  apply zenon_H5a. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L85_ *)
% 25.56/25.79  assert (zenon_L86_ : (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> ((op2 (e22) (e21)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1ca zenon_Hfe zenon_H1cb.
% 25.56/25.79  cut (((op2 (e21) (e21)) = (e23)) = ((op2 (e21) (e21)) = (op2 (e22) (e21)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1ca.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hfe.
% 25.56/25.79  cut (((e23) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1cc].
% 25.56/25.79  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H55. apply refl_equal.
% 25.56/25.79  apply zenon_H1cc. apply sym_equal. exact zenon_H1cb.
% 25.56/25.79  (* end of lemma zenon_L86_ *)
% 25.56/25.79  assert (zenon_L87_ : (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e20) (e21)) = (e22)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e21) (e22)) = (e20)) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e22) (e22)) = (e21)) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1cd zenon_H1c2 zenon_H4d zenon_H69 zenon_Hc8 zenon_H1be zenon_H1b2 zenon_H1ac zenon_H14 zenon_H1a6 zenon_H1c5 zenon_H4e zenon_Hf2 zenon_H197 zenon_H198 zenon_Hb3 zenon_H1ca zenon_Hfe.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ce ].
% 25.56/25.79  apply (zenon_L84_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ce); [ zenon_intro zenon_H195 | zenon_intro zenon_H1cf ].
% 25.56/25.79  apply (zenon_L75_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1cf); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1cb ].
% 25.56/25.79  apply (zenon_L85_); trivial.
% 25.56/25.79  apply (zenon_L86_); trivial.
% 25.56/25.79  (* end of lemma zenon_L87_ *)
% 25.56/25.79  assert (zenon_L88_ : (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e22) (e23)) = (e21)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1d0 zenon_H4e zenon_H1d1.
% 25.56/25.79  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e22) (e23)) = (op2 (e23) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1d0.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H4e.
% 25.56/25.79  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.79  cut (((e21) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1d2].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e21) = (op2 (e22) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1d2.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H71.
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1d3 zenon_H1d1).
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  apply zenon_H79. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L88_ *)
% 25.56/25.79  assert (zenon_L89_ : ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e21) (e23)) = (e20)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H14 zenon_H1d4 zenon_H4d zenon_H4e zenon_Hec.
% 25.56/25.79  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H6a | zenon_intro zenon_H6b ].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e21) (e22)) = (op2 (e21) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_Hec.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H6a.
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1d5].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e21) (e23)) = (op2 (e21) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1d5.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H14.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.79  cut (((e20) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1d6].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H6a | zenon_intro zenon_H6b ].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e20) = (op2 (e21) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1d6.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H6a.
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1d7].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1d7 zenon_H1d4).
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  apply (zenon_L13_); trivial.
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L89_ *)
% 25.56/25.79  assert (zenon_L90_ : (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e20) = (e22))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op2 (e20) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e23) (e22)) = (e21))))) -> ((op2 (e21) (e21)) = (e23)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e21) (e20)) = (e21)) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hbc zenon_H97 zenon_H84 zenon_Hec zenon_H14 zenon_H1d8 zenon_H9c zenon_H1d9 zenon_H100 zenon_He8 zenon_Hf8 zenon_H103 zenon_H19c zenon_He2 zenon_H187 zenon_H107 zenon_H174 zenon_H188 zenon_H137 zenon_H120 zenon_Hac zenon_H13 zenon_Hbe zenon_H13d zenon_Hb8 zenon_H16d zenon_H16a zenon_H2c zenon_H15d zenon_H156 zenon_H86 zenon_H14d zenon_H161 zenon_H133 zenon_Hae zenon_H166 zenon_H49 zenon_H16f zenon_H1c zenon_H189 zenon_H17d zenon_H167 zenon_H178 zenon_H18 zenon_H118 zenon_H10c zenon_H1d zenon_H180 zenon_H183 zenon_H19 zenon_H1a2 zenon_Hfe zenon_H1ca zenon_H198 zenon_Hf2 zenon_H1c5 zenon_H1ac zenon_H1b2 zenon_H1be zenon_H1c2 zenon_H1cd zenon_H1d0 zenon_H51 zenon_H1da zenon_Hb5 zenon_Hb3 zenon_H60 zenon_H4d zenon_H4e.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc6 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1da); [ zenon_intro zenon_He3 | zenon_intro zenon_H1db ].
% 25.56/25.79  apply (zenon_L39_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1db); [ zenon_intro zenon_H52 | zenon_intro zenon_H1dc ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1dc); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H1d4 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_He9 | zenon_intro zenon_H1dd ].
% 25.56/25.79  apply (zenon_L40_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1dd); [ zenon_intro zenon_H9d | zenon_intro zenon_H1de ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1de); [ zenon_intro zenon_Hed | zenon_intro zenon_H69 ].
% 25.56/25.79  apply (zenon_L41_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1d9); [ zenon_intro zenon_Hf7 | zenon_intro zenon_H1df ].
% 25.56/25.79  apply (zenon_L45_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1df); [ zenon_intro zenon_H195 | zenon_intro zenon_H1e0 ].
% 25.56/25.79  apply (zenon_L77_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e0); [ zenon_intro zenon_H197 | zenon_intro zenon_H1d1 ].
% 25.56/25.79  apply (zenon_L87_); trivial.
% 25.56/25.79  apply (zenon_L88_); trivial.
% 25.56/25.79  apply (zenon_L89_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc7); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H61 ].
% 25.56/25.79  apply (zenon_L33_); trivial.
% 25.56/25.79  apply (zenon_L18_); trivial.
% 25.56/25.79  (* end of lemma zenon_L90_ *)
% 25.56/25.79  assert (zenon_L91_ : (~((e12) = (e12))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Ha4.
% 25.56/25.79  apply zenon_Ha4. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L91_ *)
% 25.56/25.79  assert (zenon_L92_ : ((op1 (e12) (e12)) = (e12)) -> ((op1 (e12) (e12)) = (e13)) -> (~((e12) = (e13))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hae zenon_H1e1 zenon_H1e2.
% 25.56/25.79  elim (classic ((e13) = (e13))); [ zenon_intro zenon_Hdf | zenon_intro zenon_H2a ].
% 25.56/25.79  cut (((e13) = (e13)) = ((e12) = (e13))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1e2.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hdf.
% 25.56/25.79  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 25.56/25.79  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e12) (e12)) = (e12)) = ((e13) = (e12))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1e3.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hae.
% 25.56/25.79  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 25.56/25.79  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1e4 zenon_H1e1).
% 25.56/25.79  apply zenon_Ha4. apply refl_equal.
% 25.56/25.79  apply zenon_H2a. apply refl_equal.
% 25.56/25.79  apply zenon_H2a. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L92_ *)
% 25.56/25.79  assert (zenon_L93_ : (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e13) (e13)) = (e13)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hb8 zenon_H18 zenon_H35 zenon_H1e5.
% 25.56/25.79  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_Hb8.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H18.
% 25.56/25.79  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 25.56/25.79  cut (((e12) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 25.56/25.79  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e12) = (op1 (e11) (e13)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H39.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H36.
% 25.56/25.79  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 25.56/25.79  cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H3a zenon_H35).
% 25.56/25.79  apply zenon_H37. apply refl_equal.
% 25.56/25.79  apply zenon_H37. apply refl_equal.
% 25.56/25.79  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 25.56/25.79  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1e7 zenon_H1e5).
% 25.56/25.79  apply zenon_H2a. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L93_ *)
% 25.56/25.79  assert (zenon_L94_ : (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e13) (e13)) = (e13)) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H49 zenon_H2c zenon_H1e5 zenon_H16d zenon_H18 zenon_H19 zenon_Hb8.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.79  apply (zenon_L7_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.79  apply (zenon_L93_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_L65_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  (* end of lemma zenon_L94_ *)
% 25.56/25.79  assert (zenon_L95_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e20) = (e22))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op2 (e20) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e23) (e22)) = (e21))))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((e12) = (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H82 zenon_Hb8 zenon_H1e8 zenon_Hde zenon_H100 zenon_Hfe zenon_He8 zenon_H4d zenon_H4e zenon_Hbc zenon_H97 zenon_H84 zenon_Hec zenon_H14 zenon_H1d8 zenon_H9c zenon_H1d9 zenon_Hf8 zenon_H103 zenon_H19c zenon_He2 zenon_H187 zenon_H107 zenon_H174 zenon_H188 zenon_H137 zenon_H120 zenon_Hac zenon_H13 zenon_Hbe zenon_H13d zenon_H16a zenon_H15d zenon_H156 zenon_H14d zenon_H161 zenon_H133 zenon_H166 zenon_H16f zenon_H189 zenon_H17d zenon_H178 zenon_H118 zenon_H10c zenon_H180 zenon_H183 zenon_H1a2 zenon_H1ca zenon_H198 zenon_H1c5 zenon_H1ac zenon_H1b2 zenon_H1be zenon_H1c2 zenon_H1cd zenon_H1d0 zenon_H51 zenon_H1da zenon_Hb5 zenon_Hb3 zenon_H60 zenon_H1e2 zenon_H16d zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H103); [ zenon_intro zenon_He3 | zenon_intro zenon_H104 ].
% 25.56/25.79  apply (zenon_L39_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H104); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H105 ].
% 25.56/25.79  apply (zenon_L90_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H105); [ zenon_intro zenon_He9 | zenon_intro zenon_Hff ].
% 25.56/25.79  apply (zenon_L40_); trivial.
% 25.56/25.79  apply (zenon_L44_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.79  apply (zenon_L92_); trivial.
% 25.56/25.79  apply (zenon_L94_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  (* end of lemma zenon_L95_ *)
% 25.56/25.79  assert (zenon_L96_ : (~((e22) = (e22))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H99.
% 25.56/25.79  apply zenon_H99. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L96_ *)
% 25.56/25.79  assert (zenon_L97_ : ((op2 (e22) (e22)) = (e22)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e22) = (e23))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hb3 zenon_H1eb zenon_H1ec.
% 25.56/25.79  elim (classic ((e23) = (e23))); [ zenon_intro zenon_Hda | zenon_intro zenon_H5e ].
% 25.56/25.79  cut (((e23) = (e23)) = ((e22) = (e23))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1ec.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hda.
% 25.56/25.79  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.79  cut (((e23) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1ed].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e22)) = (e22)) = ((e23) = (e22))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1ed.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hb3.
% 25.56/25.79  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1ee].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1ee zenon_H1eb).
% 25.56/25.79  apply zenon_H99. apply refl_equal.
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L97_ *)
% 25.56/25.79  assert (zenon_L98_ : (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e23) (e23)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hba zenon_H4d zenon_H69 zenon_H1ef.
% 25.56/25.79  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_Hba.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H4d.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 25.56/25.79  cut (((e22) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H6a | zenon_intro zenon_H6b ].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e22) = (op2 (e21) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H6d.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H6a.
% 25.56/25.79  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 25.56/25.79  cut (((op2 (e21) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H6e zenon_H69).
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  apply zenon_H6b. apply refl_equal.
% 25.56/25.79  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.79  cut (((op2 (e23) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1f1 zenon_H1ef).
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L98_ *)
% 25.56/25.79  assert (zenon_L99_ : ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e23)) = (e22)) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H4d zenon_H6f zenon_H4e zenon_H1f2.
% 25.56/25.79  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e21) (e23)) = (op2 (e22) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1f2.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H71.
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((e22) = (op2 (op2 (e23) (e23)) (e23))) = ((op2 (e22) (e23)) = (op2 (e21) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1f3.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H4d.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 25.56/25.79  cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H74].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e22) = (op2 (e22) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H74.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H71.
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H75 zenon_H6f).
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  apply (zenon_L17_); trivial.
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  apply zenon_H72. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L99_ *)
% 25.56/25.79  assert (zenon_L100_ : (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H7d zenon_H60 zenon_H1ef zenon_H1f2 zenon_H4d zenon_H4e zenon_Hba.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H7d); [ zenon_intro zenon_H61 | zenon_intro zenon_H7e ].
% 25.56/25.79  apply (zenon_L18_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H7e); [ zenon_intro zenon_H69 | zenon_intro zenon_H7f ].
% 25.56/25.79  apply (zenon_L98_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H7f); [ zenon_intro zenon_H6f | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_L99_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  (* end of lemma zenon_L100_ *)
% 25.56/25.79  assert (zenon_L101_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((e20) = (e23))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((e12) = (e13))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e20) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e23) (e22)) = (e21))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (((op1 (e10) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e13) (e12)) = (e11))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (~((e10) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e22) (e20)))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> (~((e10) = (e13))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((e22) = (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_Hba zenon_H1f4 zenon_Hd9 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_Hc0 zenon_Ha2 zenon_Ha7 zenon_H16d zenon_H1e2 zenon_Hb5 zenon_H1da zenon_H1d0 zenon_H1cd zenon_H1c2 zenon_H1be zenon_H1b2 zenon_H1ac zenon_H1c5 zenon_H198 zenon_H1ca zenon_H1a2 zenon_H183 zenon_H180 zenon_H10c zenon_H118 zenon_H178 zenon_H17d zenon_H189 zenon_H16f zenon_H166 zenon_H133 zenon_H161 zenon_H14d zenon_H156 zenon_H15d zenon_H16a zenon_H13d zenon_Hbe zenon_H13 zenon_Hac zenon_H120 zenon_H137 zenon_H188 zenon_H174 zenon_H107 zenon_H187 zenon_He2 zenon_H19c zenon_H103 zenon_Hf8 zenon_H1d9 zenon_H9c zenon_H1d8 zenon_Hec zenon_H97 zenon_Hbc zenon_He8 zenon_H100 zenon_Hde zenon_H1e8 zenon_Hb8 zenon_H82 zenon_H1ec zenon_H1f2 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H1f5 ].
% 25.56/25.79  apply (zenon_L37_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_Hfe | zenon_intro zenon_H1f6 ].
% 25.56/25.79  apply (zenon_L95_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ef ].
% 25.56/25.79  apply (zenon_L97_); trivial.
% 25.56/25.79  apply (zenon_L100_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L101_ *)
% 25.56/25.79  assert (zenon_L102_ : (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((op2 (e20) (e20)) = (e20)) -> ((op2 (e20) (e23)) = (e20)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1f7 zenon_H84 zenon_H1f8.
% 25.56/25.79  cut (((op2 (e20) (e20)) = (e20)) = ((op2 (e20) (e20)) = (op2 (e20) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1f7.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H84.
% 25.56/25.79  cut (((e20) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1f9].
% 25.56/25.79  cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H1fa. apply refl_equal.
% 25.56/25.79  apply zenon_H1f9. apply sym_equal. exact zenon_H1f8.
% 25.56/25.79  (* end of lemma zenon_L102_ *)
% 25.56/25.79  assert (zenon_L103_ : (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((op2 (e20) (e23)) = (e21)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H77 zenon_H4e zenon_H1fb.
% 25.56/25.79  cut (((e21) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H77.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H4e.
% 25.56/25.79  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 25.56/25.79  cut (((e21) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1fc].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ].
% 25.56/25.79  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e21) = (op2 (e20) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1fc.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H63.
% 25.56/25.79  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 25.56/25.79  cut (((op2 (e20) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1fd].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H1fd zenon_H1fb).
% 25.56/25.79  apply zenon_H64. apply refl_equal.
% 25.56/25.79  apply zenon_H64. apply refl_equal.
% 25.56/25.79  apply zenon_H79. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L103_ *)
% 25.56/25.79  assert (zenon_L104_ : (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1fe zenon_H86 zenon_H1ff.
% 25.56/25.79  cut (((op1 (e10) (e10)) = (e10)) = ((op1 (e10) (e10)) = (op1 (e10) (e13)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H1fe.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H86.
% 25.56/25.79  cut (((e10) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 25.56/25.79  cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H201].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H201. apply refl_equal.
% 25.56/25.79  apply zenon_H200. apply sym_equal. exact zenon_H1ff.
% 25.56/25.79  (* end of lemma zenon_L104_ *)
% 25.56/25.79  assert (zenon_L105_ : (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e10) (e13)) = (e11)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H43 zenon_H19 zenon_H202.
% 25.56/25.79  cut (((e11) = (op1 (e13) (e13))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H43.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H19.
% 25.56/25.79  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 25.56/25.79  cut (((e11) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H203].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ].
% 25.56/25.79  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e11) = (op1 (e10) (e13)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H203.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H2f.
% 25.56/25.79  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 25.56/25.79  cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H204].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H204 zenon_H202).
% 25.56/25.79  apply zenon_H30. apply refl_equal.
% 25.56/25.79  apply zenon_H30. apply refl_equal.
% 25.56/25.79  apply zenon_H45. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L105_ *)
% 25.56/25.79  assert (zenon_L106_ : (~((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))) -> ((op1 (e10) (e13)) = (e13)) -> ((op2 (e20) (e23)) = (e23)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e13)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H205 zenon_H206 zenon_H207 zenon_H13 zenon_H14 zenon_H208.
% 25.56/25.79  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H205.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H208.
% 25.56/25.79  cut (((e23) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 25.56/25.79  cut (((h4 (e13)) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H20a].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [ zenon_intro zenon_H20b | zenon_intro zenon_H20c ].
% 25.56/25.79  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13)))) = ((h4 (e13)) = (h4 (op1 (e10) (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H20a.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H20b.
% 25.56/25.79  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H20c].
% 25.56/25.79  cut (((h4 (op1 (e10) (e13))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H20e].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H20e zenon_H206).
% 25.56/25.79  apply zenon_H20c. apply refl_equal.
% 25.56/25.79  apply zenon_H20c. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((e23) = (op2 (h4 (e10)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H209.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H20f.
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e20) (e23)) = (e23)) = ((op2 (h4 (e10)) (h4 (e13))) = (e23))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H211.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H207.
% 25.56/25.79  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.79  cut (((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H212].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H212.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H20f.
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 25.56/25.79  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H213].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 25.56/25.79  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L1_); trivial.
% 25.56/25.79  exact (zenon_H214 zenon_H208).
% 25.56/25.79  apply zenon_H210. apply refl_equal.
% 25.56/25.79  apply zenon_H210. apply refl_equal.
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  apply zenon_H210. apply refl_equal.
% 25.56/25.79  apply zenon_H210. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L106_ *)
% 25.56/25.79  assert (zenon_L107_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))) -> ((op2 (e20) (e23)) = (e23)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e13)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H215 zenon_H86 zenon_H1fe zenon_H43 zenon_H19 zenon_H18 zenon_H2c zenon_H205 zenon_H207 zenon_H13 zenon_H14 zenon_H208.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H1ff | zenon_intro zenon_H216 ].
% 25.56/25.79  apply (zenon_L104_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H202 | zenon_intro zenon_H217 ].
% 25.56/25.79  apply (zenon_L105_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H2d | zenon_intro zenon_H206 ].
% 25.56/25.79  apply (zenon_L7_); trivial.
% 25.56/25.79  apply (zenon_L106_); trivial.
% 25.56/25.79  (* end of lemma zenon_L107_ *)
% 25.56/25.79  assert (zenon_L108_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e20) (e23)) = (e21))\/(((op2 (e20) (e23)) = (e22))\/((op2 (e20) (e23)) = (e23))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e13)) = (e23)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_H218 zenon_H1f7 zenon_H215 zenon_H1fe zenon_H205 zenon_H13 zenon_H208 zenon_H82 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H218); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H219 ].
% 25.56/25.79  apply (zenon_L102_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H1fb | zenon_intro zenon_H21a ].
% 25.56/25.79  apply (zenon_L103_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H61 | zenon_intro zenon_H207 ].
% 25.56/25.79  apply (zenon_L18_); trivial.
% 25.56/25.79  apply (zenon_L107_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L108_ *)
% 25.56/25.79  assert (zenon_L109_ : (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> ((op1 (e11) (e10)) = (e11)) -> ((op2 (e21) (e20)) = (e21)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H21b zenon_H112 zenon_Hf2 zenon_Hac zenon_H4e zenon_H13 zenon_H14.
% 25.56/25.79  cut (((h4 (e11)) = (op2 (e23) (e23))) = ((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H21b.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hac.
% 25.56/25.79  cut (((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H21c].
% 25.56/25.79  cut (((h4 (e11)) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ].
% 25.56/25.79  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10)))) = ((h4 (e11)) = (h4 (op1 (e11) (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H21d.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H21e.
% 25.56/25.79  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 25.56/25.79  cut (((h4 (op1 (e11) (e10))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H220].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e11) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H116].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H116 zenon_H112).
% 25.56/25.79  apply zenon_H21f. apply refl_equal.
% 25.56/25.79  apply zenon_H21f. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H221 | zenon_intro zenon_H222 ].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H21c.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H221.
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H222].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H223].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e21) (e20)) = (e21)) = ((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H223.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hf2.
% 25.56/25.79  cut (((e21) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 25.56/25.79  cut (((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H224].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H221 | zenon_intro zenon_H222 ].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H224.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H221.
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H222].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H225].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.79  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L31_); trivial.
% 25.56/25.79  apply (zenon_L1_); trivial.
% 25.56/25.79  apply zenon_H222. apply refl_equal.
% 25.56/25.79  apply zenon_H222. apply refl_equal.
% 25.56/25.79  exact (zenon_H12c zenon_H4e).
% 25.56/25.79  apply zenon_H222. apply refl_equal.
% 25.56/25.79  apply zenon_H222. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L109_ *)
% 25.56/25.79  assert (zenon_L110_ : (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e11))) -> ((op1 (e10) (e10)) = (e10)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e21)) -> (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H187 zenon_H107 zenon_H86 zenon_H14 zenon_H13 zenon_H4e zenon_Hac zenon_Hf2 zenon_H21b zenon_H17d zenon_H167 zenon_H178 zenon_H18 zenon_H118 zenon_H10c zenon_H1d zenon_H180 zenon_H183 zenon_H19.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H187); [ zenon_intro zenon_H106 | zenon_intro zenon_H18a ].
% 25.56/25.79  apply (zenon_L46_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18a); [ zenon_intro zenon_H112 | zenon_intro zenon_H18b ].
% 25.56/25.79  apply (zenon_L109_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18b); [ zenon_intro zenon_H117 | zenon_intro zenon_H184 ].
% 25.56/25.79  apply (zenon_L70_); trivial.
% 25.56/25.79  apply (zenon_L71_); trivial.
% 25.56/25.79  (* end of lemma zenon_L110_ *)
% 25.56/25.79  assert (zenon_L111_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e11))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> (~((e12) = (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H82 zenon_Hb8 zenon_H1e8 zenon_Hde zenon_H100 zenon_Hfe zenon_He8 zenon_H4d zenon_H4e zenon_H187 zenon_H107 zenon_H14 zenon_H13 zenon_Hac zenon_H21b zenon_H17d zenon_H178 zenon_H118 zenon_H10c zenon_H180 zenon_H183 zenon_He2 zenon_H103 zenon_H1e2 zenon_H16d zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H103); [ zenon_intro zenon_He3 | zenon_intro zenon_H104 ].
% 25.56/25.79  apply (zenon_L39_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H104); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H105 ].
% 25.56/25.79  apply (zenon_L110_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H105); [ zenon_intro zenon_He9 | zenon_intro zenon_Hff ].
% 25.56/25.79  apply (zenon_L40_); trivial.
% 25.56/25.79  apply (zenon_L44_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.79  apply (zenon_L92_); trivial.
% 25.56/25.79  apply (zenon_L94_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  (* end of lemma zenon_L111_ *)
% 25.56/25.79  assert (zenon_L112_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((e20) = (e23))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((e12) = (e13))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e22))\/((op2 (e21) (e20)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e12))\/((op1 (e11) (e10)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e12) (e10)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (~((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((e10) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> (~((e10) = (e13))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((e22) = (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_Hba zenon_H1f4 zenon_Hd9 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_Hc0 zenon_Ha2 zenon_Ha7 zenon_H16d zenon_H1e2 zenon_H103 zenon_He2 zenon_H183 zenon_H180 zenon_H10c zenon_H118 zenon_H178 zenon_H17d zenon_H21b zenon_Hac zenon_H13 zenon_H107 zenon_H187 zenon_He8 zenon_H100 zenon_Hde zenon_H1e8 zenon_Hb8 zenon_H82 zenon_H1ec zenon_H1f2 zenon_H9c zenon_H97 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H1f5 ].
% 25.56/25.79  apply (zenon_L37_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_Hfe | zenon_intro zenon_H1f6 ].
% 25.56/25.79  apply (zenon_L111_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ef ].
% 25.56/25.79  apply (zenon_L97_); trivial.
% 25.56/25.79  apply (zenon_L100_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L112_ *)
% 25.56/25.79  assert (zenon_L113_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((op2 (e21) (e21)) = (e23)) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))) -> (~((e12) = (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H82 zenon_Hb8 zenon_H1e8 zenon_Hde zenon_H4e zenon_Hac zenon_Hfe zenon_H208 zenon_H226 zenon_H1e2 zenon_H16d zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.79  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H226.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H208.
% 25.56/25.79  cut (((e23) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H227].
% 25.56/25.79  cut (((h4 (e13)) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [ zenon_intro zenon_H229 | zenon_intro zenon_H22a ].
% 25.56/25.79  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11)))) = ((h4 (e13)) = (h4 (op1 (e11) (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H228.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H229.
% 25.56/25.79  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H22a].
% 25.56/25.79  cut (((h4 (op1 (e11) (e11))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H22b].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e11) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H22c zenon_H167).
% 25.56/25.79  apply zenon_H22a. apply refl_equal.
% 25.56/25.79  apply zenon_H22a. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H22d | zenon_intro zenon_H22e ].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((e23) = (op2 (h4 (e11)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H227.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H22d.
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H22e].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e21) (e21)) = (e23)) = ((op2 (h4 (e11)) (h4 (e11))) = (e23))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H22f.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hfe.
% 25.56/25.79  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.79  cut (((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H22d | zenon_intro zenon_H22e ].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H230.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H22d.
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H22e].
% 25.56/25.79  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H231].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.79  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L31_); trivial.
% 25.56/25.79  apply (zenon_L31_); trivial.
% 25.56/25.79  apply zenon_H22e. apply refl_equal.
% 25.56/25.79  apply zenon_H22e. apply refl_equal.
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  apply zenon_H22e. apply refl_equal.
% 25.56/25.79  apply zenon_H22e. apply refl_equal.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.79  apply (zenon_L92_); trivial.
% 25.56/25.79  apply (zenon_L94_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  (* end of lemma zenon_L113_ *)
% 25.56/25.79  assert (zenon_L114_ : (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H189 zenon_H10c zenon_H1c zenon_Hac zenon_Hbe zenon_H13 zenon_H232 zenon_H1d zenon_H18 zenon_H19 zenon_H174.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H189); [ zenon_intro zenon_H10d | zenon_intro zenon_H18c ].
% 25.56/25.79  apply (zenon_L47_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18c); [ zenon_intro zenon_H1e | zenon_intro zenon_H18d ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18d); [ zenon_intro zenon_H147 | zenon_intro zenon_H173 ].
% 25.56/25.79  cut (((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H232.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H13.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H233].
% 25.56/25.79  cut (((h4 (e10)) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H234].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [ zenon_intro zenon_H235 | zenon_intro zenon_H236 ].
% 25.56/25.79  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12)))) = ((h4 (e10)) = (h4 (op1 (e11) (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H234.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H235.
% 25.56/25.79  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H236].
% 25.56/25.79  cut (((h4 (op1 (e11) (e12))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H237].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e11) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H238].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H238 zenon_H147).
% 25.56/25.79  apply zenon_H236. apply refl_equal.
% 25.56/25.79  apply zenon_H236. apply refl_equal.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H239].
% 25.56/25.79  cut (((op2 (e23) (e23)) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H23a].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H23a. apply sym_equal. exact zenon_Hac.
% 25.56/25.79  apply zenon_H239. apply sym_equal. exact zenon_Hbe.
% 25.56/25.79  apply (zenon_L67_); trivial.
% 25.56/25.79  (* end of lemma zenon_L114_ *)
% 25.56/25.79  assert (zenon_L115_ : (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e11) (e13)) = (e12)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H23b zenon_Hbe zenon_H35 zenon_H208 zenon_Hac.
% 25.56/25.79  cut (((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H23b.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hbe.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 25.56/25.79  cut (((h4 (e12)) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [ zenon_intro zenon_H23e | zenon_intro zenon_H23f ].
% 25.56/25.79  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13)))) = ((h4 (e12)) = (h4 (op1 (e11) (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H23d.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H23e.
% 25.56/25.79  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H23f].
% 25.56/25.79  cut (((h4 (op1 (e11) (e13))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H240].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H3a zenon_H35).
% 25.56/25.79  apply zenon_H23f. apply refl_equal.
% 25.56/25.79  apply zenon_H23f. apply refl_equal.
% 25.56/25.79  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 25.56/25.79  cut (((op2 (e23) (e23)) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H23a].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H23a. apply sym_equal. exact zenon_Hac.
% 25.56/25.79  apply zenon_H241. apply sym_equal. exact zenon_H208.
% 25.56/25.79  (* end of lemma zenon_L115_ *)
% 25.56/25.79  assert (zenon_L116_ : (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e13)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H49 zenon_H2c zenon_Hac zenon_H208 zenon_Hbe zenon_H23b zenon_H16d zenon_H18 zenon_H19 zenon_Hb8.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.79  apply (zenon_L7_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.79  apply (zenon_L115_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_L65_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  (* end of lemma zenon_L116_ *)
% 25.56/25.79  assert (zenon_L117_ : (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> ((op1 (e13) (e12)) = (e12)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H242 zenon_Hae zenon_H243.
% 25.56/25.79  cut (((op1 (e12) (e12)) = (e12)) = ((op1 (e12) (e12)) = (op1 (e13) (e12)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H242.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hae.
% 25.56/25.79  cut (((e12) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 25.56/25.79  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H26. apply refl_equal.
% 25.56/25.79  apply zenon_H244. apply sym_equal. exact zenon_H243.
% 25.56/25.79  (* end of lemma zenon_L117_ *)
% 25.56/25.79  assert (zenon_L118_ : (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((op1 (e13) (e10)) = (e13)) -> ((op1 (e13) (e12)) = (e13)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H245 zenon_H246 zenon_H247.
% 25.56/25.79  cut (((op1 (e13) (e10)) = (e13)) = ((op1 (e13) (e10)) = (op1 (e13) (e12)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H245.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H246.
% 25.56/25.79  cut (((e13) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 25.56/25.79  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H14f].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H14f. apply refl_equal.
% 25.56/25.79  apply zenon_H248. apply sym_equal. exact zenon_H247.
% 25.56/25.79  (* end of lemma zenon_L118_ *)
% 25.56/25.79  assert (zenon_L119_ : (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((op1 (e13) (e10)) = (e13)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H249 zenon_H15d zenon_H18 zenon_H1d zenon_H19 zenon_H137 zenon_Hae zenon_H242 zenon_H245 zenon_H246.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H249); [ zenon_intro zenon_H15c | zenon_intro zenon_H24a ].
% 25.56/25.79  apply (zenon_L60_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H24a); [ zenon_intro zenon_H138 | zenon_intro zenon_H24b ].
% 25.56/25.79  apply (zenon_L54_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H24b); [ zenon_intro zenon_H243 | zenon_intro zenon_H247 ].
% 25.56/25.79  apply (zenon_L117_); trivial.
% 25.56/25.79  apply (zenon_L118_); trivial.
% 25.56/25.79  (* end of lemma zenon_L119_ *)
% 25.56/25.79  assert (zenon_L120_ : (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (~((e10) = (e13))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e20)) = (e23)) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H24c zenon_Hde zenon_H86 zenon_H17d zenon_H167 zenon_H14 zenon_H13 zenon_H4d zenon_Hbe zenon_H24d zenon_H208 zenon_H24e zenon_H249 zenon_H15d zenon_H18 zenon_H1d zenon_H19 zenon_H137 zenon_Hae zenon_H242 zenon_H245.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H24c); [ zenon_intro zenon_Hdd | zenon_intro zenon_H24f ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H24f); [ zenon_intro zenon_H17c | zenon_intro zenon_H250 ].
% 25.56/25.79  apply (zenon_L69_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H250); [ zenon_intro zenon_H251 | zenon_intro zenon_H246 ].
% 25.56/25.79  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H24e.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H208.
% 25.56/25.79  cut (((e23) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H252].
% 25.56/25.79  cut (((h4 (e13)) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H253].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [ zenon_intro zenon_H254 | zenon_intro zenon_H255 ].
% 25.56/25.79  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10)))) = ((h4 (e13)) = (h4 (op1 (e12) (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H253.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H254.
% 25.56/25.79  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H255].
% 25.56/25.79  cut (((h4 (op1 (e12) (e10))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H256].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e12) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H257].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H257 zenon_H251).
% 25.56/25.79  apply zenon_H255. apply refl_equal.
% 25.56/25.79  apply zenon_H255. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((e23) = (op2 (h4 (e12)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H252.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H258.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H259].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e20)) = (e23)) = ((op2 (h4 (e12)) (h4 (e10))) = (e23))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H25a.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H24d.
% 25.56/25.79  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.79  cut (((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H25b].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H25b.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H258.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H259].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.79  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L50_); trivial.
% 25.56/25.79  apply (zenon_L1_); trivial.
% 25.56/25.79  apply zenon_H259. apply refl_equal.
% 25.56/25.79  apply zenon_H259. apply refl_equal.
% 25.56/25.79  apply zenon_H5e. apply refl_equal.
% 25.56/25.79  apply zenon_H259. apply refl_equal.
% 25.56/25.79  apply zenon_H259. apply refl_equal.
% 25.56/25.79  apply (zenon_L119_); trivial.
% 25.56/25.79  (* end of lemma zenon_L120_ *)
% 25.56/25.79  assert (zenon_L121_ : ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H14 zenon_H25d zenon_H4d zenon_H4e zenon_H25e.
% 25.56/25.79  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ].
% 25.56/25.79  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((op2 (e21) (e22)) = (op2 (e23) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H25e.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H19f.
% 25.56/25.79  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1a0].
% 25.56/25.79  cut (((op2 (e23) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e23) (e22)) = (op2 (e21) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H25f.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H14.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.79  cut (((e20) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H260].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ].
% 25.56/25.79  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e20) = (op2 (e23) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H260.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H19f.
% 25.56/25.79  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1a0].
% 25.56/25.79  cut (((op2 (e23) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H261 zenon_H25d).
% 25.56/25.79  apply zenon_H1a0. apply refl_equal.
% 25.56/25.79  apply zenon_H1a0. apply refl_equal.
% 25.56/25.79  apply (zenon_L13_); trivial.
% 25.56/25.79  apply zenon_H1a0. apply refl_equal.
% 25.56/25.79  apply zenon_H1a0. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L121_ *)
% 25.56/25.79  assert (zenon_L122_ : (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((op2 (e22) (e22)) = (e22)) -> ((op2 (e23) (e22)) = (e22)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H262 zenon_Hb3 zenon_H263.
% 25.56/25.79  cut (((op2 (e22) (e22)) = (e22)) = ((op2 (e22) (e22)) = (op2 (e23) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H262.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hb3.
% 25.56/25.79  cut (((e22) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H264].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H5a. apply refl_equal.
% 25.56/25.79  apply zenon_H264. apply sym_equal. exact zenon_H263.
% 25.56/25.79  (* end of lemma zenon_L122_ *)
% 25.56/25.79  assert (zenon_L123_ : (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> ((op2 (e23) (e20)) = (e23)) -> ((op2 (e23) (e22)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H265 zenon_H266 zenon_H267.
% 25.56/25.79  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (e23) (e20)) = (op2 (e23) (e22)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H265.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H266.
% 25.56/25.79  cut (((e23) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 25.56/25.79  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 25.56/25.79  congruence.
% 25.56/25.79  apply zenon_H269. apply refl_equal.
% 25.56/25.79  apply zenon_H268. apply sym_equal. exact zenon_H267.
% 25.56/25.79  (* end of lemma zenon_L123_ *)
% 25.56/25.79  assert (zenon_L124_ : (((op2 (e23) (e22)) = (e20))\/(((op2 (e23) (e22)) = (e21))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> ((op2 (e23) (e20)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H26a zenon_H25e zenon_H4d zenon_H14 zenon_H4e zenon_H19c zenon_Hb3 zenon_H262 zenon_H265 zenon_H266.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26a); [ zenon_intro zenon_H25d | zenon_intro zenon_H26b ].
% 25.56/25.79  apply (zenon_L121_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26b); [ zenon_intro zenon_H19d | zenon_intro zenon_H26c ].
% 25.56/25.79  apply (zenon_L76_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26c); [ zenon_intro zenon_H263 | zenon_intro zenon_H267 ].
% 25.56/25.79  apply (zenon_L122_); trivial.
% 25.56/25.79  apply (zenon_L123_); trivial.
% 25.56/25.79  (* end of lemma zenon_L124_ *)
% 25.56/25.79  assert (zenon_L125_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((e12) = (e13))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e20)) = (e23))\/(((op2 (e22) (e20)) = (e23))\/((op2 (e23) (e20)) = (e23))))) -> (~((e20) = (e23))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e21)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))) -> ((h4 (e13)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e11)))) -> (~((e10) = (e13))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e10)) = (e13))\/(((op1 (e12) (e10)) = (e13))\/((op1 (e13) (e10)) = (e13))))) -> (((op2 (e23) (e22)) = (e20))\/(((op2 (e23) (e22)) = (e21))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((e22) = (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_Hba zenon_H1f4 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_Hc0 zenon_Ha2 zenon_Ha7 zenon_H16d zenon_H1e2 zenon_H26d zenon_Hd9 zenon_H100 zenon_H245 zenon_H242 zenon_H137 zenon_H15d zenon_H249 zenon_H24e zenon_H208 zenon_Hbe zenon_H13 zenon_H17d zenon_Hde zenon_H24c zenon_H26a zenon_H25e zenon_H19c zenon_H262 zenon_H265 zenon_H1e8 zenon_Hb8 zenon_H82 zenon_H1ec zenon_H1f2 zenon_H9c zenon_H97 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H1f5 ].
% 25.56/25.79  apply (zenon_L37_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_Hfe | zenon_intro zenon_H1f6 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26d); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H26e ].
% 25.56/25.79  apply (zenon_L37_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26e); [ zenon_intro zenon_Hff | zenon_intro zenon_H26f ].
% 25.56/25.79  apply (zenon_L44_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H26f); [ zenon_intro zenon_H24d | zenon_intro zenon_H266 ].
% 25.56/25.79  apply (zenon_L120_); trivial.
% 25.56/25.79  apply (zenon_L124_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.79  apply (zenon_L92_); trivial.
% 25.56/25.79  apply (zenon_L94_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ef ].
% 25.56/25.79  apply (zenon_L97_); trivial.
% 25.56/25.79  apply (zenon_L100_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L125_ *)
% 25.56/25.79  assert (zenon_L126_ : ((op2 (e22) (e21)) = (e21)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H195 zenon_Hbe zenon_H4d zenon_Hac zenon_H4e zenon_H270.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H270.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H271.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e21)) = (e21)) = ((op2 (h4 (e12)) (h4 (e11))) = (op2 (e23) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H273.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H195.
% 25.56/25.79  cut (((e21) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 25.56/25.79  cut (((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H274].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H274.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H271.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H275].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.79  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L50_); trivial.
% 25.56/25.79  apply (zenon_L31_); trivial.
% 25.56/25.79  apply zenon_H272. apply refl_equal.
% 25.56/25.79  apply zenon_H272. apply refl_equal.
% 25.56/25.79  exact (zenon_H12c zenon_H4e).
% 25.56/25.79  apply zenon_H272. apply refl_equal.
% 25.56/25.79  apply zenon_H272. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L126_ *)
% 25.56/25.79  assert (zenon_L127_ : (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((op1 (e12) (e11)) = (e11)) -> ((op2 (e22) (e21)) = (e21)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H276 zenon_H130 zenon_H195 zenon_Hbe zenon_H4d zenon_Hac zenon_H4e.
% 25.56/25.79  cut (((h4 (e11)) = (op2 (e23) (e23))) = ((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H276.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hac.
% 25.56/25.79  cut (((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 25.56/25.79  cut (((h4 (e11)) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H277].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [ zenon_intro zenon_H278 | zenon_intro zenon_H279 ].
% 25.56/25.79  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11)))) = ((h4 (e11)) = (h4 (op1 (e12) (e11))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H277.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H278.
% 25.56/25.79  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H279].
% 25.56/25.79  cut (((h4 (op1 (e12) (e11))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H27a].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e12) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H27b].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H27b zenon_H130).
% 25.56/25.79  apply zenon_H279. apply refl_equal.
% 25.56/25.79  apply zenon_H279. apply refl_equal.
% 25.56/25.79  apply (zenon_L126_); trivial.
% 25.56/25.79  (* end of lemma zenon_L127_ *)
% 25.56/25.79  assert (zenon_L128_ : (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e13) (e11)) = (e10)) -> ((op1 (e11) (e12)) = (e10)) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e21)) = (e21)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H16a zenon_H18 zenon_H19 zenon_H154 zenon_H147 zenon_H1d zenon_H156 zenon_H4e zenon_Hac zenon_H4d zenon_Hbe zenon_H195 zenon_H276 zenon_H133 zenon_Hae zenon_H166 zenon_H167.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H157 | zenon_intro zenon_H16b ].
% 25.56/25.79  apply (zenon_L59_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H130 | zenon_intro zenon_H16c ].
% 25.56/25.79  apply (zenon_L127_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H164 | zenon_intro zenon_H168 ].
% 25.56/25.79  apply (zenon_L62_); trivial.
% 25.56/25.79  apply (zenon_L63_); trivial.
% 25.56/25.79  (* end of lemma zenon_L128_ *)
% 25.56/25.79  assert (zenon_L129_ : (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e22) (e21)) = (e21)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H189 zenon_H10c zenon_H1c zenon_H43 zenon_H3c zenon_H2c zenon_H49 zenon_H15d zenon_H16a zenon_H156 zenon_H4e zenon_Hac zenon_H4d zenon_Hbe zenon_H195 zenon_H276 zenon_H133 zenon_Hae zenon_H166 zenon_H167 zenon_H86 zenon_H14d zenon_H161 zenon_H1d zenon_H18 zenon_H19 zenon_H174.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H189); [ zenon_intro zenon_H10d | zenon_intro zenon_H18c ].
% 25.56/25.79  apply (zenon_L47_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18c); [ zenon_intro zenon_H1e | zenon_intro zenon_H18d ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H18d); [ zenon_intro zenon_H147 | zenon_intro zenon_H173 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H14c | zenon_intro zenon_H162 ].
% 25.56/25.79  apply (zenon_L57_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H154 | zenon_intro zenon_H163 ].
% 25.56/25.79  apply (zenon_L128_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H15c | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L60_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  apply (zenon_L67_); trivial.
% 25.56/25.79  (* end of lemma zenon_L129_ *)
% 25.56/25.79  assert (zenon_L130_ : (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> ((op2 (e23) (e21)) = (e20)) -> ((op2 (e21) (e22)) = (e20)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H1cd zenon_H1a7 zenon_H1a6 zenon_H14 zenon_H1ac zenon_H174 zenon_H19 zenon_H18 zenon_H1d zenon_H161 zenon_H14d zenon_H86 zenon_H167 zenon_H166 zenon_Hae zenon_H133 zenon_H276 zenon_Hbe zenon_H4d zenon_Hac zenon_H4e zenon_H156 zenon_H16a zenon_H15d zenon_H49 zenon_H2c zenon_H3c zenon_H43 zenon_H1c zenon_H10c zenon_H189 zenon_H198 zenon_Hb3 zenon_H1ca zenon_Hfe.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1cd); [ zenon_intro zenon_H1ad | zenon_intro zenon_H1ce ].
% 25.56/25.79  apply (zenon_L79_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ce); [ zenon_intro zenon_H195 | zenon_intro zenon_H1cf ].
% 25.56/25.79  apply (zenon_L129_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1cf); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1cb ].
% 25.56/25.79  apply (zenon_L85_); trivial.
% 25.56/25.79  apply (zenon_L86_); trivial.
% 25.56/25.79  (* end of lemma zenon_L130_ *)
% 25.56/25.79  assert (zenon_L131_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((e21) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> ((op2 (e21) (e21)) = (e23)) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e12) = (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H82 zenon_Hb8 zenon_H1e8 zenon_Hde zenon_H4e zenon_H4d zenon_H60 zenon_Hb3 zenon_Hb5 zenon_H1da zenon_He2 zenon_H51 zenon_Hfe zenon_H1c2 zenon_H1be zenon_H1b2 zenon_H1cd zenon_H1ac zenon_H174 zenon_H161 zenon_H14d zenon_H166 zenon_H133 zenon_H276 zenon_Hbe zenon_Hac zenon_H156 zenon_H16a zenon_H15d zenon_H10c zenon_H189 zenon_H198 zenon_H1ca zenon_H1c5 zenon_H9c zenon_He8 zenon_H1d8 zenon_H14 zenon_Hec zenon_H84 zenon_H97 zenon_Hbc zenon_H1e2 zenon_H16d zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.79  apply (zenon_L38_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc6 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1da); [ zenon_intro zenon_He3 | zenon_intro zenon_H1db ].
% 25.56/25.79  apply (zenon_L39_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1db); [ zenon_intro zenon_H52 | zenon_intro zenon_H1dc ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1dc); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H1d4 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_He9 | zenon_intro zenon_H1dd ].
% 25.56/25.79  apply (zenon_L40_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1dd); [ zenon_intro zenon_H9d | zenon_intro zenon_H1de ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1de); [ zenon_intro zenon_Hed | zenon_intro zenon_H69 ].
% 25.56/25.79  apply (zenon_L41_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c5); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1c6 ].
% 25.56/25.79  apply (zenon_L130_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c6); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1c7 ].
% 25.56/25.79  apply (zenon_L80_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1c7); [ zenon_intro zenon_H1bd | zenon_intro zenon_H1c3 ].
% 25.56/25.79  apply (zenon_L82_); trivial.
% 25.56/25.79  apply (zenon_L83_); trivial.
% 25.56/25.79  apply (zenon_L89_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc7); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H61 ].
% 25.56/25.79  apply (zenon_L33_); trivial.
% 25.56/25.79  apply (zenon_L18_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.79  apply (zenon_L92_); trivial.
% 25.56/25.79  apply (zenon_L94_); trivial.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  (* end of lemma zenon_L131_ *)
% 25.56/25.79  assert (zenon_L132_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e20)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((e20) = (e23))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((e12) = (e13))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e20) = (e22))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (~((e10) = (e13))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((e22) = (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_Hba zenon_H1f4 zenon_Hd9 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_Hc0 zenon_Ha2 zenon_Ha7 zenon_H16d zenon_H1e2 zenon_Hbc zenon_H97 zenon_Hec zenon_H1d8 zenon_He8 zenon_H9c zenon_H1c5 zenon_H1ca zenon_H198 zenon_H189 zenon_H10c zenon_H15d zenon_H16a zenon_H156 zenon_Hac zenon_Hbe zenon_H276 zenon_H133 zenon_H166 zenon_H14d zenon_H161 zenon_H174 zenon_H1ac zenon_H1cd zenon_H1b2 zenon_H1be zenon_H1c2 zenon_He2 zenon_H1da zenon_Hb5 zenon_Hde zenon_H1e8 zenon_Hb8 zenon_H82 zenon_H1ec zenon_H1f2 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H1f5 ].
% 25.56/25.79  apply (zenon_L37_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_Hfe | zenon_intro zenon_H1f6 ].
% 25.56/25.79  apply (zenon_L131_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ef ].
% 25.56/25.79  apply (zenon_L97_); trivial.
% 25.56/25.79  apply (zenon_L100_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L132_ *)
% 25.56/25.79  assert (zenon_L133_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_Hba zenon_H82 zenon_Hb8 zenon_H27c zenon_Hbe zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43 zenon_H9c zenon_H97 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.79  apply (zenon_L26_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.79  apply (zenon_L29_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.79  apply (zenon_L30_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.79  cut (((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H27c.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hbe.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H27d].
% 25.56/25.79  cut (((h4 (e12)) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H27e].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [ zenon_intro zenon_H27f | zenon_intro zenon_H280 ].
% 25.56/25.79  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12)))) = ((h4 (e12)) = (h4 (op1 (e12) (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H27e.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H27f.
% 25.56/25.79  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H280].
% 25.56/25.79  cut (((h4 (op1 (e12) (e12))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e12) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H282].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H282 zenon_Hae).
% 25.56/25.79  apply zenon_H280. apply refl_equal.
% 25.56/25.79  apply zenon_H280. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H284 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((op2 (op2 (e23) (e23)) (e23)) = (op2 (h4 (e12)) (h4 (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H27d.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H283.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H284].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H285].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e22)) = (e22)) = ((op2 (h4 (e12)) (h4 (e12))) = (op2 (op2 (e23) (e23)) (e23)))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H285.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hb3.
% 25.56/25.79  cut (((e22) = (op2 (op2 (e23) (e23)) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 25.56/25.79  cut (((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H286].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H284 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H286.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H283.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H284].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H287].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.79  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L50_); trivial.
% 25.56/25.79  apply (zenon_L50_); trivial.
% 25.56/25.79  apply zenon_H284. apply refl_equal.
% 25.56/25.79  apply zenon_H284. apply refl_equal.
% 25.56/25.79  exact (zenon_Hd5 zenon_H4d).
% 25.56/25.79  apply zenon_H284. apply refl_equal.
% 25.56/25.79  apply zenon_H284. apply refl_equal.
% 25.56/25.79  apply (zenon_L34_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  apply (zenon_L35_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L133_ *)
% 25.56/25.79  assert (zenon_L134_ : (~((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op1 (e12) (e13)) = (e10)) -> ((op2 (e22) (e23)) = (e20)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H288 zenon_H13 zenon_H289 zenon_H28a zenon_H14 zenon_Hbe zenon_H4d zenon_H208.
% 25.56/25.79  cut (((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H288.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H13.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28b].
% 25.56/25.79  cut (((h4 (e10)) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [ zenon_intro zenon_H28d | zenon_intro zenon_H28e ].
% 25.56/25.79  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13)))) = ((h4 (e10)) = (h4 (op1 (e12) (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H28c.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H28d.
% 25.56/25.79  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H28e].
% 25.56/25.79  cut (((h4 (op1 (e12) (e13))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H28f].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e12) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H290].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H290 zenon_H289).
% 25.56/25.79  apply zenon_H28e. apply refl_equal.
% 25.56/25.79  apply zenon_H28e. apply refl_equal.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [ zenon_intro zenon_H291 | zenon_intro zenon_H292 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13)))) = ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (h4 (e12)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H28b.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H291.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H292].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H293].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e22) (e23)) = (e20)) = ((op2 (h4 (e12)) (h4 (e13))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H293.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H28a.
% 25.56/25.79  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 25.56/25.79  cut (((op2 (e22) (e23)) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H294].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [ zenon_intro zenon_H291 | zenon_intro zenon_H292 ].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13)))) = ((op2 (e22) (e23)) = (op2 (h4 (e12)) (h4 (e13))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H294.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H291.
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H292].
% 25.56/25.79  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 25.56/25.79  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.79  congruence.
% 25.56/25.79  apply (zenon_L50_); trivial.
% 25.56/25.79  exact (zenon_H214 zenon_H208).
% 25.56/25.79  apply zenon_H292. apply refl_equal.
% 25.56/25.79  apply zenon_H292. apply refl_equal.
% 25.56/25.79  exact (zenon_H90 zenon_H14).
% 25.56/25.79  apply zenon_H292. apply refl_equal.
% 25.56/25.79  apply zenon_H292. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L134_ *)
% 25.56/25.79  assert (zenon_L135_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((h4 (e13)) = (e23)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op2 (e22) (e23)) = (e20)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H296 zenon_H86 zenon_H1fe zenon_H174 zenon_H1d zenon_H208 zenon_H4d zenon_Hbe zenon_H14 zenon_H28a zenon_H13 zenon_H288 zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H296); [ zenon_intro zenon_H1ff | zenon_intro zenon_H297 ].
% 25.56/25.79  apply (zenon_L104_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H173 | zenon_intro zenon_H298 ].
% 25.56/25.79  apply (zenon_L67_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H298); [ zenon_intro zenon_H289 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L134_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  (* end of lemma zenon_L135_ *)
% 25.56/25.79  assert (zenon_L136_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> (~((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H80 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_H1d8 zenon_He8 zenon_H9c zenon_H299 zenon_H1f7 zenon_Hec zenon_H288 zenon_H13 zenon_Hbe zenon_H208 zenon_H174 zenon_H1fe zenon_H296 zenon_H82 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_He9 | zenon_intro zenon_H1dd ].
% 25.56/25.79  apply (zenon_L40_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1dd); [ zenon_intro zenon_H9d | zenon_intro zenon_H1de ].
% 25.56/25.79  apply (zenon_L27_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H1de); [ zenon_intro zenon_Hed | zenon_intro zenon_H69 ].
% 25.56/25.79  apply (zenon_L41_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H299); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H29a ].
% 25.56/25.79  apply (zenon_L102_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H29a); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H29b ].
% 25.56/25.79  apply (zenon_L89_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H29b); [ zenon_intro zenon_H28a | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L135_); trivial.
% 25.56/25.79  apply (zenon_L20_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.79  apply (zenon_L3_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.79  apply (zenon_L4_); trivial.
% 25.56/25.79  apply (zenon_L12_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.79  apply (zenon_L14_); trivial.
% 25.56/25.79  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.79  apply (zenon_L15_); trivial.
% 25.56/25.79  apply (zenon_L23_); trivial.
% 25.56/25.79  (* end of lemma zenon_L136_ *)
% 25.56/25.79  assert (zenon_L137_ : ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e13) (e10)) = (e12)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((e22) = (h4 (op1 (e13) (e10))))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_Hbe zenon_H29c zenon_H4d zenon_H29d.
% 25.56/25.79  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H29e | zenon_intro zenon_H29f ].
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((e22) = (h4 (op1 (e13) (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H29d.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H29e.
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H29f].
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H2a0].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) = ((h4 (op1 (e13) (e10))) = (e22))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H2a0.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_Hbe.
% 25.56/25.79  cut (((op2 (op2 (e23) (e23)) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 25.56/25.79  cut (((h4 (e12)) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a1].
% 25.56/25.79  congruence.
% 25.56/25.79  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H29e | zenon_intro zenon_H29f ].
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((h4 (e12)) = (h4 (op1 (e13) (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H2a1.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H29e.
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H29f].
% 25.56/25.79  cut (((h4 (op1 (e13) (e10))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2a2].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op1 (e13) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2a3].
% 25.56/25.79  congruence.
% 25.56/25.79  exact (zenon_H2a3 zenon_H29c).
% 25.56/25.79  apply zenon_H29f. apply refl_equal.
% 25.56/25.79  apply zenon_H29f. apply refl_equal.
% 25.56/25.79  apply zenon_H4f. apply sym_equal. exact zenon_H4d.
% 25.56/25.79  apply zenon_H29f. apply refl_equal.
% 25.56/25.79  apply zenon_H29f. apply refl_equal.
% 25.56/25.79  (* end of lemma zenon_L137_ *)
% 25.56/25.79  assert (zenon_L138_ : ((op2 (e23) (e20)) = (e22)) -> ((h4 (e13)) = (e23)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op1 (e13) (e10)) = (e12)) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> False).
% 25.56/25.79  do 0 intro. intros zenon_H2a4 zenon_H208 zenon_H13 zenon_H14 zenon_Hbe zenon_H4d zenon_H29c zenon_H2a5.
% 25.56/25.79  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ].
% 25.56/25.79  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H2a5.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H2a6.
% 25.56/25.79  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a7].
% 25.56/25.79  cut (((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a8].
% 25.56/25.79  congruence.
% 25.56/25.79  cut (((op2 (e23) (e20)) = (e22)) = ((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))).
% 25.56/25.79  intro zenon_D_pnotp.
% 25.56/25.79  apply zenon_H2a8.
% 25.56/25.79  rewrite <- zenon_D_pnotp.
% 25.56/25.79  exact zenon_H2a4.
% 25.56/25.79  cut (((e22) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H29d].
% 25.56/25.79  cut (((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a9].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2a7 ].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2a9.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2a6.
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H2a7].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2aa].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 25.56/25.80  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H214 zenon_H208).
% 25.56/25.80  apply (zenon_L1_); trivial.
% 25.56/25.80  apply zenon_H2a7. apply refl_equal.
% 25.56/25.80  apply zenon_H2a7. apply refl_equal.
% 25.56/25.80  apply (zenon_L137_); trivial.
% 25.56/25.80  apply zenon_H2a7. apply refl_equal.
% 25.56/25.80  apply zenon_H2a7. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L138_ *)
% 25.56/25.80  assert (zenon_L139_ : (~((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e11)))) -> ((op1 (e11) (e13)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> ((op1 (e10) (e11)) = (e12)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2ab zenon_H35 zenon_H19 zenon_Hcb.
% 25.56/25.80  cut (((op1 (e11) (e13)) = (e12)) = ((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e11)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2ab.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H35.
% 25.56/25.80  cut (((e12) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2ac].
% 25.56/25.80  cut (((op1 (e11) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2ad].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [ zenon_intro zenon_H2ae | zenon_intro zenon_H2af ].
% 25.56/25.80  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e11) (e13)) = (op1 (op1 (e13) (e13)) (e13)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2ad.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2ae.
% 25.56/25.80  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (op1 (e13) (e13)) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2af].
% 25.56/25.80  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 25.56/25.80  congruence.
% 25.56/25.80  apply (zenon_L6_); trivial.
% 25.56/25.80  apply zenon_H2af. apply refl_equal.
% 25.56/25.80  apply zenon_H2af. apply refl_equal.
% 25.56/25.80  apply zenon_H2ac. apply sym_equal. exact zenon_Hcb.
% 25.56/25.80  (* end of lemma zenon_L139_ *)
% 25.56/25.80  assert (zenon_L140_ : ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e13) (e11)) = (e12)) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e10) (e11)) = (e12)) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H18 zenon_H2b0 zenon_H35 zenon_Hcb zenon_H19 zenon_H2b1.
% 25.56/25.80  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 25.56/25.80  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e10) (e11)) = (op1 (e13) (e11)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2b1.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2b2.
% 25.56/25.80  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2b3].
% 25.56/25.80  cut (((op1 (e13) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2b4].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((e12) = (op1 (op1 (e13) (e13)) (e13))) = ((op1 (e13) (e11)) = (op1 (e10) (e11)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2b4.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H18.
% 25.56/25.80  cut (((op1 (op1 (e13) (e13)) (e13)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2ab].
% 25.56/25.80  cut (((e12) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2b5].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 25.56/25.80  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e12) = (op1 (e13) (e11)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2b5.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2b2.
% 25.56/25.80  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2b3].
% 25.56/25.80  cut (((op1 (e13) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b6].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H2b6 zenon_H2b0).
% 25.56/25.80  apply zenon_H2b3. apply refl_equal.
% 25.56/25.80  apply zenon_H2b3. apply refl_equal.
% 25.56/25.80  apply (zenon_L139_); trivial.
% 25.56/25.80  apply zenon_H2b3. apply refl_equal.
% 25.56/25.80  apply zenon_H2b3. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L140_ *)
% 25.56/25.80  assert (zenon_L141_ : (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> (~((e10) = (e12))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((op2 (e23) (e20)) = (e22)) -> ((h4 (e13)) = (e23)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> (((op1 (e13) (e10)) = (e12))\/(((op1 (e13) (e11)) = (e12))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_Hbf zenon_Ha2 zenon_H86 zenon_Hb8 zenon_H242 zenon_H49 zenon_H2b1 zenon_H16d zenon_H2a4 zenon_H208 zenon_H13 zenon_H14 zenon_Hbe zenon_H4d zenon_H2a5 zenon_H2b7 zenon_Hb0 zenon_Hae zenon_H2c zenon_H18 zenon_H19.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc9 ].
% 25.56/25.80  apply (zenon_L29_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc9); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hca ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2b7); [ zenon_intro zenon_H29c | zenon_intro zenon_H2b8 ].
% 25.56/25.80  apply (zenon_L138_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2b8); [ zenon_intro zenon_H2b0 | zenon_intro zenon_H2b9 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.80  apply (zenon_L7_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.80  apply (zenon_L140_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.80  apply (zenon_L65_); trivial.
% 25.56/25.80  apply (zenon_L34_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2b9); [ zenon_intro zenon_H243 | zenon_intro zenon_H42 ].
% 25.56/25.80  apply (zenon_L117_); trivial.
% 25.56/25.80  apply (zenon_L34_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hca); [ zenon_intro zenon_Haf | zenon_intro zenon_H2d ].
% 25.56/25.80  apply (zenon_L32_); trivial.
% 25.56/25.80  apply (zenon_L7_); trivial.
% 25.56/25.80  (* end of lemma zenon_L141_ *)
% 25.56/25.80  assert (zenon_L142_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> (~((e20) = (e22))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((h4 (e13)) = (e23)) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))) -> (((op1 (e13) (e10)) = (e12))\/(((op1 (e13) (e11)) = (e12))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (((op2 (e23) (e20)) = (e22))\/(((op2 (e23) (e21)) = (e22))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H80 zenon_Hba zenon_H82 zenon_Hb8 zenon_Hbc zenon_H97 zenon_H262 zenon_H1be zenon_Hbf zenon_Ha2 zenon_H242 zenon_H2b1 zenon_H16d zenon_H208 zenon_H13 zenon_Hbe zenon_H2a5 zenon_H2b7 zenon_Hb0 zenon_H2ba zenon_Hec zenon_H9c zenon_He8 zenon_H1d8 zenon_Hb5 zenon_Ha7 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.80  apply (zenon_L26_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.80  apply (zenon_L27_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.80  apply (zenon_L29_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.80  apply (zenon_L30_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hbc); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc6 ].
% 25.56/25.80  apply (zenon_L26_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_He9 | zenon_intro zenon_H1dd ].
% 25.56/25.80  apply (zenon_L40_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1dd); [ zenon_intro zenon_H9d | zenon_intro zenon_H1de ].
% 25.56/25.80  apply (zenon_L27_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1de); [ zenon_intro zenon_Hed | zenon_intro zenon_H69 ].
% 25.56/25.80  apply (zenon_L41_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2ba); [ zenon_intro zenon_H2a4 | zenon_intro zenon_H2bb ].
% 25.56/25.80  apply (zenon_L141_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2bb); [ zenon_intro zenon_H1bd | zenon_intro zenon_H2bc ].
% 25.56/25.80  apply (zenon_L82_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2bc); [ zenon_intro zenon_H263 | zenon_intro zenon_H76 ].
% 25.56/25.80  apply (zenon_L122_); trivial.
% 25.56/25.80  apply (zenon_L35_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc7); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H61 ].
% 25.56/25.80  apply (zenon_L33_); trivial.
% 25.56/25.80  apply (zenon_L18_); trivial.
% 25.56/25.80  apply (zenon_L34_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.80  apply (zenon_L3_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.80  apply (zenon_L4_); trivial.
% 25.56/25.80  apply (zenon_L12_); trivial.
% 25.56/25.80  apply (zenon_L35_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.80  apply (zenon_L14_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.80  apply (zenon_L15_); trivial.
% 25.56/25.80  apply (zenon_L23_); trivial.
% 25.56/25.80  (* end of lemma zenon_L142_ *)
% 25.56/25.80  assert (zenon_L143_ : (~((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e20) (e20)))) -> ((op2 (e21) (e22)) = (e20)) -> ((e21) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e20) (e20)) = (e20)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2bd zenon_H1a6 zenon_H4e zenon_H4d zenon_H84.
% 25.56/25.80  cut (((op2 (e21) (e22)) = (e20)) = ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e20) (e20)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2bd.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H1a6.
% 25.56/25.80  cut (((e20) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2be].
% 25.56/25.80  cut (((op2 (e21) (e22)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1a9].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H1ab ].
% 25.56/25.80  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e21) (e22)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H1a9.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H1aa.
% 25.56/25.80  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 25.56/25.80  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 25.56/25.80  congruence.
% 25.56/25.80  apply (zenon_L13_); trivial.
% 25.56/25.80  apply zenon_H1ab. apply refl_equal.
% 25.56/25.80  apply zenon_H1ab. apply refl_equal.
% 25.56/25.80  apply zenon_H2be. apply sym_equal. exact zenon_H84.
% 25.56/25.80  (* end of lemma zenon_L143_ *)
% 25.56/25.80  assert (zenon_L144_ : ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op1 (e13) (e11)) = (e10)) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((e20) = (h4 (op1 (e13) (e11))))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H13 zenon_H154 zenon_H14 zenon_H2bf.
% 25.56/25.80  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H2c0 | zenon_intro zenon_H2c1 ].
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((e20) = (h4 (op1 (e13) (e11))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2bf.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2c0.
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c1].
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2c2].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((h4 (op1 (e13) (e11))) = (e20))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2c2.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H13.
% 25.56/25.80  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 25.56/25.80  cut (((h4 (e10)) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c3].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H2c0 | zenon_intro zenon_H2c1 ].
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((h4 (e10)) = (h4 (op1 (e13) (e11))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2c3.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2c0.
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c1].
% 25.56/25.80  cut (((h4 (op1 (e13) (e11))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2c4].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((op1 (e13) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2c5].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H2c5 zenon_H154).
% 25.56/25.80  apply zenon_H2c1. apply refl_equal.
% 25.56/25.80  apply zenon_H2c1. apply refl_equal.
% 25.56/25.80  apply zenon_H15. apply sym_equal. exact zenon_H14.
% 25.56/25.80  apply zenon_H2c1. apply refl_equal.
% 25.56/25.80  apply zenon_H2c1. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L144_ *)
% 25.56/25.80  assert (zenon_L145_ : ((op2 (e23) (e21)) = (e20)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((op1 (e13) (e11)) = (e10)) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H1a7 zenon_H208 zenon_Hac zenon_H4e zenon_H13 zenon_H14 zenon_H154 zenon_H2c6.
% 25.56/25.80  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H2c7 | zenon_intro zenon_H2c8 ].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2c6.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2c7.
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c8].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c9].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((op2 (e23) (e21)) = (e20)) = ((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2c9.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H1a7.
% 25.56/25.80  cut (((e20) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2bf].
% 25.56/25.80  cut (((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2ca].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H2c7 | zenon_intro zenon_H2c8 ].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2ca.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2c7.
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H2c8].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H2cb].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 25.56/25.80  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H214 zenon_H208).
% 25.56/25.80  apply (zenon_L31_); trivial.
% 25.56/25.80  apply zenon_H2c8. apply refl_equal.
% 25.56/25.80  apply zenon_H2c8. apply refl_equal.
% 25.56/25.80  apply (zenon_L144_); trivial.
% 25.56/25.80  apply zenon_H2c8. apply refl_equal.
% 25.56/25.80  apply zenon_H2c8. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L145_ *)
% 25.56/25.80  assert (zenon_L146_ : (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op2 (e23) (e21)) = (e20)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H189 zenon_H10c zenon_H1c zenon_H43 zenon_H3c zenon_H2c zenon_H49 zenon_H15d zenon_H1a7 zenon_H208 zenon_Hac zenon_H4e zenon_H13 zenon_H14 zenon_H2c6 zenon_H86 zenon_H14d zenon_H161 zenon_H1d zenon_H18 zenon_H19 zenon_H174.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H189); [ zenon_intro zenon_H10d | zenon_intro zenon_H18c ].
% 25.56/25.80  apply (zenon_L47_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H18c); [ zenon_intro zenon_H1e | zenon_intro zenon_H18d ].
% 25.56/25.80  apply (zenon_L3_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H18d); [ zenon_intro zenon_H147 | zenon_intro zenon_H173 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H14c | zenon_intro zenon_H162 ].
% 25.56/25.80  apply (zenon_L57_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H154 | zenon_intro zenon_H163 ].
% 25.56/25.80  apply (zenon_L145_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H15c | zenon_intro zenon_H33 ].
% 25.56/25.80  apply (zenon_L60_); trivial.
% 25.56/25.80  apply (zenon_L12_); trivial.
% 25.56/25.80  apply (zenon_L67_); trivial.
% 25.56/25.80  (* end of lemma zenon_L146_ *)
% 25.56/25.80  assert (zenon_L147_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (((op2 (e21) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/((op2 (e21) (e23)) = (e20))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (((op1 (e11) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/((op1 (e11) (e13)) = (e10))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> (((op1 (e13) (e10)) = (e10))\/(((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e12)) = (op1 (e11) (e13)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (((op2 (e23) (e20)) = (e20))\/(((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e23)) = (e22))))) -> (~((op2 (e21) (e22)) = (op2 (e21) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H80 zenon_H43 zenon_H18 zenon_H3c zenon_H2c zenon_H19 zenon_H49 zenon_H1d zenon_H24 zenon_H1c zenon_H1da zenon_He2 zenon_H25e zenon_H189 zenon_H10c zenon_H15d zenon_H208 zenon_Hac zenon_H13 zenon_H2c6 zenon_H14d zenon_H161 zenon_H174 zenon_H2cc zenon_H2cd zenon_H9c zenon_He8 zenon_H1d8 zenon_Hec zenon_H82 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1da); [ zenon_intro zenon_He3 | zenon_intro zenon_H1db ].
% 25.56/25.80  apply (zenon_L39_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1db); [ zenon_intro zenon_H52 | zenon_intro zenon_H1dc ].
% 25.56/25.80  apply (zenon_L14_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1dc); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H1d4 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1d8); [ zenon_intro zenon_He9 | zenon_intro zenon_H1dd ].
% 25.56/25.80  apply (zenon_L40_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1dd); [ zenon_intro zenon_H9d | zenon_intro zenon_H1de ].
% 25.56/25.80  apply (zenon_L27_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1de); [ zenon_intro zenon_Hed | zenon_intro zenon_H69 ].
% 25.56/25.80  apply (zenon_L41_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2cd); [ zenon_intro zenon_H2cf | zenon_intro zenon_H2ce ].
% 25.56/25.80  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H269 ].
% 25.56/25.80  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e20) (e20)) = (op2 (e23) (e20)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2cc.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2d0.
% 25.56/25.80  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 25.56/25.80  cut (((op2 (e23) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2d1].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) = ((op2 (e23) (e20)) = (op2 (e20) (e20)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2d1.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H14.
% 25.56/25.80  cut (((op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2bd].
% 25.56/25.80  cut (((e20) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2d2].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H269 ].
% 25.56/25.80  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e20) = (op2 (e23) (e20)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2d2.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2d0.
% 25.56/25.80  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 25.56/25.80  cut (((op2 (e23) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d3].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H2d3 zenon_H2cf).
% 25.56/25.80  apply zenon_H269. apply refl_equal.
% 25.56/25.80  apply zenon_H269. apply refl_equal.
% 25.56/25.80  apply (zenon_L143_); trivial.
% 25.56/25.80  apply zenon_H269. apply refl_equal.
% 25.56/25.80  apply zenon_H269. apply refl_equal.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2ce); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H2d4 ].
% 25.56/25.80  apply (zenon_L146_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2d4); [ zenon_intro zenon_H25d | zenon_intro zenon_H67 ].
% 25.56/25.80  apply (zenon_L121_); trivial.
% 25.56/25.80  apply (zenon_L20_); trivial.
% 25.56/25.80  apply (zenon_L89_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.80  apply (zenon_L3_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.80  apply (zenon_L4_); trivial.
% 25.56/25.80  apply (zenon_L12_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.80  apply (zenon_L14_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.80  apply (zenon_L15_); trivial.
% 25.56/25.80  apply (zenon_L23_); trivial.
% 25.56/25.80  (* end of lemma zenon_L147_ *)
% 25.56/25.80  assert (zenon_L148_ : (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> ((op1 (e13) (e11)) = (e13)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2d5 zenon_H167 zenon_H2d6.
% 25.56/25.80  cut (((op1 (e11) (e11)) = (e13)) = ((op1 (e11) (e11)) = (op1 (e13) (e11)))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2d5.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H167.
% 25.56/25.80  cut (((e13) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2d7].
% 25.56/25.80  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 25.56/25.80  congruence.
% 25.56/25.80  apply zenon_H21. apply refl_equal.
% 25.56/25.80  apply zenon_H2d7. apply sym_equal. exact zenon_H2d6.
% 25.56/25.80  (* end of lemma zenon_L148_ *)
% 25.56/25.80  assert (zenon_L149_ : ((h4 (e13)) = (e23)) -> ((op1 (e13) (e12)) = (e13)) -> (~((e23) = (h4 (op1 (e13) (e12))))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H208 zenon_H247 zenon_H2d8.
% 25.56/25.80  elim (classic ((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [ zenon_intro zenon_H2d9 | zenon_intro zenon_H2da ].
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12)))) = ((e23) = (h4 (op1 (e13) (e12))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2d8.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2d9.
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2da].
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H2db].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e13) (e12))) = (e23))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2db.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H208.
% 25.56/25.80  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 25.56/25.80  cut (((h4 (e13)) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2dc].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [ zenon_intro zenon_H2d9 | zenon_intro zenon_H2da ].
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12)))) = ((h4 (e13)) = (h4 (op1 (e13) (e12))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2dc.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2d9.
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2da].
% 25.56/25.80  cut (((h4 (op1 (e13) (e12))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2dd].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((op1 (e13) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2de].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H2de zenon_H247).
% 25.56/25.80  apply zenon_H2da. apply refl_equal.
% 25.56/25.80  apply zenon_H2da. apply refl_equal.
% 25.56/25.80  apply zenon_H5e. apply refl_equal.
% 25.56/25.80  apply zenon_H2da. apply refl_equal.
% 25.56/25.80  apply zenon_H2da. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L149_ *)
% 25.56/25.80  assert (zenon_L150_ : ((op2 (e23) (e22)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> ((op1 (e13) (e12)) = (e13)) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H267 zenon_Hbe zenon_H4d zenon_H208 zenon_H247 zenon_H2df.
% 25.56/25.80  elim (classic ((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [ zenon_intro zenon_H2e0 | zenon_intro zenon_H2e1 ].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12)))) = ((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2df.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2e0.
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2e1].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2e2].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((op2 (e23) (e22)) = (e23)) = ((op2 (h4 (e13)) (h4 (e12))) = (h4 (op1 (e13) (e12))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2e2.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H267.
% 25.56/25.80  cut (((e23) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2d8].
% 25.56/25.80  cut (((op2 (e23) (e22)) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2e3].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [ zenon_intro zenon_H2e0 | zenon_intro zenon_H2e1 ].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12)))) = ((op2 (e23) (e22)) = (op2 (h4 (e13)) (h4 (e12))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2e3.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2e0.
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2e1].
% 25.56/25.80  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H2e4].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 25.56/25.80  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 25.56/25.80  congruence.
% 25.56/25.80  exact (zenon_H214 zenon_H208).
% 25.56/25.80  apply (zenon_L50_); trivial.
% 25.56/25.80  apply zenon_H2e1. apply refl_equal.
% 25.56/25.80  apply zenon_H2e1. apply refl_equal.
% 25.56/25.80  apply (zenon_L149_); trivial.
% 25.56/25.80  apply zenon_H2e1. apply refl_equal.
% 25.56/25.80  apply zenon_H2e1. apply refl_equal.
% 25.56/25.80  (* end of lemma zenon_L150_ *)
% 25.56/25.80  assert (zenon_L151_ : (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (e13) (e13))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> ((op1 (e11) (e11)) = (e13)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> ((h4 (e13)) = (e23)) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((op2 (e23) (e22)) = (e23)) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((op1 (e11) (e13)) = (e12)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2e5 zenon_H245 zenon_H242 zenon_Hae zenon_H137 zenon_H19 zenon_H1d zenon_H15d zenon_H249 zenon_H167 zenon_H2d5 zenon_H2df zenon_H208 zenon_H4d zenon_Hbe zenon_H267 zenon_Hb8 zenon_H18 zenon_H35.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2e5); [ zenon_intro zenon_H246 | zenon_intro zenon_H2e6 ].
% 25.56/25.80  apply (zenon_L119_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2e6); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2e7 ].
% 25.56/25.80  apply (zenon_L148_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H2e7); [ zenon_intro zenon_H247 | zenon_intro zenon_H1e5 ].
% 25.56/25.80  apply (zenon_L150_); trivial.
% 25.56/25.80  apply (zenon_L93_); trivial.
% 25.56/25.80  (* end of lemma zenon_L151_ *)
% 25.56/25.80  assert (zenon_L152_ : (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op2 (e23) (e22)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e13)) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H49 zenon_H2c zenon_H267 zenon_Hbe zenon_H4d zenon_H208 zenon_H2df zenon_H2d5 zenon_H167 zenon_H249 zenon_H15d zenon_H1d zenon_H137 zenon_Hae zenon_H242 zenon_H245 zenon_H2e5 zenon_H16d zenon_H18 zenon_H19 zenon_Hb8.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H2d | zenon_intro zenon_H4a ].
% 25.56/25.80  apply (zenon_L7_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H35 | zenon_intro zenon_H4b ].
% 25.56/25.80  apply (zenon_L151_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H3b | zenon_intro zenon_H42 ].
% 25.56/25.80  apply (zenon_L65_); trivial.
% 25.56/25.80  apply (zenon_L34_); trivial.
% 25.56/25.80  (* end of lemma zenon_L152_ *)
% 25.56/25.80  assert (zenon_L153_ : (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e13)) = (e10))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e13) (e12)) = (e10))\/(((op1 (e13) (e12)) = (e11))\/(((op1 (e13) (e12)) = (e12))\/((op1 (e13) (e12)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> ((h4 (e13)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e23) (e22)) = (e20))\/(((op2 (e23) (e22)) = (e21))\/(((op2 (e23) (e22)) = (e22))\/((op2 (e23) (e22)) = (e23))))) -> (~((e12) = (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e10) = (op1 (op1 (e13) (e13)) (op1 (op1 (e13) (e13)) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e11) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (e13) (e13)) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((e20) = (e22))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((e21) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H80 zenon_Hba zenon_H82 zenon_Hb8 zenon_H1e8 zenon_Hde zenon_H2e5 zenon_H245 zenon_H242 zenon_H137 zenon_H15d zenon_H249 zenon_H2d5 zenon_H2df zenon_H208 zenon_Hbe zenon_H262 zenon_H19c zenon_H25e zenon_H26a zenon_H1e2 zenon_H16d zenon_Ha7 zenon_Ha2 zenon_Hc0 zenon_H1c zenon_H24 zenon_H1d zenon_H49 zenon_H19 zenon_H2c zenon_H3c zenon_H18 zenon_H43 zenon_H9c zenon_H97 zenon_Hc1 zenon_H51 zenon_H58 zenon_H14 zenon_H7d zenon_H4e zenon_H60 zenon_H70 zenon_H4d zenon_H77.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.80  apply (zenon_L26_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.80  apply (zenon_L27_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H82); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ].
% 25.56/25.80  apply (zenon_L29_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hc5 ].
% 25.56/25.80  apply (zenon_L30_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hae | zenon_intro zenon_H42 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1e8); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1e9 ].
% 25.56/25.80  apply (zenon_L38_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H167 | zenon_intro zenon_H1ea ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H26a); [ zenon_intro zenon_H25d | zenon_intro zenon_H26b ].
% 25.56/25.80  apply (zenon_L121_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H26b); [ zenon_intro zenon_H19d | zenon_intro zenon_H26c ].
% 25.56/25.80  apply (zenon_L76_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H26c); [ zenon_intro zenon_H263 | zenon_intro zenon_H267 ].
% 25.56/25.80  apply (zenon_L122_); trivial.
% 25.56/25.80  apply (zenon_L152_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e5 ].
% 25.56/25.80  apply (zenon_L92_); trivial.
% 25.56/25.80  apply (zenon_L94_); trivial.
% 25.56/25.80  apply (zenon_L34_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H85); [ zenon_intro zenon_H1e | zenon_intro zenon_H93 ].
% 25.56/25.80  apply (zenon_L3_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H23 | zenon_intro zenon_H33 ].
% 25.56/25.80  apply (zenon_L4_); trivial.
% 25.56/25.80  apply (zenon_L12_); trivial.
% 25.56/25.80  apply (zenon_L35_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.80  apply (zenon_L14_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.80  apply (zenon_L15_); trivial.
% 25.56/25.80  apply (zenon_L23_); trivial.
% 25.56/25.80  (* end of lemma zenon_L153_ *)
% 25.56/25.80  assert (zenon_L154_ : (~((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e11) = (op1 (e13) (e13))) -> ((h4 (e13)) = (e23)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2e8 zenon_Hac zenon_H19 zenon_H208.
% 25.56/25.80  cut (((h4 (e11)) = (op2 (e23) (e23))) = ((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2e8.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_Hac.
% 25.56/25.80  cut (((op2 (e23) (e23)) = (op2 (h4 (e13)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2e9].
% 25.56/25.80  cut (((h4 (e11)) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2ea].
% 25.56/25.80  congruence.
% 25.56/25.80  elim (classic ((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [ zenon_intro zenon_H2eb | zenon_intro zenon_H2ec ].
% 25.56/25.80  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13)))) = ((h4 (e11)) = (h4 (op1 (e13) (e13))))).
% 25.56/25.80  intro zenon_D_pnotp.
% 25.56/25.80  apply zenon_H2ea.
% 25.56/25.80  rewrite <- zenon_D_pnotp.
% 25.56/25.80  exact zenon_H2eb.
% 25.56/25.80  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2ec].
% 25.56/25.80  cut (((h4 (op1 (e13) (e13))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2ed].
% 25.56/25.80  congruence.
% 25.56/25.80  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 25.56/25.80  congruence.
% 25.56/25.80  apply zenon_H1b. apply sym_equal. exact zenon_H19.
% 25.56/25.80  apply zenon_H2ec. apply refl_equal.
% 25.56/25.80  apply zenon_H2ec. apply refl_equal.
% 25.56/25.80  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 25.56/25.80  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 25.56/25.80  congruence.
% 25.56/25.80  apply zenon_H241. apply sym_equal. exact zenon_H208.
% 25.56/25.80  apply zenon_H241. apply sym_equal. exact zenon_H208.
% 25.56/25.80  (* end of lemma zenon_L154_ *)
% 25.56/25.80  assert (zenon_L155_ : (~(((h4 (e10)) = (e20))\/(((h4 (e11)) = (e20))\/(((h4 (e12)) = (e20))\/((h4 (e13)) = (e20)))))) -> ((h4 (e10)) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> ((e20) = (op2 (op2 (e23) (e23)) (op2 (op2 (e23) (e23)) (e23)))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2ee zenon_H13 zenon_H14.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2ee). zenon_intro zenon_H12. zenon_intro zenon_H2ef.
% 25.56/25.80  apply (zenon_L1_); trivial.
% 25.56/25.80  (* end of lemma zenon_L155_ *)
% 25.56/25.80  assert (zenon_L156_ : (~(((h4 (e10)) = (e21))\/(((h4 (e11)) = (e21))\/(((h4 (e12)) = (e21))\/((h4 (e13)) = (e21)))))) -> ((h4 (e11)) = (op2 (e23) (e23))) -> ((e21) = (op2 (e23) (e23))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2f0 zenon_Hac zenon_H4e.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2f0). zenon_intro zenon_H2f2. zenon_intro zenon_H2f1.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2f1). zenon_intro zenon_Hab. zenon_intro zenon_H2f3.
% 25.56/25.80  apply (zenon_L31_); trivial.
% 25.56/25.80  (* end of lemma zenon_L156_ *)
% 25.56/25.80  assert (zenon_L157_ : (~(((h4 (e10)) = (e22))\/(((h4 (e11)) = (e22))\/(((h4 (e12)) = (e22))\/((h4 (e13)) = (e22)))))) -> ((h4 (e12)) = (op2 (op2 (e23) (e23)) (e23))) -> ((e22) = (op2 (op2 (e23) (e23)) (e23))) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2f4 zenon_Hbe zenon_H4d.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2f4). zenon_intro zenon_H2f6. zenon_intro zenon_H2f5.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2f5). zenon_intro zenon_H2f8. zenon_intro zenon_H2f7.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2f7). zenon_intro zenon_H11e. zenon_intro zenon_H2f9.
% 25.56/25.80  apply (zenon_L50_); trivial.
% 25.56/25.80  (* end of lemma zenon_L157_ *)
% 25.56/25.80  assert (zenon_L158_ : (~(((h4 (e10)) = (e23))\/(((h4 (e11)) = (e23))\/(((h4 (e12)) = (e23))\/((h4 (e13)) = (e23)))))) -> ((h4 (e13)) = (e23)) -> False).
% 25.56/25.80  do 0 intro. intros zenon_H2fa zenon_H208.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2fa). zenon_intro zenon_H2fc. zenon_intro zenon_H2fb.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2fb). zenon_intro zenon_H2fe. zenon_intro zenon_H2fd.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H2fd). zenon_intro zenon_H2ff. zenon_intro zenon_H214.
% 25.56/25.80  exact (zenon_H214 zenon_H208).
% 25.56/25.80  (* end of lemma zenon_L158_ *)
% 25.56/25.80  apply NNPP. intro zenon_G.
% 25.56/25.80  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H301. zenon_intro zenon_H300.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H300). zenon_intro zenon_H303. zenon_intro zenon_H302.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H302). zenon_intro zenon_H305. zenon_intro zenon_H304.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H304). zenon_intro zenon_H215. zenon_intro zenon_H306.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H306). zenon_intro zenon_H180. zenon_intro zenon_H307.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H307). zenon_intro zenon_H309. zenon_intro zenon_H308.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H30b. zenon_intro zenon_H30a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H30a). zenon_intro zenon_H30d. zenon_intro zenon_H30c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H30c). zenon_intro zenon_H30f. zenon_intro zenon_H30e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H30e). zenon_intro zenon_H16a. zenon_intro zenon_H310.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H310). zenon_intro zenon_H312. zenon_intro zenon_H311.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H311). zenon_intro zenon_H314. zenon_intro zenon_H313.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H313). zenon_intro zenon_H316. zenon_intro zenon_H315.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H318. zenon_intro zenon_H317.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H317). zenon_intro zenon_H249. zenon_intro zenon_H319.
% 25.56/25.80  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H31b. zenon_intro zenon_H31a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H31a). zenon_intro zenon_H31d. zenon_intro zenon_H31c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H31c). zenon_intro zenon_H31f. zenon_intro zenon_H31e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H187. zenon_intro zenon_H320.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H320). zenon_intro zenon_Hbf. zenon_intro zenon_H321.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H323. zenon_intro zenon_H322.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H322). zenon_intro zenon_H325. zenon_intro zenon_H324.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H324). zenon_intro zenon_H24c. zenon_intro zenon_H326.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H326). zenon_intro zenon_H189. zenon_intro zenon_H327.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_H329. zenon_intro zenon_H328.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H328). zenon_intro zenon_H32b. zenon_intro zenon_H32a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H32a). zenon_intro zenon_H32d. zenon_intro zenon_H32c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H32c). zenon_intro zenon_H32f. zenon_intro zenon_H32e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H32e). zenon_intro zenon_H331. zenon_intro zenon_H330.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H330). zenon_intro zenon_H333. zenon_intro zenon_H332.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H332). zenon_intro zenon_H335. zenon_intro zenon_H334.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H334). zenon_intro zenon_H337. zenon_intro zenon_H336.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H339. zenon_intro zenon_H338.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H188. zenon_intro zenon_H33a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H33a). zenon_intro zenon_H13d. zenon_intro zenon_H33b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H33b). zenon_intro zenon_H33d. zenon_intro zenon_H33c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H33c). zenon_intro zenon_H33f. zenon_intro zenon_H33e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H33e). zenon_intro zenon_H341. zenon_intro zenon_H340.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H343. zenon_intro zenon_H342.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H342). zenon_intro zenon_H161. zenon_intro zenon_H344.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H344). zenon_intro zenon_H296. zenon_intro zenon_H345.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H345). zenon_intro zenon_H347. zenon_intro zenon_H346.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H346). zenon_intro zenon_H349. zenon_intro zenon_H348.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H348). zenon_intro zenon_H2b7. zenon_intro zenon_H34a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H49. zenon_intro zenon_H34b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H34b). zenon_intro zenon_H2e5. zenon_intro zenon_H34c.
% 25.56/25.80  apply (zenon_and_s _ _ ax3). zenon_intro zenon_H34e. zenon_intro zenon_H34d.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H34d). zenon_intro zenon_H350. zenon_intro zenon_H34f.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H34f). zenon_intro zenon_H352. zenon_intro zenon_H351.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H218. zenon_intro zenon_H353.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H353). zenon_intro zenon_H103. zenon_intro zenon_H354.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H356. zenon_intro zenon_H355.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H355). zenon_intro zenon_H358. zenon_intro zenon_H357.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H357). zenon_intro zenon_H35a. zenon_intro zenon_H359.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H35c. zenon_intro zenon_H35b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_H1cd. zenon_intro zenon_H35d.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H35f. zenon_intro zenon_H35e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H361. zenon_intro zenon_H360.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H360). zenon_intro zenon_H363. zenon_intro zenon_H362.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H362). zenon_intro zenon_H1c5. zenon_intro zenon_H364.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H364). zenon_intro zenon_H26a. zenon_intro zenon_H365.
% 25.56/25.80  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H367. zenon_intro zenon_H366.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H366). zenon_intro zenon_H369. zenon_intro zenon_H368.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H368). zenon_intro zenon_H36b. zenon_intro zenon_H36a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_H36d. zenon_intro zenon_H36c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_Hbc. zenon_intro zenon_H36e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H36e). zenon_intro zenon_H370. zenon_intro zenon_H36f.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_H372. zenon_intro zenon_H371.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H26d. zenon_intro zenon_H373.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_H1da. zenon_intro zenon_H374.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H374). zenon_intro zenon_H376. zenon_intro zenon_H375.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_H378. zenon_intro zenon_H377.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H377). zenon_intro zenon_H37a. zenon_intro zenon_H379.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H379). zenon_intro zenon_H1d8. zenon_intro zenon_H37b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H37b). zenon_intro zenon_H37d. zenon_intro zenon_H37c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_H37f. zenon_intro zenon_H37e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H37e). zenon_intro zenon_H381. zenon_intro zenon_H380.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H380). zenon_intro zenon_H383. zenon_intro zenon_H382.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H382). zenon_intro zenon_H385. zenon_intro zenon_H384.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H384). zenon_intro zenon_H1d9. zenon_intro zenon_H386.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H386). zenon_intro zenon_H1a2. zenon_intro zenon_H387.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H387). zenon_intro zenon_H389. zenon_intro zenon_H388.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H388). zenon_intro zenon_H38b. zenon_intro zenon_H38a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H38a). zenon_intro zenon_H38d. zenon_intro zenon_H38c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_H38f. zenon_intro zenon_H38e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H2cd. zenon_intro zenon_H390.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_H299. zenon_intro zenon_H391.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H391). zenon_intro zenon_H393. zenon_intro zenon_H392.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H392). zenon_intro zenon_H395. zenon_intro zenon_H394.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H2ba. zenon_intro zenon_H396.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H396). zenon_intro zenon_H7d. zenon_intro zenon_H397.
% 25.56/25.80  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H399. zenon_intro zenon_H398.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H398). zenon_intro zenon_H39b. zenon_intro zenon_H39a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H39a). zenon_intro zenon_H14d. zenon_intro zenon_H39c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H118. zenon_intro zenon_H39d.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H39d). zenon_intro zenon_H39f. zenon_intro zenon_H39e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_H3a1. zenon_intro zenon_H3a0.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H3a3. zenon_intro zenon_H3a2.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H3a5. zenon_intro zenon_H3a4.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a4). zenon_intro zenon_H2b1. zenon_intro zenon_H3a6.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H166. zenon_intro zenon_H3a7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a7). zenon_intro zenon_H2d5. zenon_intro zenon_H3a8.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a8). zenon_intro zenon_H156. zenon_intro zenon_H3a9.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3a9). zenon_intro zenon_H3ab. zenon_intro zenon_H3aa.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_Hb0. zenon_intro zenon_H3ac.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ac). zenon_intro zenon_H3ae. zenon_intro zenon_H3ad.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H24. zenon_intro zenon_H3af.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3af). zenon_intro zenon_H15d. zenon_intro zenon_H3b0.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b0). zenon_intro zenon_H242. zenon_intro zenon_H3b1.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b1). zenon_intro zenon_H2c. zenon_intro zenon_H3b2.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b2). zenon_intro zenon_H3c. zenon_intro zenon_H3b3.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H43. zenon_intro zenon_H3b4.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b4). zenon_intro zenon_H16d. zenon_intro zenon_H3b5.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b5). zenon_intro zenon_Hb8. zenon_intro zenon_H3b6.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b6). zenon_intro zenon_H16f. zenon_intro zenon_H3b7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H3b9. zenon_intro zenon_H3b8.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3b8). zenon_intro zenon_H3bb. zenon_intro zenon_H3ba.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ba). zenon_intro zenon_H1fe. zenon_intro zenon_H3bc.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H3be. zenon_intro zenon_H3bd.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3bd). zenon_intro zenon_H3c0. zenon_intro zenon_H3bf.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3bf). zenon_intro zenon_H3c2. zenon_intro zenon_H3c1.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c1). zenon_intro zenon_H17d. zenon_intro zenon_H3c3.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c3). zenon_intro zenon_H10c. zenon_intro zenon_H3c4.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c4). zenon_intro zenon_H178. zenon_intro zenon_H3c5.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c5). zenon_intro zenon_H1c. zenon_intro zenon_H3c6.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c6). zenon_intro zenon_Ha7. zenon_intro zenon_H3c7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c7). zenon_intro zenon_H174. zenon_intro zenon_H3c8.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H3ca. zenon_intro zenon_H3c9.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3c9). zenon_intro zenon_H3cc. zenon_intro zenon_H3cb.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3cb). zenon_intro zenon_H3ce. zenon_intro zenon_H3cd.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_H133. zenon_intro zenon_H3cf.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3cf). zenon_intro zenon_H3d1. zenon_intro zenon_H3d0.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d0). zenon_intro zenon_H3d3. zenon_intro zenon_H3d2.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H3d5. zenon_intro zenon_H3d4.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d4). zenon_intro zenon_H245. zenon_intro zenon_H3d6.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H183. zenon_intro zenon_H3d7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H3d9. zenon_intro zenon_H3d8.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H3da. zenon_intro zenon_H137.
% 25.56/25.80  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H3dc. zenon_intro zenon_H3db.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H3de. zenon_intro zenon_H3dd.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H2cc. zenon_intro zenon_H3df.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_Hf8. zenon_intro zenon_H3e0.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H3e2. zenon_intro zenon_H3e1.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H3e4. zenon_intro zenon_H3e3.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_H3e6. zenon_intro zenon_H3e5.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H3e8. zenon_intro zenon_H3e7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H1be. zenon_intro zenon_H3e9.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_H1ca. zenon_intro zenon_H3ea.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_H1c2. zenon_intro zenon_H3eb.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_H1ac. zenon_intro zenon_H3ec.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ec). zenon_intro zenon_H3ee. zenon_intro zenon_H3ed.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ed). zenon_intro zenon_Hb5. zenon_intro zenon_H3ef.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_H3f1. zenon_intro zenon_H3f0.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f0). zenon_intro zenon_H58. zenon_intro zenon_H3f2.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f2). zenon_intro zenon_H25e. zenon_intro zenon_H3f3.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f3). zenon_intro zenon_H262. zenon_intro zenon_H3f4.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f4). zenon_intro zenon_H60. zenon_intro zenon_H3f5.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f5). zenon_intro zenon_H70. zenon_intro zenon_H3f6.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_H77. zenon_intro zenon_H3f7.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f7). zenon_intro zenon_H1f2. zenon_intro zenon_H3f8.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_Hba. zenon_intro zenon_H3f9.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3f9). zenon_intro zenon_H1d0. zenon_intro zenon_H3fa.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3fa). zenon_intro zenon_H3fc. zenon_intro zenon_H3fb.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3fb). zenon_intro zenon_H3fe. zenon_intro zenon_H3fd.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3fd). zenon_intro zenon_H1f7. zenon_intro zenon_H3ff.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H3ff). zenon_intro zenon_H401. zenon_intro zenon_H400.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H400). zenon_intro zenon_H403. zenon_intro zenon_H402.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H402). zenon_intro zenon_H405. zenon_intro zenon_H404.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H404). zenon_intro zenon_H100. zenon_intro zenon_H406.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H406). zenon_intro zenon_He2. zenon_intro zenon_H407.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H407). zenon_intro zenon_He8. zenon_intro zenon_H408.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H51. zenon_intro zenon_H409.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H409). zenon_intro zenon_H9c. zenon_intro zenon_H40a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_Hec. zenon_intro zenon_H40b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H40b). zenon_intro zenon_H40d. zenon_intro zenon_H40c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H40c). zenon_intro zenon_H40f. zenon_intro zenon_H40e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H40e). zenon_intro zenon_H411. zenon_intro zenon_H410.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H410). zenon_intro zenon_H198. zenon_intro zenon_H412.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H412). zenon_intro zenon_H414. zenon_intro zenon_H413.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H413). zenon_intro zenon_H416. zenon_intro zenon_H415.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H415). zenon_intro zenon_H418. zenon_intro zenon_H417.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H417). zenon_intro zenon_H265. zenon_intro zenon_H419.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H419). zenon_intro zenon_H41b. zenon_intro zenon_H41a.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H41d. zenon_intro zenon_H41c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H41c). zenon_intro zenon_H1b2. zenon_intro zenon_H19c.
% 25.56/25.80  apply (zenon_and_s _ _ ax7). zenon_intro zenon_H107. zenon_intro zenon_H41e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H41e). zenon_intro zenon_Ha2. zenon_intro zenon_H41f.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H41f). zenon_intro zenon_Hde. zenon_intro zenon_H420.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H420). zenon_intro zenon_H422. zenon_intro zenon_H421.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H421). zenon_intro zenon_H423. zenon_intro zenon_H1e2.
% 25.56/25.80  apply (zenon_and_s _ _ ax8). zenon_intro zenon_H425. zenon_intro zenon_H424.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H424). zenon_intro zenon_H97. zenon_intro zenon_H426.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H426). zenon_intro zenon_Hd9. zenon_intro zenon_H427.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H427). zenon_intro zenon_H429. zenon_intro zenon_H428.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H428). zenon_intro zenon_H42a. zenon_intro zenon_H1ec.
% 25.56/25.80  apply (zenon_and_s _ _ ax10). zenon_intro zenon_H82. zenon_intro zenon_H42b.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H42b). zenon_intro zenon_H42d. zenon_intro zenon_H42c.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H42c). zenon_intro zenon_Hc0. zenon_intro zenon_H42e.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H42e). zenon_intro zenon_H1e8. zenon_intro zenon_H42f.
% 25.56/25.80  apply (zenon_and_s _ _ ax11). zenon_intro zenon_H80. zenon_intro zenon_H430.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H430). zenon_intro zenon_H432. zenon_intro zenon_H431.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H431). zenon_intro zenon_Hc1. zenon_intro zenon_H433.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H433). zenon_intro zenon_H1f4. zenon_intro zenon_H434.
% 25.56/25.80  apply (zenon_and_s _ _ ax12). zenon_intro zenon_H1d. zenon_intro zenon_H435.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H435). zenon_intro zenon_H19. zenon_intro zenon_H18.
% 25.56/25.80  apply (zenon_and_s _ _ ax13). zenon_intro zenon_H14. zenon_intro zenon_H436.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H436). zenon_intro zenon_H4e. zenon_intro zenon_H4d.
% 25.56/25.80  apply (zenon_and_s _ _ ax17). zenon_intro zenon_H208. zenon_intro zenon_H437.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H437). zenon_intro zenon_H13. zenon_intro zenon_H438.
% 25.56/25.80  apply (zenon_and_s _ _ zenon_H438). zenon_intro zenon_Hac. zenon_intro zenon_Hbe.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H43a. zenon_intro zenon_H439.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H439). zenon_intro zenon_H43c. zenon_intro zenon_H43b.
% 25.56/25.80  apply (zenon_notor_s _ _ zenon_H43b). zenon_intro zenon_H43e. zenon_intro zenon_H43d.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H43d); [ zenon_intro zenon_H81 | zenon_intro zenon_H43f ].
% 25.56/25.80  apply (zenon_L24_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H43f); [ zenon_intro zenon_Hbd | zenon_intro zenon_H440 ].
% 25.56/25.80  apply (zenon_L36_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H440); [ zenon_intro zenon_H120 | zenon_intro zenon_H441 ].
% 25.56/25.80  apply (zenon_L101_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H441); [ zenon_intro zenon_H205 | zenon_intro zenon_H442 ].
% 25.56/25.80  apply (zenon_L108_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H442); [ zenon_intro zenon_H21b | zenon_intro zenon_H443 ].
% 25.56/25.80  apply (zenon_L112_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H443); [ zenon_intro zenon_H226 | zenon_intro zenon_H444 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H80); [ zenon_intro zenon_H84 | zenon_intro zenon_H83 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc1); [ zenon_intro zenon_H96 | zenon_intro zenon_Hc2 ].
% 25.56/25.80  apply (zenon_L26_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H9d | zenon_intro zenon_Hc3 ].
% 25.56/25.80  apply (zenon_L27_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_Hc3); [ zenon_intro zenon_Hb3 | zenon_intro zenon_H76 ].
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1f4); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H1f5 ].
% 25.56/25.80  apply (zenon_L37_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1f5); [ zenon_intro zenon_Hfe | zenon_intro zenon_H1f6 ].
% 25.56/25.80  apply (zenon_L113_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1eb | zenon_intro zenon_H1ef ].
% 25.56/25.80  apply (zenon_L97_); trivial.
% 25.56/25.80  apply (zenon_L100_); trivial.
% 25.56/25.80  apply (zenon_L35_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H83); [ zenon_intro zenon_H52 | zenon_intro zenon_H94 ].
% 25.56/25.80  apply (zenon_L14_); trivial.
% 25.56/25.80  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H57 | zenon_intro zenon_H67 ].
% 25.56/25.80  apply (zenon_L15_); trivial.
% 25.56/25.80  apply (zenon_L23_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H444); [ zenon_intro zenon_H232 | zenon_intro zenon_H445 ].
% 25.56/25.80  apply (zenon_L114_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H445); [ zenon_intro zenon_H23b | zenon_intro zenon_H446 ].
% 25.56/25.80  apply (zenon_L116_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H446); [ zenon_intro zenon_H24e | zenon_intro zenon_H447 ].
% 25.56/25.80  apply (zenon_L125_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H447); [ zenon_intro zenon_H276 | zenon_intro zenon_H448 ].
% 25.56/25.80  apply (zenon_L132_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H448); [ zenon_intro zenon_H27c | zenon_intro zenon_H449 ].
% 25.56/25.80  apply (zenon_L133_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H449); [ zenon_intro zenon_H288 | zenon_intro zenon_H44a ].
% 25.56/25.80  apply (zenon_L136_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44a); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H44b ].
% 25.56/25.80  apply (zenon_L142_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44b); [ zenon_intro zenon_H2c6 | zenon_intro zenon_H44c ].
% 25.56/25.80  apply (zenon_L147_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44c); [ zenon_intro zenon_H2df | zenon_intro zenon_H44d ].
% 25.56/25.80  apply (zenon_L153_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44d); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H44e ].
% 25.56/25.80  apply (zenon_L154_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44e); [ zenon_intro zenon_H2ee | zenon_intro zenon_H44f ].
% 25.56/25.80  apply (zenon_L155_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H44f); [ zenon_intro zenon_H2f0 | zenon_intro zenon_H450 ].
% 25.56/25.80  apply (zenon_L156_); trivial.
% 25.56/25.80  apply (zenon_notand_s _ _ zenon_H450); [ zenon_intro zenon_H2f4 | zenon_intro zenon_H2fa ].
% 25.56/25.80  apply (zenon_L157_); trivial.
% 25.56/25.80  apply (zenon_L158_); trivial.
% 25.56/25.80  Qed.
% 25.56/25.80  % SZS output end Proof
% 25.56/25.80  (* END-PROOF *)
% 25.56/25.80  nodes searched: 1379246
% 25.56/25.80  max branch formulas: 1977
% 25.56/25.80  proof nodes created: 12437
% 25.56/25.80  formulas created: 647938
% 25.56/25.80  
%------------------------------------------------------------------------------