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

View Problem - Process Solution

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

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

% Result   : Theorem 23.82s 24.06s
% Output   : Proof 23.91s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem  : ALG114+1 : TPTP v8.1.0. Released v2.7.0.
% 0.07/0.13  % Command  : run_zenon %s %d
% 0.14/0.35  % Computer : n021.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit : 300
% 0.14/0.35  % WCLimit  : 600
% 0.14/0.35  % DateTime : Wed Jun  8 07:35:07 EDT 2022
% 0.14/0.35  % CPUTime  : 
% 23.82/24.06  (* PROOF-FOUND *)
% 23.82/24.06  % SZS status Theorem
% 23.82/24.06  (* BEGIN-PROOF *)
% 23.82/24.06  % SZS output start Proof
% 23.82/24.06  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))))))))))))))))))))))))))).
% 23.82/24.06  Proof.
% 23.82/24.06  assert (zenon_L1_ : (((op2 (e20) (e20)) = (e20))/\(~((op2 (e20) (e20)) = (e20)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H12.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H12). zenon_intro zenon_H14. zenon_intro zenon_H13.
% 23.82/24.06  exact (zenon_H13 zenon_H14).
% 23.82/24.06  (* end of lemma zenon_L1_ *)
% 23.82/24.06  assert (zenon_L2_ : (((op1 (e10) (e10)) = (e10))/\(~((op1 (e10) (e10)) = (e10)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H15.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H15). zenon_intro zenon_H17. zenon_intro zenon_H16.
% 23.82/24.06  exact (zenon_H16 zenon_H17).
% 23.82/24.06  (* end of lemma zenon_L2_ *)
% 23.82/24.06  assert (zenon_L3_ : (~((h3 (e10)) = (e20))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H18 zenon_H19 zenon_H1a.
% 23.82/24.06  cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) = ((h3 (e10)) = (e20))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H18.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H19.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 23.82/24.06  cut (((h3 (e10)) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H1c. apply refl_equal.
% 23.82/24.06  apply zenon_H1b. apply sym_equal. exact zenon_H1a.
% 23.82/24.06  (* end of lemma zenon_L3_ *)
% 23.82/24.06  assert (zenon_L4_ : (~((e22) = (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H1d.
% 23.82/24.06  apply zenon_H1d. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L4_ *)
% 23.82/24.06  assert (zenon_L5_ : (~((e10) = (e10))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H1e.
% 23.82/24.06  apply zenon_H1e. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L5_ *)
% 23.82/24.06  assert (zenon_L6_ : ((op1 (e11) (e11)) = (e10)) -> ((op1 (e11) (e11)) = (e12)) -> (~((e10) = (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H1f zenon_H20 zenon_H21.
% 23.82/24.06  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H22 | zenon_intro zenon_H23 ].
% 23.82/24.06  cut (((e12) = (e12)) = ((e10) = (e12))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H21.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H22.
% 23.82/24.06  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 23.82/24.06  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((op1 (e11) (e11)) = (e10)) = ((e12) = (e10))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H24.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H1f.
% 23.82/24.06  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 23.82/24.06  cut (((op1 (e11) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H25 zenon_H20).
% 23.82/24.06  apply zenon_H1e. apply refl_equal.
% 23.82/24.06  apply zenon_H23. apply refl_equal.
% 23.82/24.06  apply zenon_H23. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L6_ *)
% 23.82/24.06  assert (zenon_L7_ : (((op1 (e11) (e11)) = (e12))/\(~((op1 (e12) (e12)) = (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((e10) = (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H26 zenon_H1f zenon_H21.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H26). zenon_intro zenon_H20. zenon_intro zenon_H27.
% 23.82/24.06  apply (zenon_L6_); trivial.
% 23.82/24.06  (* end of lemma zenon_L7_ *)
% 23.82/24.06  assert (zenon_L8_ : (((op1 (e12) (e12)) = (e12))/\(~((op1 (e12) (e12)) = (e12)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H28.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H28). zenon_intro zenon_H2a. zenon_intro zenon_H29.
% 23.82/24.06  exact (zenon_H29 zenon_H2a).
% 23.82/24.06  (* end of lemma zenon_L8_ *)
% 23.82/24.06  assert (zenon_L9_ : (((op1 (e13) (e13)) = (e12))/\(~((op1 (e12) (e12)) = (e13)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H2b zenon_H2c.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H2b). zenon_intro zenon_H2e. zenon_intro zenon_H2d.
% 23.82/24.06  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 23.82/24.06  (* end of lemma zenon_L9_ *)
% 23.82/24.06  assert (zenon_L10_ : (~((e13) = (e13))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H2f.
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L10_ *)
% 23.82/24.06  assert (zenon_L11_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e13))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H2c zenon_H30 zenon_H31.
% 23.82/24.06  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H32 | zenon_intro zenon_H2f ].
% 23.82/24.06  cut (((e13) = (e13)) = ((e10) = (e13))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H31.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H32.
% 23.82/24.06  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 23.82/24.06  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e13) = (op1 (e12) (e12))) = ((e13) = (e10))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H33.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H2c.
% 23.82/24.06  cut (((op1 (e12) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 23.82/24.06  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  exact (zenon_H34 zenon_H30).
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L11_ *)
% 23.82/24.06  assert (zenon_L12_ : (((op1 (e12) (e12)) = (e10))/\(~((op1 (e10) (e10)) = (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((e10) = (e13))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H35 zenon_H2c zenon_H31.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H35). zenon_intro zenon_H30. zenon_intro zenon_H36.
% 23.82/24.06  apply (zenon_L11_); trivial.
% 23.82/24.06  (* end of lemma zenon_L12_ *)
% 23.82/24.06  assert (zenon_L13_ : (~((e12) = (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H23.
% 23.82/24.06  apply zenon_H23. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L13_ *)
% 23.82/24.06  assert (zenon_L14_ : (~((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H37 zenon_H2c.
% 23.82/24.06  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 23.82/24.06  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 23.82/24.06  apply zenon_H23. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L14_ *)
% 23.82/24.06  assert (zenon_L15_ : ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e13) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H38 zenon_H39 zenon_H2c zenon_H3a.
% 23.82/24.06  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 23.82/24.06  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e13) (e12)) = (op1 (e13) (e13)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H3a.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H3b.
% 23.82/24.06  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 23.82/24.06  cut (((op1 (e13) (e13)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e13) (e13)) = (op1 (e13) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H3d.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H38.
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 23.82/24.06  cut (((e10) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 23.82/24.06  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e10) = (op1 (e13) (e13)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H3e.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H3b.
% 23.82/24.06  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 23.82/24.06  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H3f zenon_H39).
% 23.82/24.06  apply zenon_H3c. apply refl_equal.
% 23.82/24.06  apply zenon_H3c. apply refl_equal.
% 23.82/24.06  apply (zenon_L14_); trivial.
% 23.82/24.06  apply zenon_H3c. apply refl_equal.
% 23.82/24.06  apply zenon_H3c. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L15_ *)
% 23.82/24.06  assert (zenon_L16_ : (((op1 (e13) (e13)) = (e10))/\(~((op1 (e10) (e10)) = (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e13) (e12)) = (op1 (e13) (e13)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H40 zenon_H2c zenon_H38 zenon_H3a.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H40). zenon_intro zenon_H39. zenon_intro zenon_H41.
% 23.82/24.06  apply (zenon_L15_); trivial.
% 23.82/24.06  (* end of lemma zenon_L16_ *)
% 23.82/24.06  assert (zenon_L17_ : (~((e20) = (e20))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H42.
% 23.82/24.06  apply zenon_H42. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L17_ *)
% 23.82/24.06  assert (zenon_L18_ : ((op2 (e21) (e21)) = (e20)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e20) = (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H43 zenon_H44 zenon_H45.
% 23.82/24.06  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H46 | zenon_intro zenon_H1d ].
% 23.82/24.06  cut (((e22) = (e22)) = ((e20) = (e22))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H45.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H46.
% 23.82/24.06  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.82/24.06  cut (((e22) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H47].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((op2 (e21) (e21)) = (e20)) = ((e22) = (e20))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H47.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H43.
% 23.82/24.06  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H42].
% 23.82/24.06  cut (((op2 (e21) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H48 zenon_H44).
% 23.82/24.06  apply zenon_H42. apply refl_equal.
% 23.82/24.06  apply zenon_H1d. apply refl_equal.
% 23.82/24.06  apply zenon_H1d. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L18_ *)
% 23.82/24.06  assert (zenon_L19_ : (((op2 (e21) (e21)) = (e22))/\(~((op2 (e22) (e22)) = (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((e20) = (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H49 zenon_H43 zenon_H45.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H49). zenon_intro zenon_H44. zenon_intro zenon_H4a.
% 23.82/24.06  apply (zenon_L18_); trivial.
% 23.82/24.06  (* end of lemma zenon_L19_ *)
% 23.82/24.06  assert (zenon_L20_ : (((op2 (e22) (e22)) = (e22))/\(~((op2 (e22) (e22)) = (e22)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H4b.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H4b). zenon_intro zenon_H4d. zenon_intro zenon_H4c.
% 23.82/24.06  exact (zenon_H4c zenon_H4d).
% 23.82/24.06  (* end of lemma zenon_L20_ *)
% 23.82/24.06  assert (zenon_L21_ : (((op2 (e23) (e23)) = (e22))/\(~((op2 (e22) (e22)) = (e23)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H4e zenon_H4f.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H4e). zenon_intro zenon_H51. zenon_intro zenon_H50.
% 23.82/24.06  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.82/24.06  (* end of lemma zenon_L21_ *)
% 23.82/24.06  assert (zenon_L22_ : (~((e23) = (e23))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H52.
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L22_ *)
% 23.82/24.06  assert (zenon_L23_ : (((op2 (e22) (e22)) = (e20))/\(~((op2 (e20) (e20)) = (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((e20) = (e23))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H53 zenon_H4f zenon_H54.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H53). zenon_intro zenon_H56. zenon_intro zenon_H55.
% 23.82/24.06  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H57 | zenon_intro zenon_H52 ].
% 23.82/24.06  cut (((e23) = (e23)) = ((e20) = (e23))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H54.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H57.
% 23.82/24.06  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 23.82/24.06  cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e23) = (op2 (e22) (e22))) = ((e23) = (e20))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H58.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H4f.
% 23.82/24.06  cut (((op2 (e22) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 23.82/24.06  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  exact (zenon_H59 zenon_H56).
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L23_ *)
% 23.82/24.06  assert (zenon_L24_ : (~((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H5a zenon_H4f.
% 23.82/24.06  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.82/24.06  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.82/24.06  apply zenon_H1d. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L24_ *)
% 23.82/24.06  assert (zenon_L25_ : ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e23) (e23)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H1a zenon_H5b zenon_H4f zenon_H5c.
% 23.82/24.06  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H5d | zenon_intro zenon_H5e ].
% 23.82/24.06  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e23) (e22)) = (op2 (e23) (e23)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H5c.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H5d.
% 23.82/24.06  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 23.82/24.06  cut (((op2 (e23) (e23)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e23) (e23)) = (op2 (e23) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H5f.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H1a.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 23.82/24.06  cut (((e20) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H5d | zenon_intro zenon_H5e ].
% 23.82/24.06  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((e20) = (op2 (e23) (e23)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H60.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H5d.
% 23.82/24.06  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 23.82/24.06  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H61 zenon_H5b).
% 23.82/24.06  apply zenon_H5e. apply refl_equal.
% 23.82/24.06  apply zenon_H5e. apply refl_equal.
% 23.82/24.06  apply (zenon_L24_); trivial.
% 23.82/24.06  apply zenon_H5e. apply refl_equal.
% 23.82/24.06  apply zenon_H5e. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L25_ *)
% 23.82/24.06  assert (zenon_L26_ : (((op2 (e23) (e23)) = (e20))/\(~((op2 (e20) (e20)) = (e23)))) -> ((e23) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H62 zenon_H4f zenon_H1a zenon_H5c.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H62). zenon_intro zenon_H5b. zenon_intro zenon_H63.
% 23.82/24.06  apply (zenon_L25_); trivial.
% 23.82/24.06  (* end of lemma zenon_L26_ *)
% 23.82/24.06  assert (zenon_L27_ : (((op2 (e20) (e20)) = (e21))/\(~((op2 (e21) (e21)) = (e20)))) -> (~((op2 (e20) (e20)) = (e21))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H64 zenon_H65.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H64). zenon_intro zenon_H67. zenon_intro zenon_H66.
% 23.82/24.06  exact (zenon_H65 zenon_H67).
% 23.82/24.06  (* end of lemma zenon_L27_ *)
% 23.82/24.06  assert (zenon_L28_ : (((op2 (e21) (e21)) = (e21))/\(~((op2 (e21) (e21)) = (e21)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H68.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H68). zenon_intro zenon_H6a. zenon_intro zenon_H69.
% 23.82/24.06  exact (zenon_H69 zenon_H6a).
% 23.82/24.06  (* end of lemma zenon_L28_ *)
% 23.82/24.06  assert (zenon_L29_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e22)) = (e21)) -> (~((e21) = (e23))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H4f zenon_H6b zenon_H6c.
% 23.82/24.06  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H57 | zenon_intro zenon_H52 ].
% 23.82/24.06  cut (((e23) = (e23)) = ((e21) = (e23))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H6c.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H57.
% 23.82/24.06  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 23.82/24.06  cut (((e23) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e23) = (op2 (e22) (e22))) = ((e23) = (e21))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H6d.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H4f.
% 23.82/24.06  cut (((op2 (e22) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 23.82/24.06  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  exact (zenon_H4a zenon_H6b).
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  apply zenon_H52. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L29_ *)
% 23.82/24.06  assert (zenon_L30_ : (((op2 (e22) (e22)) = (e21))/\(~((op2 (e21) (e21)) = (e22)))) -> ((e23) = (op2 (e22) (e22))) -> (~((e21) = (e23))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H6e zenon_H4f zenon_H6c.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H6e). zenon_intro zenon_H6b. zenon_intro zenon_H48.
% 23.82/24.06  apply (zenon_L29_); trivial.
% 23.82/24.06  (* end of lemma zenon_L30_ *)
% 23.82/24.06  assert (zenon_L31_ : (((op1 (e10) (e10)) = (e11))/\(~((op1 (e11) (e11)) = (e10)))) -> (~((op1 (e10) (e10)) = (e11))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H6f zenon_H70.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H6f). zenon_intro zenon_H72. zenon_intro zenon_H71.
% 23.82/24.06  exact (zenon_H70 zenon_H72).
% 23.82/24.06  (* end of lemma zenon_L31_ *)
% 23.82/24.06  assert (zenon_L32_ : (((op1 (e11) (e11)) = (e11))/\(~((op1 (e11) (e11)) = (e11)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H73.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H73). zenon_intro zenon_H75. zenon_intro zenon_H74.
% 23.82/24.06  exact (zenon_H74 zenon_H75).
% 23.82/24.06  (* end of lemma zenon_L32_ *)
% 23.82/24.06  assert (zenon_L33_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e12)) = (e11)) -> (~((e11) = (e13))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H2c zenon_H76 zenon_H77.
% 23.82/24.06  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H32 | zenon_intro zenon_H2f ].
% 23.82/24.06  cut (((e13) = (e13)) = ((e11) = (e13))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H77.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H32.
% 23.82/24.06  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 23.82/24.06  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((e13) = (op1 (e12) (e12))) = ((e13) = (e11))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H78.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H2c.
% 23.82/24.06  cut (((op1 (e12) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 23.82/24.06  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  exact (zenon_H27 zenon_H76).
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  apply zenon_H2f. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L33_ *)
% 23.82/24.06  assert (zenon_L34_ : (((op1 (e12) (e12)) = (e11))/\(~((op1 (e11) (e11)) = (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (~((e11) = (e13))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H79 zenon_H2c zenon_H77.
% 23.82/24.06  apply (zenon_and_s _ _ zenon_H79). zenon_intro zenon_H76. zenon_intro zenon_H25.
% 23.82/24.06  apply (zenon_L33_); trivial.
% 23.82/24.06  (* end of lemma zenon_L34_ *)
% 23.82/24.06  assert (zenon_L35_ : (~((e20) = (e22))) -> ((op2 (e20) (e20)) = (e22)) -> ((op2 (e20) (e20)) = (e20)) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H45 zenon_H7a zenon_H14.
% 23.82/24.06  cut (((op2 (e20) (e20)) = (e22)) = ((e20) = (e22))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H45.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H7a.
% 23.82/24.06  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.82/24.06  cut (((op2 (e20) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H13 zenon_H14).
% 23.82/24.06  apply zenon_H1d. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L35_ *)
% 23.82/24.06  assert (zenon_L36_ : (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e20) (e22)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H7b zenon_H1a zenon_H7c zenon_H4f.
% 23.82/24.06  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e20) (e22)) = (op2 (e23) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H7b.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H1a.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 23.82/24.06  cut (((e20) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_H7e | zenon_intro zenon_H7f ].
% 23.82/24.06  cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((e20) = (op2 (e20) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H7d.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H7e.
% 23.82/24.06  cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 23.82/24.06  cut (((op2 (e20) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H80 zenon_H7c).
% 23.82/24.06  apply zenon_H7f. apply refl_equal.
% 23.82/24.06  apply zenon_H7f. apply refl_equal.
% 23.82/24.06  apply (zenon_L24_); trivial.
% 23.82/24.06  (* end of lemma zenon_L36_ *)
% 23.82/24.06  assert (zenon_L37_ : (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e22)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H81 zenon_H1a zenon_H82 zenon_H4f.
% 23.82/24.06  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e21) (e22)) = (op2 (e23) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H81.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H1a.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 23.82/24.06  cut (((e20) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ].
% 23.82/24.06  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e20) = (op2 (e21) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H83.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H84.
% 23.82/24.06  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 23.82/24.06  cut (((op2 (e21) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H86 zenon_H82).
% 23.82/24.06  apply zenon_H85. apply refl_equal.
% 23.82/24.06  apply zenon_H85. apply refl_equal.
% 23.82/24.06  apply (zenon_L24_); trivial.
% 23.82/24.06  (* end of lemma zenon_L37_ *)
% 23.82/24.06  assert (zenon_L38_ : (~((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H87 zenon_H88 zenon_H4f zenon_H43.
% 23.82/24.06  cut (((op2 (e23) (e22)) = (e20)) = ((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H87.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H88.
% 23.82/24.06  cut (((e20) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 23.82/24.06  cut (((op2 (e23) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ].
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e23) (e22)) = (op2 (op2 (e22) (e22)) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H8a.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H8b.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 23.82/24.06  congruence.
% 23.82/24.06  apply (zenon_L24_); trivial.
% 23.82/24.06  apply zenon_H8c. apply refl_equal.
% 23.82/24.06  apply zenon_H8c. apply refl_equal.
% 23.82/24.06  apply zenon_H89. apply sym_equal. exact zenon_H43.
% 23.82/24.06  (* end of lemma zenon_L38_ *)
% 23.82/24.06  assert (zenon_L39_ : (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e20) (e21)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H8d zenon_H1a zenon_H8e zenon_H88 zenon_H43 zenon_H4f.
% 23.82/24.06  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e20) (e21)) = (op2 (e21) (e21)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H8d.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H1a.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 23.82/24.06  cut (((e20) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ].
% 23.82/24.06  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e20) = (op2 (e20) (e21)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H8f.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H90.
% 23.82/24.06  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 23.82/24.06  cut (((op2 (e20) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H92 zenon_H8e).
% 23.82/24.06  apply zenon_H91. apply refl_equal.
% 23.82/24.06  apply zenon_H91. apply refl_equal.
% 23.82/24.06  apply (zenon_L38_); trivial.
% 23.82/24.06  (* end of lemma zenon_L39_ *)
% 23.82/24.06  assert (zenon_L40_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e20) (e21)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H8d zenon_H1a zenon_H8e zenon_H43 zenon_H4f.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.82/24.06  apply (zenon_L36_); trivial.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.82/24.06  apply (zenon_L37_); trivial.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.82/24.06  exact (zenon_H59 zenon_H56).
% 23.82/24.06  apply (zenon_L39_); trivial.
% 23.82/24.06  (* end of lemma zenon_L40_ *)
% 23.82/24.06  assert (zenon_L41_ : (~((e10) = (e12))) -> ((op1 (e10) (e10)) = (e12)) -> ((op1 (e10) (e10)) = (e10)) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H21 zenon_H96 zenon_H17.
% 23.82/24.06  cut (((op1 (e10) (e10)) = (e12)) = ((e10) = (e12))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H21.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H96.
% 23.82/24.06  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 23.82/24.06  cut (((op1 (e10) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H16].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H16 zenon_H17).
% 23.82/24.06  apply zenon_H23. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L41_ *)
% 23.82/24.06  assert (zenon_L42_ : (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e10) (e12)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H97 zenon_H38 zenon_H98 zenon_H2c.
% 23.82/24.06  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e10) (e12)) = (op1 (e13) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H97.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H38.
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 23.82/24.06  cut (((e10) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 23.82/24.06  cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((e10) = (op1 (e10) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H99.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H9a.
% 23.82/24.06  cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 23.82/24.06  cut (((op1 (e10) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_H9c zenon_H98).
% 23.82/24.06  apply zenon_H9b. apply refl_equal.
% 23.82/24.06  apply zenon_H9b. apply refl_equal.
% 23.82/24.06  apply (zenon_L14_); trivial.
% 23.82/24.06  (* end of lemma zenon_L42_ *)
% 23.82/24.06  assert (zenon_L43_ : (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e12)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_H9d zenon_H38 zenon_H9e zenon_H2c.
% 23.82/24.06  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e11) (e12)) = (op1 (e13) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H9d.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H38.
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 23.82/24.06  cut (((e10) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha1 ].
% 23.82/24.06  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e10) = (op1 (e11) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_H9f.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Ha0.
% 23.82/24.06  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 23.82/24.06  cut (((op1 (e11) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_Ha2 zenon_H9e).
% 23.82/24.06  apply zenon_Ha1. apply refl_equal.
% 23.82/24.06  apply zenon_Ha1. apply refl_equal.
% 23.82/24.06  apply (zenon_L14_); trivial.
% 23.82/24.06  (* end of lemma zenon_L43_ *)
% 23.82/24.06  assert (zenon_L44_ : (~((op1 (op1 (e12) (e12)) (e12)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Ha3 zenon_Ha4 zenon_H2c zenon_H1f.
% 23.82/24.06  cut (((op1 (e13) (e12)) = (e10)) = ((op1 (op1 (e12) (e12)) (e12)) = (op1 (e11) (e11)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Ha3.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Ha4.
% 23.82/24.06  cut (((e10) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 23.82/24.06  cut (((op1 (e13) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [ zenon_intro zenon_Ha7 | zenon_intro zenon_Ha8 ].
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e13) (e12)) = (op1 (op1 (e12) (e12)) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Ha6.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Ha7.
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 23.82/24.06  congruence.
% 23.82/24.06  apply (zenon_L14_); trivial.
% 23.82/24.06  apply zenon_Ha8. apply refl_equal.
% 23.82/24.06  apply zenon_Ha8. apply refl_equal.
% 23.82/24.06  apply zenon_Ha5. apply sym_equal. exact zenon_H1f.
% 23.82/24.06  (* end of lemma zenon_L44_ *)
% 23.82/24.06  assert (zenon_L45_ : (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e10) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Ha9 zenon_H38 zenon_Haa zenon_Ha4 zenon_H1f zenon_H2c.
% 23.82/24.06  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e10) (e11)) = (op1 (e11) (e11)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Ha9.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H38.
% 23.82/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 23.82/24.06  cut (((e10) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_Hac | zenon_intro zenon_Had ].
% 23.82/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e10) = (op1 (e10) (e11)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hab.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hac.
% 23.82/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 23.82/24.06  cut (((op1 (e10) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_Hae zenon_Haa).
% 23.82/24.06  apply zenon_Had. apply refl_equal.
% 23.82/24.06  apply zenon_Had. apply refl_equal.
% 23.82/24.06  apply (zenon_L44_); trivial.
% 23.82/24.06  (* end of lemma zenon_L45_ *)
% 23.82/24.06  assert (zenon_L46_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e10) (e11)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Haf zenon_H97 zenon_H9d zenon_H34 zenon_Ha9 zenon_H38 zenon_Haa zenon_H1f zenon_H2c.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.82/24.06  apply (zenon_L42_); trivial.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.82/24.06  apply (zenon_L43_); trivial.
% 23.82/24.06  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.82/24.06  exact (zenon_H34 zenon_H30).
% 23.82/24.06  apply (zenon_L45_); trivial.
% 23.82/24.06  (* end of lemma zenon_L46_ *)
% 23.82/24.06  assert (zenon_L47_ : (~((h3 (e11)) = (e21))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Hb2 zenon_Hb3 zenon_Hb4.
% 23.82/24.06  cut (((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (e11)) = (e21))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hb2.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hb3.
% 23.82/24.06  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 23.82/24.06  cut (((h3 (e11)) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 23.82/24.06  congruence.
% 23.82/24.06  apply zenon_Hb6. apply refl_equal.
% 23.82/24.06  apply zenon_Hb5. apply sym_equal. exact zenon_Hb4.
% 23.82/24.06  (* end of lemma zenon_L47_ *)
% 23.82/24.06  assert (zenon_L48_ : (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op1 (e10) (e11)) = (e13)) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Hb7 zenon_Hb8 zenon_Hb9 zenon_Hba zenon_H4f zenon_H19 zenon_H1a zenon_Hb3 zenon_Hb4.
% 23.82/24.06  cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hb7.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hb8.
% 23.82/24.06  cut (((op2 (e22) (e22)) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 23.82/24.06  cut (((h3 (e13)) = (h3 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11))))); [ zenon_intro zenon_Hbd | zenon_intro zenon_Hbe ].
% 23.82/24.06  cut (((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11)))) = ((h3 (e13)) = (h3 (op1 (e10) (e11))))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hbc.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hbd.
% 23.82/24.06  cut (((h3 (op1 (e10) (e11))) = (h3 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 23.82/24.06  cut (((h3 (op1 (e10) (e11))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((op1 (e10) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_Hc0 zenon_Hb9).
% 23.82/24.06  apply zenon_Hbe. apply refl_equal.
% 23.82/24.06  apply zenon_Hbe. apply refl_equal.
% 23.82/24.06  elim (classic ((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hc2 ].
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11)))) = ((op2 (e22) (e22)) = (op2 (h3 (e10)) (h3 (e11))))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hbb.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hc1.
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((op2 (e20) (e21)) = (e23)) = ((op2 (h3 (e10)) (h3 (e11))) = (op2 (e22) (e22)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hc3.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hba.
% 23.82/24.06  cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc4].
% 23.82/24.06  cut (((op2 (e20) (e21)) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hc5].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hc2 ].
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11)))) = ((op2 (e20) (e21)) = (op2 (h3 (e10)) (h3 (e11))))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hc5.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hc1.
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (h3 (e10)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 23.82/24.06  cut (((op2 (h3 (e10)) (h3 (e11))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 23.82/24.06  congruence.
% 23.82/24.06  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.82/24.06  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.82/24.06  congruence.
% 23.82/24.06  apply (zenon_L3_); trivial.
% 23.82/24.06  apply (zenon_L47_); trivial.
% 23.82/24.06  apply zenon_Hc2. apply refl_equal.
% 23.82/24.06  apply zenon_Hc2. apply refl_equal.
% 23.82/24.06  exact (zenon_Hc4 zenon_H4f).
% 23.82/24.06  apply zenon_Hc2. apply refl_equal.
% 23.82/24.06  apply zenon_Hc2. apply refl_equal.
% 23.82/24.06  (* end of lemma zenon_L48_ *)
% 23.82/24.06  assert (zenon_L49_ : (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e11)) = (e13)) -> False).
% 23.82/24.06  do 0 intro. intros zenon_Hc7 zenon_H2c zenon_Hc8.
% 23.82/24.06  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e12) (e11)) = (op1 (e12) (e12)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hc7.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_H2c.
% 23.82/24.06  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.82/24.06  cut (((e13) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 23.82/24.06  congruence.
% 23.82/24.06  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ].
% 23.82/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e13) = (op1 (e12) (e11)))).
% 23.82/24.06  intro zenon_D_pnotp.
% 23.82/24.06  apply zenon_Hca.
% 23.82/24.06  rewrite <- zenon_D_pnotp.
% 23.82/24.06  exact zenon_Hcb.
% 23.82/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 23.82/24.06  cut (((op1 (e12) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 23.82/24.06  congruence.
% 23.82/24.06  exact (zenon_Hcd zenon_Hc8).
% 23.82/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  apply zenon_Hc9. apply refl_equal.
% 23.90/24.06  (* end of lemma zenon_L49_ *)
% 23.90/24.06  assert (zenon_L50_ : ((op1 (e12) (e10)) = (e10)) -> ((op1 (e12) (e10)) = (e11)) -> (~((e10) = (e11))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hce zenon_Hcf zenon_Hd0.
% 23.90/24.06  elim (classic ((e11) = (e11))); [ zenon_intro zenon_Hd1 | zenon_intro zenon_Hd2 ].
% 23.90/24.06  cut (((e11) = (e11)) = ((e10) = (e11))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hd0.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hd1.
% 23.90/24.06  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 23.90/24.06  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hd3].
% 23.90/24.06  congruence.
% 23.90/24.06  cut (((op1 (e12) (e10)) = (e10)) = ((e11) = (e10))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hd3.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hce.
% 23.90/24.06  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 23.90/24.06  cut (((op1 (e12) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_Hd4 zenon_Hcf).
% 23.90/24.06  apply zenon_H1e. apply refl_equal.
% 23.90/24.06  apply zenon_Hd2. apply refl_equal.
% 23.90/24.06  apply zenon_Hd2. apply refl_equal.
% 23.90/24.06  (* end of lemma zenon_L50_ *)
% 23.90/24.06  assert (zenon_L51_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hd5 zenon_H2c.
% 23.90/24.06  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 23.90/24.06  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 23.90/24.06  congruence.
% 23.90/24.06  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 23.90/24.06  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 23.90/24.06  (* end of lemma zenon_L51_ *)
% 23.90/24.06  assert (zenon_L52_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e11) (e10)))) -> ((op1 (e13) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e10)) = (e11)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hd6 zenon_Hd7 zenon_H2c zenon_Hd8.
% 23.90/24.06  cut (((op1 (e13) (e13)) = (e11)) = ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e11) (e10)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hd6.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hd7.
% 23.90/24.06  cut (((e11) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_Hd9].
% 23.90/24.06  cut (((op1 (e13) (e13)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ].
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e13)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hda.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hdb.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.90/24.06  congruence.
% 23.90/24.06  apply (zenon_L51_); trivial.
% 23.90/24.06  apply zenon_Hdc. apply refl_equal.
% 23.90/24.06  apply zenon_Hdc. apply refl_equal.
% 23.90/24.06  apply zenon_Hd9. apply sym_equal. exact zenon_Hd8.
% 23.90/24.06  (* end of lemma zenon_L52_ *)
% 23.90/24.06  assert (zenon_L53_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e12) (e11)) = (e11)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hdd zenon_H2c zenon_Hd8 zenon_Hd7 zenon_Hde.
% 23.90/24.06  cut (((op1 (e11) (e10)) = (e11)) = ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hdd.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hd8.
% 23.90/24.06  cut (((e11) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 23.90/24.06  cut (((op1 (e11) (e10)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ].
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e11) (e10)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_He0.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hdb.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 23.90/24.06  congruence.
% 23.90/24.06  apply (zenon_L52_); trivial.
% 23.90/24.06  apply zenon_Hdc. apply refl_equal.
% 23.90/24.06  apply zenon_Hdc. apply refl_equal.
% 23.90/24.06  apply zenon_Hdf. apply sym_equal. exact zenon_Hde.
% 23.90/24.06  (* end of lemma zenon_L53_ *)
% 23.90/24.06  assert (zenon_L54_ : (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e10) (e11)) = (e11)) -> ((op1 (e12) (e11)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_He1 zenon_He2 zenon_He3 zenon_Hde zenon_H2c zenon_Hd8 zenon_Hd7.
% 23.90/24.06  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e10) (e11)) = (op1 (e12) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_He1.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_He2.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 23.90/24.06  cut (((e11) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_Hac | zenon_intro zenon_Had ].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e11) = (op1 (e10) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_He4.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hac.
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_He5 zenon_He3).
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  apply (zenon_L53_); trivial.
% 23.90/24.06  (* end of lemma zenon_L54_ *)
% 23.90/24.06  assert (zenon_L55_ : (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> ((op1 (e10) (e11)) = (e12)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_He6 zenon_H96 zenon_He7.
% 23.90/24.06  cut (((op1 (e10) (e10)) = (e12)) = ((op1 (e10) (e10)) = (op1 (e10) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_He6.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H96.
% 23.90/24.06  cut (((e12) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 23.90/24.06  cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_He9].
% 23.90/24.06  congruence.
% 23.90/24.06  apply zenon_He9. apply refl_equal.
% 23.90/24.06  apply zenon_He8. apply sym_equal. exact zenon_He7.
% 23.90/24.06  (* end of lemma zenon_L55_ *)
% 23.90/24.06  assert (zenon_L56_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e12) (e12)) = (op1 (e10) (e11)))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H2c zenon_Hb9 zenon_Hea.
% 23.90/24.06  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_Hac | zenon_intro zenon_Had ].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((op1 (e12) (e12)) = (op1 (e10) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hea.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hac.
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 23.90/24.06  congruence.
% 23.90/24.06  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e10) (e11)) = (op1 (e12) (e12)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Heb.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H2c.
% 23.90/24.06  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.90/24.06  cut (((e13) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_Hac | zenon_intro zenon_Had ].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e13) = (op1 (e10) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hec.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hac.
% 23.90/24.06  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 23.90/24.06  cut (((op1 (e10) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_Hc0 zenon_Hb9).
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  apply zenon_Hc9. apply refl_equal.
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  apply zenon_Had. apply refl_equal.
% 23.90/24.06  (* end of lemma zenon_L56_ *)
% 23.90/24.06  assert (zenon_L57_ : ((op1 (e13) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hed zenon_H2c zenon_Hb9 zenon_Hee.
% 23.90/24.06  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 23.90/24.06  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e10) (e11)) = (op1 (e13) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hee.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hef.
% 23.90/24.06  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 23.90/24.06  cut (((op1 (e13) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf1].
% 23.90/24.06  congruence.
% 23.90/24.06  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e13) (e11)) = (op1 (e10) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hf1.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H2c.
% 23.90/24.06  cut (((op1 (e12) (e12)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 23.90/24.06  cut (((e13) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 23.90/24.06  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e13) = (op1 (e13) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hf2.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hef.
% 23.90/24.06  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 23.90/24.06  cut (((op1 (e13) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hf3].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_Hf3 zenon_Hed).
% 23.90/24.06  apply zenon_Hf0. apply refl_equal.
% 23.90/24.06  apply zenon_Hf0. apply refl_equal.
% 23.90/24.06  apply (zenon_L56_); trivial.
% 23.90/24.06  apply zenon_Hf0. apply refl_equal.
% 23.90/24.06  apply zenon_Hf0. apply refl_equal.
% 23.90/24.06  (* end of lemma zenon_L57_ *)
% 23.90/24.06  assert (zenon_L58_ : (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> ((op1 (e11) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e12) (e11)) = (e11)) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hf4 zenon_H1f zenon_Ha4 zenon_H38 zenon_Ha9 zenon_Hd7 zenon_Hd8 zenon_Hde zenon_He2 zenon_He1 zenon_H96 zenon_He6 zenon_Hed zenon_H2c zenon_Hee.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_Haa | zenon_intro zenon_Hf5 ].
% 23.90/24.06  apply (zenon_L45_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_He3 | zenon_intro zenon_Hf6 ].
% 23.90/24.06  apply (zenon_L54_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_He7 | zenon_intro zenon_Hb9 ].
% 23.90/24.06  apply (zenon_L55_); trivial.
% 23.90/24.06  apply (zenon_L57_); trivial.
% 23.90/24.06  (* end of lemma zenon_L58_ *)
% 23.90/24.06  assert (zenon_L59_ : (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e12) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Hf7 zenon_He2 zenon_Hf8 zenon_H2c.
% 23.90/24.06  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e12) (e13)) = (op1 (e13) (e13)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hf7.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_He2.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.90/24.06  cut (((e11) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hf9].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ].
% 23.90/24.06  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e11) = (op1 (e12) (e13)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_Hf9.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hfa.
% 23.90/24.06  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 23.90/24.06  cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hfc].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_Hfc zenon_Hf8).
% 23.90/24.06  apply zenon_Hfb. apply refl_equal.
% 23.90/24.06  apply zenon_Hfb. apply refl_equal.
% 23.90/24.06  apply (zenon_L51_); trivial.
% 23.90/24.06  (* end of lemma zenon_L59_ *)
% 23.90/24.06  assert (zenon_L60_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((e10) = (e11))) -> ((op1 (e12) (e10)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Haf zenon_H97 zenon_H9d zenon_H34 zenon_Hfd zenon_Hd0 zenon_Hce zenon_Hee zenon_Hed zenon_He6 zenon_H96 zenon_He1 zenon_Hd8 zenon_Hd7 zenon_Ha9 zenon_H38 zenon_H1f zenon_Hf4 zenon_H77 zenon_Hf7 zenon_He2 zenon_H2c.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.90/24.06  apply (zenon_L42_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.90/24.06  apply (zenon_L43_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.90/24.06  exact (zenon_H34 zenon_H30).
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hfe ].
% 23.90/24.06  apply (zenon_L50_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hde | zenon_intro zenon_Hff ].
% 23.90/24.06  apply (zenon_L58_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_H76 | zenon_intro zenon_Hf8 ].
% 23.90/24.06  apply (zenon_L33_); trivial.
% 23.90/24.06  apply (zenon_L59_); trivial.
% 23.90/24.06  (* end of lemma zenon_L60_ *)
% 23.90/24.06  assert (zenon_L61_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e12) (e11)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_Haf zenon_H97 zenon_H9d zenon_H34 zenon_H38 zenon_H100 zenon_H1f zenon_H2c zenon_H101.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.90/24.06  apply (zenon_L42_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.90/24.06  apply (zenon_L43_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.90/24.06  exact (zenon_H34 zenon_H30).
% 23.90/24.06  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ].
% 23.90/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e11) (e11)) = (op1 (e12) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H101.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hcb.
% 23.90/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 23.90/24.06  cut (((op1 (e12) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H102].
% 23.90/24.06  congruence.
% 23.90/24.06  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e12) (e11)) = (op1 (e11) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H102.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H38.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 23.90/24.06  cut (((e10) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hcc ].
% 23.90/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e10) = (op1 (e12) (e11)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H103.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_Hcb.
% 23.90/24.06  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hcc].
% 23.90/24.06  cut (((op1 (e12) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 23.90/24.06  congruence.
% 23.90/24.06  exact (zenon_H104 zenon_H100).
% 23.90/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  apply (zenon_L44_); trivial.
% 23.90/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  apply zenon_Hcc. apply refl_equal.
% 23.90/24.06  (* end of lemma zenon_L61_ *)
% 23.90/24.06  assert (zenon_L62_ : (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> ((op1 (e12) (e13)) = (e10)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H105 zenon_H106 zenon_H107.
% 23.90/24.06  cut (((op1 (e10) (e13)) = (e10)) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H105.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H106.
% 23.90/24.06  cut (((e10) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 23.90/24.06  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 23.90/24.06  congruence.
% 23.90/24.06  apply zenon_H109. apply refl_equal.
% 23.90/24.06  apply zenon_H108. apply sym_equal. exact zenon_H107.
% 23.90/24.06  (* end of lemma zenon_L62_ *)
% 23.90/24.06  assert (zenon_L63_ : (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e13) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H10a zenon_He2 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_Hd8 zenon_He1 zenon_H96 zenon_He6 zenon_Hed zenon_Hee zenon_Hd0 zenon_Hfd zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H106.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10a); [ zenon_intro zenon_Hce | zenon_intro zenon_H10b ].
% 23.90/24.06  apply (zenon_L60_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10b); [ zenon_intro zenon_H100 | zenon_intro zenon_H10c ].
% 23.90/24.06  apply (zenon_L61_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10c); [ zenon_intro zenon_H30 | zenon_intro zenon_H107 ].
% 23.90/24.06  exact (zenon_H34 zenon_H30).
% 23.90/24.06  apply (zenon_L62_); trivial.
% 23.90/24.06  (* end of lemma zenon_L63_ *)
% 23.90/24.06  assert (zenon_L64_ : (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e21)) = (e23)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H10d zenon_Hb4 zenon_Hb3 zenon_H1a zenon_H19 zenon_H4f zenon_Hba zenon_Hb8 zenon_Hb7 zenon_H10e zenon_Hc7 zenon_H10a zenon_He2 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_Hd8 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hd0 zenon_Hfd zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H106.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10d); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H10f ].
% 23.90/24.06  apply (zenon_L48_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10f); [ zenon_intro zenon_H111 | zenon_intro zenon_H110 ].
% 23.90/24.06  exact (zenon_H10e zenon_H111).
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H110); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hed ].
% 23.90/24.06  apply (zenon_L49_); trivial.
% 23.90/24.06  apply (zenon_L63_); trivial.
% 23.90/24.06  (* end of lemma zenon_L64_ *)
% 23.90/24.06  assert (zenon_L65_ : (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> ((op1 (e12) (e10)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H10a zenon_Hd0 zenon_Hcf zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H106.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10a); [ zenon_intro zenon_Hce | zenon_intro zenon_H10b ].
% 23.90/24.06  apply (zenon_L50_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10b); [ zenon_intro zenon_H100 | zenon_intro zenon_H10c ].
% 23.90/24.06  apply (zenon_L61_); trivial.
% 23.90/24.06  apply (zenon_or_s _ _ zenon_H10c); [ zenon_intro zenon_H30 | zenon_intro zenon_H107 ].
% 23.90/24.06  exact (zenon_H34 zenon_H30).
% 23.90/24.06  apply (zenon_L62_); trivial.
% 23.90/24.06  (* end of lemma zenon_L65_ *)
% 23.90/24.06  assert (zenon_L66_ : (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e13) (e10)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.06  do 0 intro. intros zenon_H112 zenon_He2 zenon_H113 zenon_H2c.
% 23.90/24.06  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e10)) = (op1 (e13) (e13)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H112.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_He2.
% 23.90/24.06  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.90/24.06  cut (((e11) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 23.90/24.06  congruence.
% 23.90/24.06  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H116 ].
% 23.90/24.06  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e11) = (op1 (e13) (e10)))).
% 23.90/24.06  intro zenon_D_pnotp.
% 23.90/24.06  apply zenon_H114.
% 23.90/24.06  rewrite <- zenon_D_pnotp.
% 23.90/24.06  exact zenon_H115.
% 23.90/24.06  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H116].
% 23.90/24.07  cut (((op1 (e13) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H117 zenon_H113).
% 23.90/24.07  apply zenon_H116. apply refl_equal.
% 23.90/24.07  apply zenon_H116. apply refl_equal.
% 23.90/24.07  apply (zenon_L51_); trivial.
% 23.90/24.07  (* end of lemma zenon_L66_ *)
% 23.90/24.07  assert (zenon_L67_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((h3 (op1 (e10) (e11))) = (op2 (h3 (e10)) (h3 (e11))))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H118 zenon_H21 zenon_H119 zenon_H70 zenon_Hfd zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_Hf7 zenon_Hc7 zenon_H10e zenon_Hb7 zenon_Hb8 zenon_Hba zenon_H4f zenon_H19 zenon_H1a zenon_Hb3 zenon_Hb4 zenon_H10d zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.90/24.07  apply (zenon_L41_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.90/24.07  apply (zenon_L46_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.90/24.07  apply (zenon_L42_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.90/24.07  exact (zenon_H70 zenon_H72).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.90/24.07  apply (zenon_L64_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.90/24.07  apply (zenon_L65_); trivial.
% 23.90/24.07  apply (zenon_L66_); trivial.
% 23.90/24.07  (* end of lemma zenon_L67_ *)
% 23.90/24.07  assert (zenon_L68_ : (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e21)) = (e23)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H11e zenon_H4f zenon_H11f.
% 23.90/24.07  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e22) (e21)) = (op2 (e22) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H11e.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H4f.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.90/24.07  cut (((e23) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e23) = (op2 (e22) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H121.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H122.
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H124 zenon_H11f).
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  apply zenon_H120. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L68_ *)
% 23.90/24.07  assert (zenon_L69_ : ((op2 (e22) (e20)) = (e20)) -> ((op2 (e22) (e20)) = (e21)) -> (~((e20) = (e21))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H125 zenon_H126 zenon_H127.
% 23.90/24.07  elim (classic ((e21) = (e21))); [ zenon_intro zenon_H128 | zenon_intro zenon_H129 ].
% 23.90/24.07  cut (((e21) = (e21)) = ((e20) = (e21))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H127.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H128.
% 23.90/24.07  cut (((e21) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 23.90/24.07  cut (((e21) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H12a].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e22) (e20)) = (e20)) = ((e21) = (e20))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H12a.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H125.
% 23.90/24.07  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H42].
% 23.90/24.07  cut (((op2 (e22) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H12b].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H12b zenon_H126).
% 23.90/24.07  apply zenon_H42. apply refl_equal.
% 23.90/24.07  apply zenon_H129. apply refl_equal.
% 23.90/24.07  apply zenon_H129. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L69_ *)
% 23.90/24.07  assert (zenon_L70_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H12c zenon_H4f.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 23.90/24.07  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 23.90/24.07  congruence.
% 23.90/24.07  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.90/24.07  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.90/24.07  (* end of lemma zenon_L70_ *)
% 23.90/24.07  assert (zenon_L71_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e21) (e20)))) -> ((op2 (e23) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e20)) = (e21)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H12d zenon_H12e zenon_H4f zenon_H12f.
% 23.90/24.07  cut (((op2 (e23) (e23)) = (e21)) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e21) (e20)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H12d.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H12e.
% 23.90/24.07  cut (((e21) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H130].
% 23.90/24.07  cut (((op2 (e23) (e23)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e23)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H131.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H132.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L70_); trivial.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H130. apply sym_equal. exact zenon_H12f.
% 23.90/24.07  (* end of lemma zenon_L71_ *)
% 23.90/24.07  assert (zenon_L72_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e21)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H134 zenon_H4f zenon_H12f zenon_H12e zenon_H135.
% 23.90/24.07  cut (((op2 (e21) (e20)) = (e21)) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H134.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H12f.
% 23.90/24.07  cut (((e21) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H136].
% 23.90/24.07  cut (((op2 (e21) (e20)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e21) (e20)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H137.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H132.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L71_); trivial.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H136. apply sym_equal. exact zenon_H135.
% 23.90/24.07  (* end of lemma zenon_L72_ *)
% 23.90/24.07  assert (zenon_L73_ : (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e21)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H138 zenon_Hb4 zenon_H139 zenon_H135 zenon_H4f zenon_H12f zenon_H12e.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e20) (e21)) = (op2 (e22) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H138.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb4.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 23.90/24.07  cut (((e21) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e21) = (op2 (e20) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H13a.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H90.
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H13b].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H13b zenon_H139).
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  apply (zenon_L72_); trivial.
% 23.90/24.07  (* end of lemma zenon_L73_ *)
% 23.90/24.07  assert (zenon_L74_ : (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> ((op2 (e20) (e21)) = (e22)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H13c zenon_H7a zenon_H13d.
% 23.90/24.07  cut (((op2 (e20) (e20)) = (e22)) = ((op2 (e20) (e20)) = (op2 (e20) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H13c.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H7a.
% 23.90/24.07  cut (((e22) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H13e].
% 23.90/24.07  cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H13f].
% 23.90/24.07  congruence.
% 23.90/24.07  apply zenon_H13f. apply refl_equal.
% 23.90/24.07  apply zenon_H13e. apply sym_equal. exact zenon_H13d.
% 23.90/24.07  (* end of lemma zenon_L74_ *)
% 23.90/24.07  assert (zenon_L75_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e21)) = (e23)) -> (~((op2 (e22) (e22)) = (op2 (e20) (e21)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H4f zenon_Hba zenon_H140.
% 23.90/24.07  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((op2 (e22) (e22)) = (op2 (e20) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H140.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H90.
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e20) (e21)) = (op2 (e22) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H141.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H4f.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.90/24.07  cut (((e23) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H142].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H90 | zenon_intro zenon_H91 ].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e23) = (op2 (e20) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H142.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H90.
% 23.90/24.07  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 23.90/24.07  cut (((op2 (e20) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H143].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H143 zenon_Hba).
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  apply zenon_H120. apply refl_equal.
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  apply zenon_H91. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L75_ *)
% 23.90/24.07  assert (zenon_L76_ : ((op2 (e23) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H144 zenon_H4f zenon_Hba zenon_H145.
% 23.90/24.07  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 23.90/24.07  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e20) (e21)) = (op2 (e23) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H145.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H146.
% 23.90/24.07  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 23.90/24.07  cut (((op2 (e23) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e23) (e21)) = (op2 (e20) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H148.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H4f.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 23.90/24.07  cut (((e23) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 23.90/24.07  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e23) = (op2 (e23) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H149.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H146.
% 23.90/24.07  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 23.90/24.07  cut (((op2 (e23) (e21)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H14a].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H14a zenon_H144).
% 23.90/24.07  apply zenon_H147. apply refl_equal.
% 23.90/24.07  apply zenon_H147. apply refl_equal.
% 23.90/24.07  apply (zenon_L75_); trivial.
% 23.90/24.07  apply zenon_H147. apply refl_equal.
% 23.90/24.07  apply zenon_H147. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L76_ *)
% 23.90/24.07  assert (zenon_L77_ : (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> ((op2 (e21) (e21)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H14b zenon_H43 zenon_H88 zenon_H1a zenon_H8d zenon_H12e zenon_H12f zenon_H135 zenon_Hb4 zenon_H138 zenon_H7a zenon_H13c zenon_H144 zenon_H4f zenon_H145.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H14b); [ zenon_intro zenon_H8e | zenon_intro zenon_H14c ].
% 23.90/24.07  apply (zenon_L39_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H14c); [ zenon_intro zenon_H139 | zenon_intro zenon_H14d ].
% 23.90/24.07  apply (zenon_L73_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H14d); [ zenon_intro zenon_H13d | zenon_intro zenon_Hba ].
% 23.90/24.07  apply (zenon_L74_); trivial.
% 23.90/24.07  apply (zenon_L76_); trivial.
% 23.90/24.07  (* end of lemma zenon_L77_ *)
% 23.90/24.07  assert (zenon_L78_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e22) (e21)) = (e21)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H14b zenon_H43 zenon_H1a zenon_H8d zenon_H12e zenon_H12f zenon_H135 zenon_Hb4 zenon_H138 zenon_H7a zenon_H13c zenon_H144 zenon_H4f zenon_H145.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.90/24.07  apply (zenon_L36_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.90/24.07  apply (zenon_L37_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.90/24.07  exact (zenon_H59 zenon_H56).
% 23.90/24.07  apply (zenon_L77_); trivial.
% 23.90/24.07  (* end of lemma zenon_L78_ *)
% 23.90/24.07  assert (zenon_L79_ : (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e22) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H14e zenon_Hb4 zenon_H14f zenon_H4f.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e22) (e23)) = (op2 (e23) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H14e.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb4.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.90/24.07  cut (((e21) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H150].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H151 | zenon_intro zenon_H152 ].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e21) = (op2 (e22) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H150.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H151.
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H153 zenon_H14f).
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  apply (zenon_L70_); trivial.
% 23.90/24.07  (* end of lemma zenon_L79_ *)
% 23.90/24.07  assert (zenon_L80_ : (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((e20) = (e21))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((e21) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H154 zenon_H127 zenon_H125 zenon_H145 zenon_H144 zenon_H13c zenon_H7a zenon_H138 zenon_H12f zenon_H12e zenon_H8d zenon_H1a zenon_H43 zenon_H14b zenon_H59 zenon_H81 zenon_H7b zenon_H93 zenon_H6c zenon_H14e zenon_Hb4 zenon_H4f.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H154); [ zenon_intro zenon_H126 | zenon_intro zenon_H155 ].
% 23.90/24.07  apply (zenon_L69_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H155); [ zenon_intro zenon_H135 | zenon_intro zenon_H156 ].
% 23.90/24.07  apply (zenon_L78_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H156); [ zenon_intro zenon_H6b | zenon_intro zenon_H14f ].
% 23.90/24.07  apply (zenon_L29_); trivial.
% 23.90/24.07  apply (zenon_L79_); trivial.
% 23.90/24.07  (* end of lemma zenon_L80_ *)
% 23.90/24.07  assert (zenon_L81_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e22) (e21)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H1a zenon_H157 zenon_H43 zenon_H4f zenon_H158.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.90/24.07  apply (zenon_L36_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.90/24.07  apply (zenon_L37_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.90/24.07  exact (zenon_H59 zenon_H56).
% 23.90/24.07  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e21) (e21)) = (op2 (e22) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H158.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H122.
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H159].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e22) (e21)) = (op2 (e21) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H159.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 23.90/24.07  cut (((e20) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H15a].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e20) = (op2 (e22) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H15a.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H122.
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H15b].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H15b zenon_H157).
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  apply (zenon_L38_); trivial.
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  apply zenon_H123. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L81_ *)
% 23.90/24.07  assert (zenon_L82_ : (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> ((op2 (e22) (e23)) = (e20)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H15c zenon_H15d zenon_H15e.
% 23.90/24.07  cut (((op2 (e20) (e23)) = (e20)) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H15c.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H15d.
% 23.90/24.07  cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H15f].
% 23.90/24.07  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H160].
% 23.90/24.07  congruence.
% 23.90/24.07  apply zenon_H160. apply refl_equal.
% 23.90/24.07  apply zenon_H15f. apply sym_equal. exact zenon_H15e.
% 23.90/24.07  (* end of lemma zenon_L82_ *)
% 23.90/24.07  assert (zenon_L83_ : (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((e21) = (e23))) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e23) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((e20) = (e21))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H161 zenon_Hb4 zenon_H14e zenon_H6c zenon_H14b zenon_H8d zenon_H12e zenon_H12f zenon_H138 zenon_H7a zenon_H13c zenon_H144 zenon_H145 zenon_H127 zenon_H154 zenon_H158 zenon_H4f zenon_H43 zenon_H1a zenon_H81 zenon_H7b zenon_H93 zenon_H59 zenon_H15c zenon_H15d.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.90/24.07  apply (zenon_L80_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.90/24.07  apply (zenon_L81_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.90/24.07  exact (zenon_H59 zenon_H56).
% 23.90/24.07  apply (zenon_L82_); trivial.
% 23.90/24.07  (* end of lemma zenon_L83_ *)
% 23.90/24.07  assert (zenon_L84_ : (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((e20) = (e21))) -> ((op2 (e22) (e20)) = (e21)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e20) (e23)) = (e20)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H161 zenon_H127 zenon_H126 zenon_H158 zenon_H4f zenon_H43 zenon_H1a zenon_H81 zenon_H7b zenon_H93 zenon_H59 zenon_H15c zenon_H15d.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.90/24.07  apply (zenon_L69_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.90/24.07  apply (zenon_L81_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.90/24.07  exact (zenon_H59 zenon_H56).
% 23.90/24.07  apply (zenon_L82_); trivial.
% 23.90/24.07  (* end of lemma zenon_L84_ *)
% 23.90/24.07  assert (zenon_L85_ : (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e23) (e20)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H164 zenon_Hb4 zenon_H165 zenon_H4f.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e20)) = (op2 (e23) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H164.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb4.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.90/24.07  cut (((e21) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H166].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_H167 | zenon_intro zenon_H168 ].
% 23.90/24.07  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e21) = (op2 (e23) (e20)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H166.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H167.
% 23.90/24.07  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H168].
% 23.90/24.07  cut (((op2 (e23) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H169].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H169 zenon_H165).
% 23.90/24.07  apply zenon_H168. apply refl_equal.
% 23.90/24.07  apply zenon_H168. apply refl_equal.
% 23.90/24.07  apply (zenon_L70_); trivial.
% 23.90/24.07  (* end of lemma zenon_L85_ *)
% 23.90/24.07  assert (zenon_L86_ : (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> ((op2 (e20) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((e20) = (e21))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e20) (e21)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (~((e21) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H154 zenon_H15d zenon_H15c zenon_H59 zenon_H93 zenon_H7b zenon_H81 zenon_H1a zenon_H43 zenon_H158 zenon_H127 zenon_H161 zenon_H12e zenon_H12f zenon_H139 zenon_H138 zenon_H6c zenon_H14e zenon_Hb4 zenon_H4f.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H154); [ zenon_intro zenon_H126 | zenon_intro zenon_H155 ].
% 23.90/24.07  apply (zenon_L84_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H155); [ zenon_intro zenon_H135 | zenon_intro zenon_H156 ].
% 23.90/24.07  apply (zenon_L73_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H156); [ zenon_intro zenon_H6b | zenon_intro zenon_H14f ].
% 23.90/24.07  apply (zenon_L29_); trivial.
% 23.90/24.07  apply (zenon_L79_); trivial.
% 23.90/24.07  (* end of lemma zenon_L86_ *)
% 23.90/24.07  assert (zenon_L87_ : (((op2 (e20) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e21))\/((op2 (e23) (e20)) = (e21))))) -> (~((op2 (e20) (e20)) = (e21))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((e21) = (e23))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e21)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> ((op2 (e20) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((e20) = (e21))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H16a zenon_H65 zenon_H14e zenon_H6c zenon_H138 zenon_H139 zenon_H12e zenon_H154 zenon_H15d zenon_H15c zenon_H59 zenon_H93 zenon_H7b zenon_H81 zenon_H1a zenon_H43 zenon_H158 zenon_H127 zenon_H161 zenon_H164 zenon_Hb4 zenon_H4f.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.90/24.07  exact (zenon_H65 zenon_H67).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.90/24.07  apply (zenon_L86_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.90/24.07  apply (zenon_L84_); trivial.
% 23.90/24.07  apply (zenon_L85_); trivial.
% 23.90/24.07  (* end of lemma zenon_L87_ *)
% 23.90/24.07  assert (zenon_L88_ : (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e10) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e10) (e11)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_Hfd zenon_H106 zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_Hd7 zenon_Hd8 zenon_He3 zenon_He1 zenon_H77 zenon_Hf7 zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hfe ].
% 23.90/24.07  apply (zenon_L65_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hde | zenon_intro zenon_Hff ].
% 23.90/24.07  apply (zenon_L54_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_H76 | zenon_intro zenon_Hf8 ].
% 23.90/24.07  apply (zenon_L33_); trivial.
% 23.90/24.07  apply (zenon_L59_); trivial.
% 23.90/24.07  (* end of lemma zenon_L88_ *)
% 23.90/24.07  assert (zenon_L89_ : (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e11)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e10) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H119 zenon_H70 zenon_Hf7 zenon_H77 zenon_He1 zenon_He3 zenon_Hd7 zenon_Hfd zenon_H106 zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.90/24.07  exact (zenon_H70 zenon_H72).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.90/24.07  apply (zenon_L88_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.90/24.07  apply (zenon_L65_); trivial.
% 23.90/24.07  apply (zenon_L66_); trivial.
% 23.90/24.07  (* end of lemma zenon_L89_ *)
% 23.90/24.07  assert (zenon_L90_ : (~((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op1 (e10) (e12)) = (e11)) -> ((op2 (e20) (e22)) = (e21)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e12)) = (e22)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H16d zenon_Hb3 zenon_H16e zenon_H16f zenon_Hb4 zenon_H19 zenon_H1a zenon_H170.
% 23.90/24.07  cut (((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H16d.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb3.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 23.90/24.07  cut (((h3 (e11)) = (h3 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12))))); [ zenon_intro zenon_H173 | zenon_intro zenon_H174 ].
% 23.90/24.07  cut (((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12)))) = ((h3 (e11)) = (h3 (op1 (e10) (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H172.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H173.
% 23.90/24.07  cut (((h3 (op1 (e10) (e12))) = (h3 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H174].
% 23.90/24.07  cut (((h3 (op1 (e10) (e12))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H175].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op1 (e10) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H176 zenon_H16e).
% 23.90/24.07  apply zenon_H174. apply refl_equal.
% 23.90/24.07  apply zenon_H174. apply refl_equal.
% 23.90/24.07  elim (classic ((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ].
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e10)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H171.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H177.
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e20) (e22)) = (e21)) = ((op2 (h3 (e10)) (h3 (e12))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H179.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H16f.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H17a].
% 23.90/24.07  cut (((op2 (e20) (e22)) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H17b].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ].
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12)))) = ((op2 (e20) (e22)) = (op2 (h3 (e10)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H17b.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H177.
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (h3 (e10)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 23.90/24.07  cut (((op2 (h3 (e10)) (h3 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H17c].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 23.90/24.07  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L3_); trivial.
% 23.90/24.07  exact (zenon_H17d zenon_H170).
% 23.90/24.07  apply zenon_H178. apply refl_equal.
% 23.90/24.07  apply zenon_H178. apply refl_equal.
% 23.90/24.07  exact (zenon_H17a zenon_Hb4).
% 23.90/24.07  apply zenon_H178. apply refl_equal.
% 23.90/24.07  apply zenon_H178. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L90_ *)
% 23.90/24.07  assert (zenon_L91_ : (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e10) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H17e zenon_He2 zenon_H17f zenon_H2c.
% 23.90/24.07  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H17e.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_He2.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.90/24.07  cut (((e11) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H180].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H181 | zenon_intro zenon_H109 ].
% 23.90/24.07  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e11) = (op1 (e10) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H180.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H181.
% 23.90/24.07  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 23.90/24.07  cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H182].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H182 zenon_H17f).
% 23.90/24.07  apply zenon_H109. apply refl_equal.
% 23.90/24.07  apply zenon_H109. apply refl_equal.
% 23.90/24.07  apply (zenon_L51_); trivial.
% 23.90/24.07  (* end of lemma zenon_L91_ *)
% 23.90/24.07  assert (zenon_L92_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> ((h3 (e12)) = (e22)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e22)) = (e21)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((h3 (op1 (e10) (e12))) = (op2 (h3 (e10)) (h3 (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H118 zenon_H96 zenon_H21 zenon_Ha9 zenon_H183 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_Hfd zenon_Hd7 zenon_He1 zenon_H77 zenon_Hf7 zenon_H70 zenon_H119 zenon_H170 zenon_H1a zenon_H19 zenon_Hb4 zenon_H16f zenon_Hb3 zenon_H16d zenon_H17e zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.90/24.07  apply (zenon_L41_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.90/24.07  apply (zenon_L46_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.90/24.07  apply (zenon_L42_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H72 | zenon_intro zenon_H184 ].
% 23.90/24.07  exact (zenon_H70 zenon_H72).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_He3 | zenon_intro zenon_H185 ].
% 23.90/24.07  apply (zenon_L89_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H16e | zenon_intro zenon_H17f ].
% 23.90/24.07  apply (zenon_L90_); trivial.
% 23.90/24.07  apply (zenon_L91_); trivial.
% 23.90/24.07  (* end of lemma zenon_L92_ *)
% 23.90/24.07  assert (zenon_L93_ : (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e20) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H186 zenon_Hb4 zenon_H187 zenon_H4f.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H186.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb4.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.90/24.07  cut (((e21) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H188].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H189 | zenon_intro zenon_H160 ].
% 23.90/24.07  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e21) = (op2 (e20) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H188.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H189.
% 23.90/24.07  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H160].
% 23.90/24.07  cut (((op2 (e20) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H18a].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H18a zenon_H187).
% 23.90/24.07  apply zenon_H160. apply refl_equal.
% 23.90/24.07  apply zenon_H160. apply refl_equal.
% 23.90/24.07  apply (zenon_L70_); trivial.
% 23.90/24.07  (* end of lemma zenon_L93_ *)
% 23.90/24.07  assert (zenon_L94_ : (~((h3 (e13)) = (e23))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H18b zenon_Hb8 zenon_H4f.
% 23.90/24.07  cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (e13)) = (e23))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H18b.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb8.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 23.90/24.07  cut (((h3 (e13)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H18c].
% 23.90/24.07  congruence.
% 23.90/24.07  apply zenon_H18c. apply refl_equal.
% 23.90/24.07  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.90/24.07  (* end of lemma zenon_L94_ *)
% 23.90/24.07  assert (zenon_L95_ : (~((h3 (op1 (e11) (e10))) = (op2 (h3 (e11)) (h3 (e10))))) -> ((op1 (e11) (e10)) = (e11)) -> ((op2 (e21) (e20)) = (e21)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H18d zenon_Hd8 zenon_H12f zenon_Hb3 zenon_Hb4 zenon_H19 zenon_H1a.
% 23.90/24.07  cut (((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e11) (e10))) = (op2 (h3 (e11)) (h3 (e10))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H18d.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb3.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H18e].
% 23.90/24.07  cut (((h3 (e11)) = (h3 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 23.90/24.07  cut (((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10)))) = ((h3 (e11)) = (h3 (op1 (e11) (e10))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H18f.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H190.
% 23.90/24.07  cut (((h3 (op1 (e11) (e10))) = (h3 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 23.90/24.07  cut (((h3 (op1 (e11) (e10))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H192].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op1 (e11) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H193 zenon_Hd8).
% 23.90/24.07  apply zenon_H191. apply refl_equal.
% 23.90/24.07  apply zenon_H191. apply refl_equal.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e11)) (h3 (e10))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H18e.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H194.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H196].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e21) (e20)) = (e21)) = ((op2 (h3 (e11)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H196.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H12f.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H17a].
% 23.90/24.07  cut (((op2 (e21) (e20)) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H197].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10)))) = ((op2 (e21) (e20)) = (op2 (h3 (e11)) (h3 (e10))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H197.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H194.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (h3 (e11)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.90/24.07  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L47_); trivial.
% 23.90/24.07  apply (zenon_L3_); trivial.
% 23.90/24.07  apply zenon_H195. apply refl_equal.
% 23.90/24.07  apply zenon_H195. apply refl_equal.
% 23.90/24.07  exact (zenon_H17a zenon_Hb4).
% 23.90/24.07  apply zenon_H195. apply refl_equal.
% 23.90/24.07  apply zenon_H195. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L95_ *)
% 23.90/24.07  assert (zenon_L96_ : (~((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e20) (e22)))) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e20) (e22)) = (e21)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H199 zenon_H12e zenon_H12f zenon_H4f zenon_H135 zenon_H16f.
% 23.90/24.07  cut (((op2 (e22) (e21)) = (e21)) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e20) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H199.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H135.
% 23.90/24.07  cut (((e21) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H19a].
% 23.90/24.07  cut (((op2 (e22) (e21)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H19b].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [ zenon_intro zenon_H132 | zenon_intro zenon_H133 ].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e22) (e21)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H19b.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H132.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L72_); trivial.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H133. apply refl_equal.
% 23.90/24.07  apply zenon_H19a. apply sym_equal. exact zenon_H16f.
% 23.90/24.07  (* end of lemma zenon_L96_ *)
% 23.90/24.07  assert (zenon_L97_ : (~((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e10) (e12)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e11)) = (e11)) -> ((op1 (e10) (e12)) = (e11)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H19c zenon_Hd7 zenon_Hd8 zenon_H2c zenon_Hde zenon_H16e.
% 23.90/24.07  cut (((op1 (e12) (e11)) = (e11)) = ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e10) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H19c.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hde.
% 23.90/24.07  cut (((e11) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H19d].
% 23.90/24.07  cut (((op1 (e12) (e11)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19e].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hdc ].
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e12) (e11)) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H19e.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hdb.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L53_); trivial.
% 23.90/24.07  apply zenon_Hdc. apply refl_equal.
% 23.90/24.07  apply zenon_Hdc. apply refl_equal.
% 23.90/24.07  apply zenon_H19d. apply sym_equal. exact zenon_H16e.
% 23.90/24.07  (* end of lemma zenon_L97_ *)
% 23.90/24.07  assert (zenon_L98_ : (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> ((op1 (e11) (e12)) = (e12)) -> ((op2 (e21) (e22)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H19f zenon_H1a0 zenon_H1a1 zenon_Hb3 zenon_Hb4 zenon_H170.
% 23.90/24.07  cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H19f.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H170.
% 23.90/24.07  cut (((e22) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1a2].
% 23.90/24.07  cut (((h3 (e12)) = (h3 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1a3].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12))))); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a5 ].
% 23.90/24.07  cut (((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12)))) = ((h3 (e12)) = (h3 (op1 (e11) (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1a3.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a4.
% 23.90/24.07  cut (((h3 (op1 (e11) (e12))) = (h3 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 23.90/24.07  cut (((h3 (op1 (e11) (e12))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1a7].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1a7 zenon_H1a0).
% 23.90/24.07  apply zenon_H1a5. apply refl_equal.
% 23.90/24.07  apply zenon_H1a5. apply refl_equal.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a9 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12)))) = ((e22) = (op2 (h3 (e11)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1a2.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a8.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1a9].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e21) (e22)) = (e22)) = ((op2 (h3 (e11)) (h3 (e12))) = (e22))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1aa.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a1.
% 23.90/24.07  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a9 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12)))) = ((op2 (e21) (e22)) = (op2 (h3 (e11)) (h3 (e12))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1ab.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a8.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (h3 (e11)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1a9].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e12))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1ac].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 23.90/24.07  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L47_); trivial.
% 23.90/24.07  exact (zenon_H17d zenon_H170).
% 23.90/24.07  apply zenon_H1a9. apply refl_equal.
% 23.90/24.07  apply zenon_H1a9. apply refl_equal.
% 23.90/24.07  apply zenon_H1d. apply refl_equal.
% 23.90/24.07  apply zenon_H1a9. apply refl_equal.
% 23.90/24.07  apply zenon_H1a9. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L98_ *)
% 23.90/24.07  assert (zenon_L99_ : (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e12)) = (e13)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1ad zenon_H2c zenon_H1ae.
% 23.90/24.07  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e11) (e12)) = (op1 (e12) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1ad.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H2c.
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.90/24.07  cut (((e13) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha1 ].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e13) = (op1 (e11) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1af.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Ha0.
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1b0].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1b0 zenon_H1ae).
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply zenon_Hc9. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L99_ *)
% 23.90/24.07  assert (zenon_L100_ : (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> ((op1 (e12) (e11)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e10) (e12)) = (e11)) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e22)) = (e22)) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1b1 zenon_H38 zenon_H9d zenon_H1b2 zenon_Hde zenon_Hd8 zenon_Hd7 zenon_H16e zenon_He2 zenon_H170 zenon_Hb4 zenon_Hb3 zenon_H1a1 zenon_H19f zenon_H1ad zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1b1); [ zenon_intro zenon_H9e | zenon_intro zenon_H1b3 ].
% 23.90/24.07  apply (zenon_L43_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1b3); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b4 ].
% 23.90/24.07  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha1 ].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((op1 (e10) (e12)) = (op1 (e11) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1b2.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Ha0.
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e11) (e12)) = (op1 (e10) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1b6.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_He2.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H19c].
% 23.90/24.07  cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Ha1 ].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e11) = (op1 (e11) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1b7.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Ha0.
% 23.90/24.07  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 23.90/24.07  cut (((op1 (e11) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1b8 zenon_H1b5).
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply (zenon_L97_); trivial.
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply zenon_Ha1. apply refl_equal.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1b4); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H1ae ].
% 23.90/24.07  apply (zenon_L98_); trivial.
% 23.90/24.07  apply (zenon_L99_); trivial.
% 23.90/24.07  (* end of lemma zenon_L100_ *)
% 23.90/24.07  assert (zenon_L101_ : (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> ((op1 (e10) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> ((op2 (e21) (e22)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op1 (e10) (e12)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_Hfd zenon_H106 zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H1ad zenon_H19f zenon_H1a1 zenon_Hb3 zenon_Hb4 zenon_H170 zenon_H16e zenon_Hd7 zenon_Hd8 zenon_H1b2 zenon_H9d zenon_H38 zenon_H1b1 zenon_H77 zenon_Hf7 zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hfe ].
% 23.90/24.07  apply (zenon_L65_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hde | zenon_intro zenon_Hff ].
% 23.90/24.07  apply (zenon_L100_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_H76 | zenon_intro zenon_Hf8 ].
% 23.90/24.07  apply (zenon_L33_); trivial.
% 23.90/24.07  apply (zenon_L59_); trivial.
% 23.90/24.07  (* end of lemma zenon_L101_ *)
% 23.90/24.07  assert (zenon_L102_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> ((op2 (e21) (e22)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H118 zenon_H96 zenon_H21 zenon_Ha9 zenon_H183 zenon_He1 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_Hfd zenon_H1ad zenon_H19f zenon_H1a1 zenon_Hb3 zenon_Hb4 zenon_H170 zenon_Hd7 zenon_H1b2 zenon_H1b1 zenon_H77 zenon_Hf7 zenon_H70 zenon_H119 zenon_H17e zenon_He2 zenon_H2c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.90/24.07  apply (zenon_L41_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.90/24.07  apply (zenon_L46_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.90/24.07  apply (zenon_L42_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H183); [ zenon_intro zenon_H72 | zenon_intro zenon_H184 ].
% 23.90/24.07  exact (zenon_H70 zenon_H72).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_He3 | zenon_intro zenon_H185 ].
% 23.90/24.07  apply (zenon_L89_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H185); [ zenon_intro zenon_H16e | zenon_intro zenon_H17f ].
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.90/24.07  exact (zenon_H70 zenon_H72).
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.90/24.07  apply (zenon_L101_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.90/24.07  apply (zenon_L65_); trivial.
% 23.90/24.07  apply (zenon_L66_); trivial.
% 23.90/24.07  apply (zenon_L91_); trivial.
% 23.90/24.07  (* end of lemma zenon_L102_ *)
% 23.90/24.07  assert (zenon_L103_ : (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e22)) = (e23)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1b9 zenon_H4f zenon_H1ba.
% 23.90/24.07  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e21) (e22)) = (op2 (e22) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1b9.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H4f.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.90/24.07  cut (((e23) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1bb].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e23) = (op2 (e21) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1bb.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H84.
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1bc zenon_H1ba).
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply zenon_H120. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L103_ *)
% 23.90/24.07  assert (zenon_L104_ : (((op2 (e21) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e22)) = (e23))))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e21) (e22)))) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e20) (e22)) = (e21)) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> ((op1 (e13) (e13)) = (e11)) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e10) = (e12))) -> ((op1 (e10) (e10)) = (e12)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1bd zenon_H1a zenon_H81 zenon_H1be zenon_H135 zenon_H12f zenon_H12e zenon_H16f zenon_H2c zenon_He2 zenon_H17e zenon_H119 zenon_H70 zenon_Hf7 zenon_H77 zenon_H1b1 zenon_H1b2 zenon_Hd7 zenon_H170 zenon_Hb4 zenon_Hb3 zenon_H19f zenon_H1ad zenon_Hfd zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He1 zenon_H183 zenon_Ha9 zenon_H21 zenon_H96 zenon_H118 zenon_H1b9 zenon_H4f.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1bd); [ zenon_intro zenon_H82 | zenon_intro zenon_H1bf ].
% 23.90/24.07  apply (zenon_L37_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1bf); [ zenon_intro zenon_H1c1 | zenon_intro zenon_H1c0 ].
% 23.90/24.07  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((op2 (e20) (e22)) = (op2 (e21) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1be.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H84.
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1c2].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e21) (e22)) = (op2 (e20) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1c2.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb4.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 23.90/24.07  cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e21) = (op2 (e21) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1c3.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H84.
% 23.90/24.07  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 23.90/24.07  cut (((op2 (e21) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1c4].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1c4 zenon_H1c1).
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply (zenon_L96_); trivial.
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply zenon_H85. apply refl_equal.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1c0); [ zenon_intro zenon_H1a1 | zenon_intro zenon_H1ba ].
% 23.90/24.07  apply (zenon_L102_); trivial.
% 23.90/24.07  apply (zenon_L103_); trivial.
% 23.90/24.07  (* end of lemma zenon_L104_ *)
% 23.90/24.07  assert (zenon_L105_ : (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> ((op2 (e20) (e23)) = (e20)) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> (~((e20) = (e21))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((op2 (e21) (e22)) = (op2 (e22) (e22)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e12)) = (op1 (e12) (e12)))) -> (~((h3 (op1 (e11) (e12))) = (op2 (h3 (e11)) (h3 (e12))))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> ((op2 (e20) (e22)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> ((op2 (e21) (e20)) = (e21)) -> (~((op2 (e20) (e22)) = (op2 (e21) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (((op2 (e21) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e22)) = (e23))))) -> (~((e21) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H154 zenon_H15d zenon_H15c zenon_H59 zenon_H93 zenon_H7b zenon_H43 zenon_H158 zenon_H127 zenon_H161 zenon_H1b9 zenon_H118 zenon_H96 zenon_H21 zenon_Ha9 zenon_H183 zenon_He1 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_Hfd zenon_H1ad zenon_H19f zenon_Hb3 zenon_H170 zenon_Hd7 zenon_H1b2 zenon_H1b1 zenon_H77 zenon_Hf7 zenon_H70 zenon_H119 zenon_H17e zenon_He2 zenon_H2c zenon_H16f zenon_H12e zenon_H12f zenon_H1be zenon_H81 zenon_H1a zenon_H1bd zenon_H6c zenon_H14e zenon_Hb4 zenon_H4f.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H154); [ zenon_intro zenon_H126 | zenon_intro zenon_H155 ].
% 23.90/24.07  apply (zenon_L84_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H155); [ zenon_intro zenon_H135 | zenon_intro zenon_H156 ].
% 23.90/24.07  apply (zenon_L104_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H156); [ zenon_intro zenon_H6b | zenon_intro zenon_H14f ].
% 23.90/24.07  apply (zenon_L29_); trivial.
% 23.90/24.07  apply (zenon_L79_); trivial.
% 23.90/24.07  (* end of lemma zenon_L105_ *)
% 23.90/24.07  assert (zenon_L106_ : ((op2 (e20) (e23)) = (e20)) -> ((op2 (e20) (e23)) = (e23)) -> (~((e20) = (e23))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H15d zenon_H1c5 zenon_H54.
% 23.90/24.07  elim (classic ((e23) = (e23))); [ zenon_intro zenon_H57 | zenon_intro zenon_H52 ].
% 23.90/24.07  cut (((e23) = (e23)) = ((e20) = (e23))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H54.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H57.
% 23.90/24.07  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 23.90/24.07  cut (((e23) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e20) (e23)) = (e20)) = ((e23) = (e20))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H58.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H15d.
% 23.90/24.07  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H42].
% 23.90/24.07  cut (((op2 (e20) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1c6].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1c6 zenon_H1c5).
% 23.90/24.07  apply zenon_H42. apply refl_equal.
% 23.90/24.07  apply zenon_H52. apply refl_equal.
% 23.90/24.07  apply zenon_H52. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L106_ *)
% 23.90/24.07  assert (zenon_L107_ : ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e23)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e21) (e21)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1a zenon_H1c7 zenon_H88 zenon_H43 zenon_H4f zenon_H1c8.
% 23.90/24.07  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1ca ].
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e21) (e21)) = (op2 (e21) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1c8.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1c9.
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1cb].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e21) (e23)) = (op2 (e21) (e21)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1cb.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 23.90/24.07  cut (((e20) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1cc].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1ca ].
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e20) = (op2 (e21) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1cc.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1c9.
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 23.90/24.07  cut (((op2 (e21) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1cd].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1cd zenon_H1c7).
% 23.90/24.07  apply zenon_H1ca. apply refl_equal.
% 23.90/24.07  apply zenon_H1ca. apply refl_equal.
% 23.90/24.07  apply (zenon_L38_); trivial.
% 23.90/24.07  apply zenon_H1ca. apply refl_equal.
% 23.90/24.07  apply zenon_H1ca. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L107_ *)
% 23.90/24.07  assert (zenon_L108_ : (~((op2 (op2 (e22) (e22)) (e22)) = (op2 (e22) (e20)))) -> ((op2 (e23) (e22)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e20)) = (e20)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1ce zenon_H88 zenon_H4f zenon_H125.
% 23.90/24.07  cut (((op2 (e23) (e22)) = (e20)) = ((op2 (op2 (e22) (e22)) (e22)) = (op2 (e22) (e20)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1ce.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H88.
% 23.90/24.07  cut (((e20) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1cf].
% 23.90/24.07  cut (((op2 (e23) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [ zenon_intro zenon_H8b | zenon_intro zenon_H8c ].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e23) (e22)) = (op2 (op2 (e22) (e22)) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H8a.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H8b.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L24_); trivial.
% 23.90/24.07  apply zenon_H8c. apply refl_equal.
% 23.90/24.07  apply zenon_H8c. apply refl_equal.
% 23.90/24.07  apply zenon_H1cf. apply sym_equal. exact zenon_H125.
% 23.90/24.07  (* end of lemma zenon_L108_ *)
% 23.90/24.07  assert (zenon_L109_ : ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e22) (e23)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e22) (e20)) = (e20)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1a zenon_H15e zenon_H88 zenon_H125 zenon_H4f zenon_H1d0.
% 23.90/24.07  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H151 | zenon_intro zenon_H152 ].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e22) (e20)) = (op2 (e22) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1d0.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H151.
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1d1].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e22) (e23)) = (op2 (e22) (e20)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1d1.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1a.
% 23.90/24.07  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1ce].
% 23.90/24.07  cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H15f].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H151 | zenon_intro zenon_H152 ].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e20) = (op2 (e22) (e23)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H15f.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H151.
% 23.90/24.07  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 23.90/24.07  cut (((op2 (e22) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1d2].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1d2 zenon_H15e).
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  apply (zenon_L108_); trivial.
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  apply zenon_H152. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L109_ *)
% 23.90/24.07  assert (zenon_L110_ : (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((e20) = (e23))) -> ((op2 (e20) (e23)) = (e23)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1d3 zenon_H54 zenon_H1c5 zenon_H1c8 zenon_H43 zenon_H1d0 zenon_H125 zenon_H88 zenon_H1a zenon_H4f zenon_H5c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1d3); [ zenon_intro zenon_H15d | zenon_intro zenon_H1d4 ].
% 23.90/24.07  apply (zenon_L106_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1d4); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1d5 ].
% 23.90/24.07  apply (zenon_L107_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1d5); [ zenon_intro zenon_H15e | zenon_intro zenon_H5b ].
% 23.90/24.07  apply (zenon_L109_); trivial.
% 23.90/24.07  apply (zenon_L25_); trivial.
% 23.90/24.07  (* end of lemma zenon_L110_ *)
% 23.90/24.07  assert (zenon_L111_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((e20) = (e23))) -> ((op2 (e20) (e23)) = (e23)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H1d3 zenon_H54 zenon_H1c5 zenon_H1c8 zenon_H43 zenon_H1d0 zenon_H125 zenon_H1a zenon_H4f zenon_H5c.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.90/24.07  apply (zenon_L36_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.90/24.07  apply (zenon_L37_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.90/24.07  exact (zenon_H59 zenon_H56).
% 23.90/24.07  apply (zenon_L110_); trivial.
% 23.90/24.07  (* end of lemma zenon_L111_ *)
% 23.90/24.07  assert (zenon_L112_ : ((op1 (e10) (e13)) = (e10)) -> ((op1 (e10) (e13)) = (e13)) -> (~((e10) = (e13))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H106 zenon_H1d6 zenon_H31.
% 23.90/24.07  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H32 | zenon_intro zenon_H2f ].
% 23.90/24.07  cut (((e13) = (e13)) = ((e10) = (e13))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H31.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H32.
% 23.90/24.07  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 23.90/24.07  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op1 (e10) (e13)) = (e10)) = ((e13) = (e10))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H33.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H106.
% 23.90/24.07  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 23.90/24.07  cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d7].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1d7 zenon_H1d6).
% 23.90/24.07  apply zenon_H1e. apply refl_equal.
% 23.90/24.07  apply zenon_H2f. apply refl_equal.
% 23.90/24.07  apply zenon_H2f. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L112_ *)
% 23.90/24.07  assert (zenon_L113_ : (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> ((op1 (e11) (e13)) = (e13)) -> ((op2 (e21) (e23)) = (e23)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1d8 zenon_H1d9 zenon_H1da zenon_Hb3 zenon_Hb4 zenon_Hb8 zenon_H4f.
% 23.90/24.07  cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1d8.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb8.
% 23.90/24.07  cut (((op2 (e22) (e22)) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 23.90/24.07  cut (((h3 (e13)) = (h3 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1dc].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13))))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1de ].
% 23.90/24.07  cut (((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13)))) = ((h3 (e13)) = (h3 (op1 (e11) (e13))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1dc.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1dd.
% 23.90/24.07  cut (((h3 (op1 (e11) (e13))) = (h3 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 23.90/24.07  cut (((h3 (op1 (e11) (e13))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1df].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op1 (e11) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1e0].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1e0 zenon_H1d9).
% 23.90/24.07  apply zenon_H1de. apply refl_equal.
% 23.90/24.07  apply zenon_H1de. apply refl_equal.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13)))) = ((op2 (e22) (e22)) = (op2 (h3 (e11)) (h3 (e13))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1db.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1e1.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1e2].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((op2 (e21) (e23)) = (e23)) = ((op2 (h3 (e11)) (h3 (e13))) = (op2 (e22) (e22)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1e3.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1da.
% 23.90/24.07  cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc4].
% 23.90/24.07  cut (((op2 (e21) (e23)) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13)))) = ((op2 (e21) (e23)) = (op2 (h3 (e11)) (h3 (e13))))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1e4.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1e1.
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (h3 (e11)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1e2].
% 23.90/24.07  cut (((op2 (h3 (e11)) (h3 (e13))) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 23.90/24.07  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L47_); trivial.
% 23.90/24.07  apply (zenon_L94_); trivial.
% 23.90/24.07  apply zenon_H1e2. apply refl_equal.
% 23.90/24.07  apply zenon_H1e2. apply refl_equal.
% 23.90/24.07  exact (zenon_Hc4 zenon_H4f).
% 23.90/24.07  apply zenon_H1e2. apply refl_equal.
% 23.90/24.07  apply zenon_H1e2. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L113_ *)
% 23.90/24.07  assert (zenon_L114_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e12) (e13)) = (e13)) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H2c zenon_H1e6 zenon_H1e7.
% 23.90/24.07  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ].
% 23.90/24.07  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e12) (e12)) = (op1 (e12) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1e7.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hfa.
% 23.90/24.07  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 23.90/24.07  cut (((op1 (e12) (e13)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e8].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e12) (e13)) = (op1 (e12) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1e8.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H2c.
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.90/24.07  cut (((e13) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1e9].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ].
% 23.90/24.07  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e13) = (op1 (e12) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1e9.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hfa.
% 23.90/24.07  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 23.90/24.07  cut (((op1 (e12) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1ea].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1ea zenon_H1e6).
% 23.90/24.07  apply zenon_Hfb. apply refl_equal.
% 23.90/24.07  apply zenon_Hfb. apply refl_equal.
% 23.90/24.07  apply zenon_Hc9. apply refl_equal.
% 23.90/24.07  apply zenon_Hfb. apply refl_equal.
% 23.90/24.07  apply zenon_Hfb. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L114_ *)
% 23.90/24.07  assert (zenon_L115_ : (~((op1 (op1 (e12) (e12)) (e12)) = (op1 (e10) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1eb zenon_Ha4 zenon_H2c zenon_H106.
% 23.90/24.07  cut (((op1 (e13) (e12)) = (e10)) = ((op1 (op1 (e12) (e12)) (e12)) = (op1 (e10) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1eb.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Ha4.
% 23.90/24.07  cut (((e10) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1ec].
% 23.90/24.07  cut (((op1 (e13) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [ zenon_intro zenon_Ha7 | zenon_intro zenon_Ha8 ].
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e13) (e12)) = (op1 (op1 (e12) (e12)) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_Ha6.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Ha7.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (op1 (e12) (e12)) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L14_); trivial.
% 23.90/24.07  apply zenon_Ha8. apply refl_equal.
% 23.90/24.07  apply zenon_Ha8. apply refl_equal.
% 23.90/24.07  apply zenon_H1ec. apply sym_equal. exact zenon_H106.
% 23.90/24.07  (* end of lemma zenon_L115_ *)
% 23.90/24.07  assert (zenon_L116_ : ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e13)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((op1 (e10) (e13)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H38 zenon_H1ed zenon_Ha4 zenon_H106 zenon_H2c zenon_H1ee.
% 23.90/24.07  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H1ef | zenon_intro zenon_H1f0 ].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1ee.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1ef.
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e11) (e13)) = (op1 (e10) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f1.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H38.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1eb].
% 23.90/24.07  cut (((e10) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H1ef | zenon_intro zenon_H1f0 ].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e10) = (op1 (e11) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f2.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1ef.
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1f3 zenon_H1ed).
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply (zenon_L115_); trivial.
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L116_ *)
% 23.90/24.07  assert (zenon_L117_ : (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e11) (e13)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1f4 zenon_He2 zenon_H1f5 zenon_H2c.
% 23.90/24.07  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f4.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_He2.
% 23.90/24.07  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.90/24.07  cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f6].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H1ef | zenon_intro zenon_H1f0 ].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e11) = (op1 (e11) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f6.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1ef.
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H1f7 zenon_H1f5).
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply (zenon_L51_); trivial.
% 23.90/24.07  (* end of lemma zenon_L117_ *)
% 23.90/24.07  assert (zenon_L118_ : (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e12) (e13)) = (e12)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1f8 zenon_H1f9 zenon_H1fa.
% 23.90/24.07  cut (((op1 (e11) (e13)) = (e12)) = ((op1 (e11) (e13)) = (op1 (e12) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f8.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H1f9.
% 23.90/24.07  cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 23.90/24.07  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 23.90/24.07  congruence.
% 23.90/24.07  apply zenon_H1f0. apply refl_equal.
% 23.90/24.07  apply zenon_H1fb. apply sym_equal. exact zenon_H1fa.
% 23.90/24.07  (* end of lemma zenon_L118_ *)
% 23.90/24.07  assert (zenon_L119_ : (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> ((op1 (e10) (e13)) = (e10)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((op1 (e11) (e13)) = (e12)) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1fc zenon_H106 zenon_H105 zenon_He2 zenon_Hf7 zenon_H1f9 zenon_H1f8 zenon_H2c zenon_H1e7.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H107 | zenon_intro zenon_H1fd ].
% 23.90/24.07  apply (zenon_L62_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1fe ].
% 23.90/24.07  apply (zenon_L59_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1e6 ].
% 23.90/24.07  apply (zenon_L118_); trivial.
% 23.90/24.07  apply (zenon_L114_); trivial.
% 23.90/24.07  (* end of lemma zenon_L119_ *)
% 23.90/24.07  assert (zenon_L120_ : (~((op1 (e12) (e12)) = (op1 (e11) (e13)))) -> ((op1 (e10) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e13)) = (e13)) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H1ff zenon_Hb9 zenon_H2c zenon_H1d9.
% 23.90/24.07  cut (((op1 (e10) (e11)) = (e13)) = ((op1 (e12) (e12)) = (op1 (e11) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1ff.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_Hb9.
% 23.90/24.07  cut (((e13) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 23.90/24.07  cut (((op1 (e10) (e11)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H201 | zenon_intro zenon_Hc9 ].
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e10) (e11)) = (op1 (e12) (e12)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_Heb.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H201.
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 23.90/24.07  congruence.
% 23.90/24.07  apply (zenon_L56_); trivial.
% 23.90/24.07  apply zenon_Hc9. apply refl_equal.
% 23.90/24.07  apply zenon_Hc9. apply refl_equal.
% 23.90/24.07  apply zenon_H200. apply sym_equal. exact zenon_H1d9.
% 23.90/24.07  (* end of lemma zenon_L120_ *)
% 23.90/24.07  assert (zenon_L121_ : ((op1 (e13) (e13)) = (e13)) -> ((op1 (e11) (e13)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H202 zenon_H1d9 zenon_Hb9 zenon_H2c zenon_H1f4.
% 23.90/24.07  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 23.90/24.07  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e13)) = (op1 (e13) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H1f4.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H3b.
% 23.90/24.07  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 23.90/24.07  cut (((op1 (e13) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H203].
% 23.90/24.07  congruence.
% 23.90/24.07  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e13) (e13)) = (op1 (e11) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H203.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H2c.
% 23.90/24.07  cut (((op1 (e12) (e12)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 23.90/24.07  cut (((e13) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H204].
% 23.90/24.07  congruence.
% 23.90/24.07  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H3b | zenon_intro zenon_H3c ].
% 23.90/24.07  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e13) = (op1 (e13) (e13)))).
% 23.90/24.07  intro zenon_D_pnotp.
% 23.90/24.07  apply zenon_H204.
% 23.90/24.07  rewrite <- zenon_D_pnotp.
% 23.90/24.07  exact zenon_H3b.
% 23.90/24.07  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 23.90/24.07  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H205].
% 23.90/24.07  congruence.
% 23.90/24.07  exact (zenon_H205 zenon_H202).
% 23.90/24.07  apply zenon_H3c. apply refl_equal.
% 23.90/24.07  apply zenon_H3c. apply refl_equal.
% 23.90/24.07  apply (zenon_L120_); trivial.
% 23.90/24.07  apply zenon_H3c. apply refl_equal.
% 23.90/24.07  apply zenon_H3c. apply refl_equal.
% 23.90/24.07  (* end of lemma zenon_L121_ *)
% 23.90/24.07  assert (zenon_L122_ : (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e13) (e12)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> ((op1 (e13) (e13)) = (e13)) -> ((op1 (e10) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 23.90/24.07  do 0 intro. intros zenon_H206 zenon_H1ee zenon_Ha4 zenon_H38 zenon_H1e7 zenon_H1f8 zenon_Hf7 zenon_He2 zenon_H105 zenon_H106 zenon_H1fc zenon_H202 zenon_Hb9 zenon_H2c zenon_H1f4.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H206); [ zenon_intro zenon_H1ed | zenon_intro zenon_H207 ].
% 23.90/24.07  apply (zenon_L116_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H208 ].
% 23.90/24.07  apply (zenon_L117_); trivial.
% 23.90/24.07  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1d9 ].
% 23.90/24.07  apply (zenon_L119_); trivial.
% 23.90/24.07  apply (zenon_L121_); trivial.
% 23.90/24.07  (* end of lemma zenon_L122_ *)
% 23.90/24.07  assert (zenon_L123_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e23)) = (e23)) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> ((op1 (e10) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_Haf zenon_H97 zenon_H9d zenon_H34 zenon_H209 zenon_H31 zenon_H4f zenon_Hb8 zenon_Hb4 zenon_Hb3 zenon_H1da zenon_H1d8 zenon_H206 zenon_H1ee zenon_H38 zenon_H1e7 zenon_H1f8 zenon_Hf7 zenon_He2 zenon_H105 zenon_H106 zenon_H1fc zenon_Hb9 zenon_H2c zenon_H1f4.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.90/24.08  apply (zenon_L42_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.90/24.08  apply (zenon_L43_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.90/24.08  exact (zenon_H34 zenon_H30).
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H209); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H20a ].
% 23.90/24.08  apply (zenon_L112_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H20a); [ zenon_intro zenon_H1d9 | zenon_intro zenon_H20b ].
% 23.90/24.08  apply (zenon_L113_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H20b); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H202 ].
% 23.90/24.08  apply (zenon_L114_); trivial.
% 23.90/24.08  apply (zenon_L122_); trivial.
% 23.90/24.08  (* end of lemma zenon_L123_ *)
% 23.90/24.08  assert (zenon_L124_ : (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> ((op2 (e21) (e23)) = (e23)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> (~((e10) = (e13))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H10d zenon_H1f4 zenon_H1fc zenon_H1f8 zenon_H1e7 zenon_H1ee zenon_H206 zenon_H1d8 zenon_H1da zenon_Hb3 zenon_Hb4 zenon_Hb8 zenon_H4f zenon_H31 zenon_H209 zenon_H10e zenon_Hc7 zenon_H10a zenon_He2 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_Hd8 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hd0 zenon_Hfd zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H106.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H10d); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H10f ].
% 23.90/24.08  apply (zenon_L123_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H10f); [ zenon_intro zenon_H111 | zenon_intro zenon_H110 ].
% 23.90/24.08  exact (zenon_H10e zenon_H111).
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H110); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hed ].
% 23.90/24.08  apply (zenon_L49_); trivial.
% 23.90/24.08  apply (zenon_L63_); trivial.
% 23.90/24.08  (* end of lemma zenon_L124_ *)
% 23.90/24.08  assert (zenon_L125_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (e13))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e23)) = (e23)) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H118 zenon_H21 zenon_H119 zenon_H70 zenon_Hfd zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_Hf7 zenon_Hc7 zenon_H10e zenon_H209 zenon_H31 zenon_H4f zenon_Hb8 zenon_Hb4 zenon_Hb3 zenon_H1da zenon_H1d8 zenon_H206 zenon_H1ee zenon_H1e7 zenon_H1f8 zenon_H1fc zenon_H1f4 zenon_H10d zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.90/24.08  apply (zenon_L41_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.90/24.08  apply (zenon_L46_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.90/24.08  apply (zenon_L42_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.90/24.08  exact (zenon_H70 zenon_H72).
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.90/24.08  apply (zenon_L124_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.90/24.08  apply (zenon_L65_); trivial.
% 23.90/24.08  apply (zenon_L66_); trivial.
% 23.90/24.08  (* end of lemma zenon_L125_ *)
% 23.90/24.08  assert (zenon_L126_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e22) (e23)) = (e23)) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H4f zenon_H20c zenon_H20d.
% 23.90/24.08  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H151 | zenon_intro zenon_H152 ].
% 23.90/24.08  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e22) (e22)) = (op2 (e22) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H20d.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H151.
% 23.90/24.08  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 23.90/24.08  cut (((op2 (e22) (e23)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H20e].
% 23.90/24.08  congruence.
% 23.90/24.08  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e22) (e23)) = (op2 (e22) (e22)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H20e.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H4f.
% 23.90/24.08  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.90/24.08  cut (((e23) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H20f].
% 23.90/24.08  congruence.
% 23.90/24.08  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_H151 | zenon_intro zenon_H152 ].
% 23.90/24.08  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e23) = (op2 (e22) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H20f.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H151.
% 23.90/24.08  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H152].
% 23.90/24.08  cut (((op2 (e22) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 23.90/24.08  congruence.
% 23.90/24.08  exact (zenon_H210 zenon_H20c).
% 23.90/24.08  apply zenon_H152. apply refl_equal.
% 23.90/24.08  apply zenon_H152. apply refl_equal.
% 23.90/24.08  apply zenon_H120. apply refl_equal.
% 23.90/24.08  apply zenon_H152. apply refl_equal.
% 23.90/24.08  apply zenon_H152. apply refl_equal.
% 23.90/24.08  (* end of lemma zenon_L126_ *)
% 23.90/24.08  assert (zenon_L127_ : (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e21) (e23)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H211 zenon_Hb4 zenon_H212 zenon_H4f.
% 23.90/24.08  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H211.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_Hb4.
% 23.90/24.08  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.90/24.08  cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H213].
% 23.90/24.08  congruence.
% 23.90/24.08  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1ca ].
% 23.90/24.08  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e21) = (op2 (e21) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H213.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H1c9.
% 23.90/24.08  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 23.90/24.08  cut (((op2 (e21) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H214].
% 23.90/24.08  congruence.
% 23.90/24.08  exact (zenon_H214 zenon_H212).
% 23.90/24.08  apply zenon_H1ca. apply refl_equal.
% 23.90/24.08  apply zenon_H1ca. apply refl_equal.
% 23.90/24.08  apply (zenon_L70_); trivial.
% 23.90/24.08  (* end of lemma zenon_L127_ *)
% 23.90/24.08  assert (zenon_L128_ : (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e22) (e23)) = (e22)) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H215 zenon_H216 zenon_H217.
% 23.90/24.08  cut (((op2 (e21) (e23)) = (e22)) = ((op2 (e21) (e23)) = (op2 (e22) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H215.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H216.
% 23.90/24.08  cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H218].
% 23.90/24.08  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 23.90/24.08  congruence.
% 23.90/24.08  apply zenon_H1ca. apply refl_equal.
% 23.90/24.08  apply zenon_H218. apply sym_equal. exact zenon_H217.
% 23.90/24.08  (* end of lemma zenon_L128_ *)
% 23.90/24.08  assert (zenon_L129_ : (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e20)) -> ((op2 (e23) (e22)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((op2 (e21) (e23)) = (e22)) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H219 zenon_H1d0 zenon_H125 zenon_H88 zenon_H1a zenon_Hb4 zenon_H14e zenon_H216 zenon_H215 zenon_H4f zenon_H20d.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H15e | zenon_intro zenon_H21a ].
% 23.90/24.08  apply (zenon_L109_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H14f | zenon_intro zenon_H21b ].
% 23.90/24.08  apply (zenon_L79_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H217 | zenon_intro zenon_H20c ].
% 23.90/24.08  apply (zenon_L128_); trivial.
% 23.90/24.08  apply (zenon_L126_); trivial.
% 23.90/24.08  (* end of lemma zenon_L129_ *)
% 23.90/24.08  assert (zenon_L130_ : (~((op2 (e22) (e22)) = (op2 (e21) (e23)))) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e21) (e23)) = (e23)) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H21c zenon_Hba zenon_H4f zenon_H1da.
% 23.90/24.08  cut (((op2 (e20) (e21)) = (e23)) = ((op2 (e22) (e22)) = (op2 (e21) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H21c.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_Hba.
% 23.90/24.08  cut (((e23) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H21d].
% 23.90/24.08  cut (((op2 (e20) (e21)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 23.90/24.08  congruence.
% 23.90/24.08  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_H21e | zenon_intro zenon_H120 ].
% 23.90/24.08  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e20) (e21)) = (op2 (e22) (e22)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H141.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H21e.
% 23.90/24.08  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.90/24.08  cut (((op2 (e22) (e22)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 23.90/24.08  congruence.
% 23.90/24.08  apply (zenon_L75_); trivial.
% 23.90/24.08  apply zenon_H120. apply refl_equal.
% 23.90/24.08  apply zenon_H120. apply refl_equal.
% 23.90/24.08  apply zenon_H21d. apply sym_equal. exact zenon_H1da.
% 23.90/24.08  (* end of lemma zenon_L130_ *)
% 23.90/24.08  assert (zenon_L131_ : ((op2 (e23) (e23)) = (e23)) -> ((op2 (e21) (e23)) = (e23)) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H21f zenon_H1da zenon_Hba zenon_H4f zenon_H211.
% 23.90/24.08  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H5d | zenon_intro zenon_H5e ].
% 23.90/24.08  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e23)) = (op2 (e23) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H211.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H5d.
% 23.90/24.08  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 23.90/24.08  cut (((op2 (e23) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H220].
% 23.90/24.08  congruence.
% 23.90/24.08  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e23) (e23)) = (op2 (e21) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H220.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H4f.
% 23.90/24.08  cut (((op2 (e22) (e22)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H21c].
% 23.90/24.08  cut (((e23) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H221].
% 23.90/24.08  congruence.
% 23.90/24.08  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H5d | zenon_intro zenon_H5e ].
% 23.90/24.08  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((e23) = (op2 (e23) (e23)))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H221.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H5d.
% 23.90/24.08  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 23.90/24.08  cut (((op2 (e23) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H222].
% 23.90/24.08  congruence.
% 23.90/24.08  exact (zenon_H222 zenon_H21f).
% 23.90/24.08  apply zenon_H5e. apply refl_equal.
% 23.90/24.08  apply zenon_H5e. apply refl_equal.
% 23.90/24.08  apply (zenon_L130_); trivial.
% 23.90/24.08  apply zenon_H5e. apply refl_equal.
% 23.90/24.08  apply zenon_H5e. apply refl_equal.
% 23.90/24.08  (* end of lemma zenon_L131_ *)
% 23.90/24.08  assert (zenon_L132_ : (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e23) (e22)) = (e20)) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> ((op2 (e23) (e23)) = (e23)) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H223 zenon_H1c8 zenon_H43 zenon_H20d zenon_H215 zenon_H14e zenon_Hb4 zenon_H1a zenon_H88 zenon_H125 zenon_H1d0 zenon_H219 zenon_H21f zenon_Hba zenon_H4f zenon_H211.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H223); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H224 ].
% 23.90/24.08  apply (zenon_L107_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H212 | zenon_intro zenon_H225 ].
% 23.90/24.08  apply (zenon_L127_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H216 | zenon_intro zenon_H1da ].
% 23.90/24.08  apply (zenon_L129_); trivial.
% 23.90/24.08  apply (zenon_L131_); trivial.
% 23.90/24.08  (* end of lemma zenon_L132_ *)
% 23.90/24.08  assert (zenon_L133_ : (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (~((e20) = (e23))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((e10) = (e13))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H226 zenon_H5c zenon_H54 zenon_H1d3 zenon_H59 zenon_H81 zenon_H7b zenon_H93 zenon_H2c zenon_He2 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H10d zenon_H1f4 zenon_H1fc zenon_H1f8 zenon_H1e7 zenon_H1ee zenon_H206 zenon_H1d8 zenon_Hb3 zenon_Hb8 zenon_H31 zenon_H209 zenon_H10e zenon_Hc7 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hfd zenon_H70 zenon_H119 zenon_H21 zenon_H118 zenon_H223 zenon_H1c8 zenon_H43 zenon_H20d zenon_H215 zenon_H14e zenon_Hb4 zenon_H1a zenon_H125 zenon_H1d0 zenon_H219 zenon_Hba zenon_H4f zenon_H211.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.90/24.08  apply (zenon_L36_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.90/24.08  apply (zenon_L37_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.90/24.08  exact (zenon_H59 zenon_H56).
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H226); [ zenon_intro zenon_H1c5 | zenon_intro zenon_H227 ].
% 23.90/24.08  apply (zenon_L111_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H227); [ zenon_intro zenon_H1da | zenon_intro zenon_H228 ].
% 23.90/24.08  apply (zenon_L125_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H228); [ zenon_intro zenon_H20c | zenon_intro zenon_H21f ].
% 23.90/24.08  apply (zenon_L126_); trivial.
% 23.90/24.08  apply (zenon_L132_); trivial.
% 23.90/24.08  (* end of lemma zenon_L133_ *)
% 23.90/24.08  assert (zenon_L134_ : (((op2 (e20) (e21)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (e13))) -> (((op1 (e10) (e13)) = (e13))\/(((op1 (e11) (e13)) = (e13))\/(((op1 (e12) (e13)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((e10) = (e13))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((h3 (op1 (e11) (e13))) = (op2 (h3 (e11)) (h3 (e13))))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> (((op2 (e20) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e20))\/((op2 (e23) (e23)) = (e20))))) -> (~((e20) = (e23))) -> (~((op2 (e23) (e22)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e23)) = (e23))\/(((op2 (e21) (e23)) = (e23))\/(((op2 (e22) (e23)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> (~((op2 (e21) (e21)) = (e23))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((e20) = (e21))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e20)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e21) (e21)) = (e20)) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((e21) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H229 zenon_H211 zenon_H219 zenon_H1d0 zenon_H215 zenon_H20d zenon_H1c8 zenon_H223 zenon_H118 zenon_H21 zenon_H119 zenon_H70 zenon_Hfd zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_Hf7 zenon_Hc7 zenon_H10e zenon_H209 zenon_H31 zenon_Hb8 zenon_Hb3 zenon_H1d8 zenon_H206 zenon_H1ee zenon_H1e7 zenon_H1f8 zenon_H1fc zenon_H1f4 zenon_H10d zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c zenon_H1d3 zenon_H54 zenon_H5c zenon_H226 zenon_H22a zenon_H11e zenon_H154 zenon_H127 zenon_H125 zenon_H145 zenon_H13c zenon_H7a zenon_H138 zenon_H12f zenon_H12e zenon_H8d zenon_H1a zenon_H43 zenon_H14b zenon_H59 zenon_H81 zenon_H7b zenon_H93 zenon_H6c zenon_H14e zenon_Hb4 zenon_H4f.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H229); [ zenon_intro zenon_Hba | zenon_intro zenon_H22b ].
% 23.90/24.08  apply (zenon_L133_); trivial.
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H22b); [ zenon_intro zenon_H22d | zenon_intro zenon_H22c ].
% 23.90/24.08  exact (zenon_H22a zenon_H22d).
% 23.90/24.08  apply (zenon_or_s _ _ zenon_H22c); [ zenon_intro zenon_H11f | zenon_intro zenon_H144 ].
% 23.90/24.08  apply (zenon_L68_); trivial.
% 23.90/24.08  apply (zenon_L80_); trivial.
% 23.90/24.08  (* end of lemma zenon_L134_ *)
% 23.90/24.08  assert (zenon_L135_ : (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> ((op1 (e12) (e10)) = (e10)) -> ((op2 (e22) (e20)) = (e20)) -> ((h3 (e12)) = (e22)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> False).
% 23.90/24.08  do 0 intro. intros zenon_H22e zenon_Hce zenon_H125 zenon_H170 zenon_H19 zenon_H1a.
% 23.90/24.08  cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) = ((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H22e.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H19.
% 23.90/24.08  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H22f].
% 23.90/24.08  cut (((h3 (e10)) = (h3 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 23.90/24.08  congruence.
% 23.90/24.08  elim (classic ((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10))))); [ zenon_intro zenon_H231 | zenon_intro zenon_H232 ].
% 23.90/24.08  cut (((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10)))) = ((h3 (e10)) = (h3 (op1 (e12) (e10))))).
% 23.90/24.08  intro zenon_D_pnotp.
% 23.90/24.08  apply zenon_H230.
% 23.90/24.08  rewrite <- zenon_D_pnotp.
% 23.90/24.08  exact zenon_H231.
% 23.90/24.08  cut (((h3 (op1 (e12) (e10))) = (h3 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H232].
% 23.90/24.08  cut (((h3 (op1 (e12) (e10))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H233].
% 23.90/24.08  congruence.
% 23.90/24.08  cut (((op1 (e12) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H234].
% 23.90/24.08  congruence.
% 23.90/24.08  exact (zenon_H234 zenon_Hce).
% 23.91/24.08  apply zenon_H232. apply refl_equal.
% 23.91/24.08  apply zenon_H232. apply refl_equal.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [ zenon_intro zenon_H235 | zenon_intro zenon_H236 ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10)))) = ((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e12)) (h3 (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H22f.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H235.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H236].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H237].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op2 (e22) (e20)) = (e20)) = ((op2 (h3 (e12)) (h3 (e10))) = (op2 (op2 (e22) (e22)) (e22)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H237.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H125.
% 23.91/24.08  cut (((e20) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H238].
% 23.91/24.08  cut (((op2 (e22) (e20)) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H239].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [ zenon_intro zenon_H235 | zenon_intro zenon_H236 ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10)))) = ((op2 (e22) (e20)) = (op2 (h3 (e12)) (h3 (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H239.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H235.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (h3 (e12)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H236].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H23a].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.91/24.08  cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H17d zenon_H170).
% 23.91/24.08  apply (zenon_L3_); trivial.
% 23.91/24.08  apply zenon_H236. apply refl_equal.
% 23.91/24.08  apply zenon_H236. apply refl_equal.
% 23.91/24.08  exact (zenon_H238 zenon_H1a).
% 23.91/24.08  apply zenon_H236. apply refl_equal.
% 23.91/24.08  apply zenon_H236. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L135_ *)
% 23.91/24.08  assert (zenon_L136_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e12)) = (e22)) -> ((op2 (e22) (e20)) = (e20)) -> (~((h3 (op1 (e12) (e10))) = (op2 (h3 (e12)) (h3 (e10))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H118 zenon_H96 zenon_H21 zenon_Ha9 zenon_H10a zenon_H1a zenon_H19 zenon_H170 zenon_H125 zenon_H22e zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.08  apply (zenon_L41_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.08  apply (zenon_L46_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10a); [ zenon_intro zenon_Hce | zenon_intro zenon_H10b ].
% 23.91/24.08  apply (zenon_L135_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10b); [ zenon_intro zenon_H100 | zenon_intro zenon_H10c ].
% 23.91/24.08  apply (zenon_L61_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10c); [ zenon_intro zenon_H30 | zenon_intro zenon_H107 ].
% 23.91/24.08  exact (zenon_H34 zenon_H30).
% 23.91/24.08  apply (zenon_L62_); trivial.
% 23.91/24.08  (* end of lemma zenon_L136_ *)
% 23.91/24.08  assert (zenon_L137_ : (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> ((op1 (e12) (e11)) = (e11)) -> ((op2 (e22) (e21)) = (e21)) -> ((h3 (e12)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H23b zenon_Hde zenon_H135 zenon_H170 zenon_Hb3 zenon_Hb4.
% 23.91/24.08  cut (((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H23b.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hb3.
% 23.91/24.08  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 23.91/24.08  cut (((h3 (e11)) = (h3 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11))))); [ zenon_intro zenon_H23e | zenon_intro zenon_H23f ].
% 23.91/24.08  cut (((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11)))) = ((h3 (e11)) = (h3 (op1 (e12) (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H23d.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H23e.
% 23.91/24.08  cut (((h3 (op1 (e12) (e11))) = (h3 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H23f].
% 23.91/24.08  cut (((h3 (op1 (e12) (e11))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H240].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op1 (e12) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H241 zenon_Hde).
% 23.91/24.08  apply zenon_H23f. apply refl_equal.
% 23.91/24.08  apply zenon_H23f. apply refl_equal.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11)))) = ((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e12)) (h3 (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H23c.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H242.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H243].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op2 (e22) (e21)) = (e21)) = ((op2 (h3 (e12)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H244.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H135.
% 23.91/24.08  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H17a].
% 23.91/24.08  cut (((op2 (e22) (e21)) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11)))) = ((op2 (e22) (e21)) = (op2 (h3 (e12)) (h3 (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H245.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H242.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (h3 (e12)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H243].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H246].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.91/24.08  cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H17d zenon_H170).
% 23.91/24.08  apply (zenon_L47_); trivial.
% 23.91/24.08  apply zenon_H243. apply refl_equal.
% 23.91/24.08  apply zenon_H243. apply refl_equal.
% 23.91/24.08  exact (zenon_H17a zenon_Hb4).
% 23.91/24.08  apply zenon_H243. apply refl_equal.
% 23.91/24.08  apply zenon_H243. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L137_ *)
% 23.91/24.08  assert (zenon_L138_ : (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((e10) = (e11))) -> ((op1 (e12) (e10)) = (e10)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op2 (e22) (e21)) = (e21)) -> (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_Hfd zenon_Hd0 zenon_Hce zenon_Hb4 zenon_Hb3 zenon_H170 zenon_H135 zenon_H23b zenon_H77 zenon_Hf7 zenon_He2 zenon_H2c.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hfe ].
% 23.91/24.08  apply (zenon_L50_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hde | zenon_intro zenon_Hff ].
% 23.91/24.08  apply (zenon_L137_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hff); [ zenon_intro zenon_H76 | zenon_intro zenon_Hf8 ].
% 23.91/24.08  apply (zenon_L33_); trivial.
% 23.91/24.08  apply (zenon_L59_); trivial.
% 23.91/24.08  (* end of lemma zenon_L138_ *)
% 23.91/24.08  assert (zenon_L139_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> ((op2 (e22) (e21)) = (e21)) -> ((h3 (e12)) = (e22)) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H118 zenon_H96 zenon_H21 zenon_Ha9 zenon_H10a zenon_He2 zenon_Hf7 zenon_H77 zenon_H23b zenon_H135 zenon_H170 zenon_Hb3 zenon_Hb4 zenon_Hd0 zenon_Hfd zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.08  apply (zenon_L41_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.08  apply (zenon_L46_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10a); [ zenon_intro zenon_Hce | zenon_intro zenon_H10b ].
% 23.91/24.08  apply (zenon_L138_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10b); [ zenon_intro zenon_H100 | zenon_intro zenon_H10c ].
% 23.91/24.08  apply (zenon_L61_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10c); [ zenon_intro zenon_H30 | zenon_intro zenon_H107 ].
% 23.91/24.08  exact (zenon_H34 zenon_H30).
% 23.91/24.08  apply (zenon_L62_); trivial.
% 23.91/24.08  (* end of lemma zenon_L139_ *)
% 23.91/24.08  assert (zenon_L140_ : (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((e20) = (e21))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((e10) = (e11))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e12) (e11))) = (op2 (h3 (e12)) (h3 (e11))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((e10) = (e12))) -> ((op1 (e10) (e10)) = (e12)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e21) = (e23))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H154 zenon_H127 zenon_H125 zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H2c zenon_H101 zenon_Hfd zenon_Hd0 zenon_Hb3 zenon_H170 zenon_H23b zenon_H77 zenon_Hf7 zenon_He2 zenon_H10a zenon_Ha9 zenon_H21 zenon_H96 zenon_H118 zenon_H6c zenon_H14e zenon_Hb4 zenon_H4f.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H154); [ zenon_intro zenon_H126 | zenon_intro zenon_H155 ].
% 23.91/24.08  apply (zenon_L69_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H155); [ zenon_intro zenon_H135 | zenon_intro zenon_H156 ].
% 23.91/24.08  apply (zenon_L139_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H156); [ zenon_intro zenon_H6b | zenon_intro zenon_H14f ].
% 23.91/24.08  apply (zenon_L29_); trivial.
% 23.91/24.08  apply (zenon_L79_); trivial.
% 23.91/24.08  (* end of lemma zenon_L140_ *)
% 23.91/24.08  assert (zenon_L141_ : (~((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))) -> ((op1 (e12) (e13)) = (e12)) -> ((op2 (e22) (e23)) = (e22)) -> ((h3 (e12)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H247 zenon_H1fa zenon_H217 zenon_H170 zenon_Hb8 zenon_H4f.
% 23.91/24.08  cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H247.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H170.
% 23.91/24.08  cut (((e22) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 23.91/24.08  cut (((h3 (e12)) = (h3 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H249].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13))))); [ zenon_intro zenon_H24a | zenon_intro zenon_H24b ].
% 23.91/24.08  cut (((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13)))) = ((h3 (e12)) = (h3 (op1 (e12) (e13))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H249.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H24a.
% 23.91/24.08  cut (((h3 (op1 (e12) (e13))) = (h3 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H24b].
% 23.91/24.08  cut (((h3 (op1 (e12) (e13))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H24c].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op1 (e12) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H24d].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H24d zenon_H1fa).
% 23.91/24.08  apply zenon_H24b. apply refl_equal.
% 23.91/24.08  apply zenon_H24b. apply refl_equal.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [ zenon_intro zenon_H24e | zenon_intro zenon_H24f ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13)))) = ((e22) = (op2 (h3 (e12)) (h3 (e13))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H248.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H24e.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H24f].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H250].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op2 (e22) (e23)) = (e22)) = ((op2 (h3 (e12)) (h3 (e13))) = (e22))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H250.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H217.
% 23.91/24.08  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.91/24.08  cut (((op2 (e22) (e23)) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H251].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [ zenon_intro zenon_H24e | zenon_intro zenon_H24f ].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13)))) = ((op2 (e22) (e23)) = (op2 (h3 (e12)) (h3 (e13))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H251.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H24e.
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (h3 (e12)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H24f].
% 23.91/24.08  cut (((op2 (h3 (e12)) (h3 (e13))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H252].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 23.91/24.08  cut (((h3 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H17d].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H17d zenon_H170).
% 23.91/24.08  apply (zenon_L94_); trivial.
% 23.91/24.08  apply zenon_H24f. apply refl_equal.
% 23.91/24.08  apply zenon_H24f. apply refl_equal.
% 23.91/24.08  apply zenon_H1d. apply refl_equal.
% 23.91/24.08  apply zenon_H24f. apply refl_equal.
% 23.91/24.08  apply zenon_H24f. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L141_ *)
% 23.91/24.08  assert (zenon_L142_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((op1 (e10) (e10)) = (e12)) -> (~((e10) = (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((h3 (e12)) = (e22)) -> ((op2 (e22) (e23)) = (e22)) -> (~((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H118 zenon_H96 zenon_H21 zenon_H1f zenon_Ha9 zenon_H34 zenon_H9d zenon_Haf zenon_H38 zenon_H97 zenon_H1fc zenon_H105 zenon_He2 zenon_Hf7 zenon_H4f zenon_Hb8 zenon_H170 zenon_H217 zenon_H247 zenon_H2c zenon_H1e7.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.08  apply (zenon_L41_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.08  apply (zenon_L46_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H1fc); [ zenon_intro zenon_H107 | zenon_intro zenon_H1fd ].
% 23.91/24.08  apply (zenon_L62_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H1fd); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1fe ].
% 23.91/24.08  apply (zenon_L59_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H1fe); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1e6 ].
% 23.91/24.08  apply (zenon_L141_); trivial.
% 23.91/24.08  apply (zenon_L114_); trivial.
% 23.91/24.08  (* end of lemma zenon_L142_ *)
% 23.91/24.08  assert (zenon_L143_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> ((op2 (e22) (e20)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> (~((h3 (op1 (e12) (e13))) = (op2 (h3 (e12)) (h3 (e13))))) -> ((h3 (e12)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((e10) = (e12))) -> ((op1 (e10) (e10)) = (e12)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H219 zenon_H1d0 zenon_H125 zenon_H1a zenon_Hb4 zenon_H14e zenon_H1e7 zenon_H2c zenon_H247 zenon_H170 zenon_Hb8 zenon_Hf7 zenon_He2 zenon_H105 zenon_H1fc zenon_H97 zenon_H38 zenon_Haf zenon_H9d zenon_H34 zenon_Ha9 zenon_H1f zenon_H21 zenon_H96 zenon_H118 zenon_H4f zenon_H20d.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.91/24.08  apply (zenon_L36_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.91/24.08  apply (zenon_L37_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.91/24.08  exact (zenon_H59 zenon_H56).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H15e | zenon_intro zenon_H21a ].
% 23.91/24.08  apply (zenon_L109_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H21a); [ zenon_intro zenon_H14f | zenon_intro zenon_H21b ].
% 23.91/24.08  apply (zenon_L79_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H21b); [ zenon_intro zenon_H217 | zenon_intro zenon_H20c ].
% 23.91/24.08  apply (zenon_L142_); trivial.
% 23.91/24.08  apply (zenon_L126_); trivial.
% 23.91/24.08  (* end of lemma zenon_L143_ *)
% 23.91/24.08  assert (zenon_L144_ : ((h3 (e13)) = (op2 (e22) (e22))) -> ((op1 (e13) (e10)) = (e13)) -> ((e23) = (op2 (e22) (e22))) -> (~((e23) = (h3 (op1 (e13) (e10))))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_Hb8 zenon_H253 zenon_H4f zenon_H254.
% 23.91/24.08  elim (classic ((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [ zenon_intro zenon_H255 | zenon_intro zenon_H256 ].
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10)))) = ((e23) = (h3 (op1 (e13) (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H254.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H255.
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H256].
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H257].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e13) (e10))) = (e23))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H257.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hb8.
% 23.91/24.08  cut (((op2 (e22) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 23.91/24.08  cut (((h3 (e13)) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H258].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [ zenon_intro zenon_H255 | zenon_intro zenon_H256 ].
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10)))) = ((h3 (e13)) = (h3 (op1 (e13) (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H258.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H255.
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H256].
% 23.91/24.08  cut (((h3 (op1 (e13) (e10))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H259].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op1 (e13) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H25a zenon_H253).
% 23.91/24.08  apply zenon_H256. apply refl_equal.
% 23.91/24.08  apply zenon_H256. apply refl_equal.
% 23.91/24.08  apply zenon_H50. apply sym_equal. exact zenon_H4f.
% 23.91/24.08  apply zenon_H256. apply refl_equal.
% 23.91/24.08  apply zenon_H256. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L144_ *)
% 23.91/24.08  assert (zenon_L145_ : ((op2 (e23) (e20)) = (e23)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((op1 (e13) (e10)) = (e13)) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H25b zenon_H19 zenon_H1a zenon_Hb8 zenon_H4f zenon_H253 zenon_H25c.
% 23.91/24.08  elim (classic ((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10)))) = ((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H25c.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H25d.
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H25e].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (h3 (e13)) (h3 (e10))) = (h3 (op1 (e13) (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H25f.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H25b.
% 23.91/24.08  cut (((e23) = (h3 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H254].
% 23.91/24.08  cut (((op2 (e23) (e20)) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H260].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10)))) = ((op2 (e23) (e20)) = (op2 (h3 (e13)) (h3 (e10))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H260.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H25d.
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (h3 (e13)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H25e].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e10))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.91/24.08  cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 23.91/24.08  congruence.
% 23.91/24.08  apply (zenon_L94_); trivial.
% 23.91/24.08  apply (zenon_L3_); trivial.
% 23.91/24.08  apply zenon_H25e. apply refl_equal.
% 23.91/24.08  apply zenon_H25e. apply refl_equal.
% 23.91/24.08  apply (zenon_L144_); trivial.
% 23.91/24.08  apply zenon_H25e. apply refl_equal.
% 23.91/24.08  apply zenon_H25e. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L145_ *)
% 23.91/24.08  assert (zenon_L146_ : ((e13) = (op1 (e12) (e12))) -> ((op1 (e13) (e12)) = (e13)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H2c zenon_H262 zenon_H263.
% 23.91/24.08  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ].
% 23.91/24.08  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((op1 (e12) (e12)) = (op1 (e13) (e12)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H263.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H264.
% 23.91/24.08  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 23.91/24.08  cut (((op1 (e13) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((e13) = (op1 (e12) (e12))) = ((op1 (e13) (e12)) = (op1 (e12) (e12)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H266.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H2c.
% 23.91/24.08  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 23.91/24.08  cut (((e13) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H267].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op1 (e13) (e12)) = (op1 (e13) (e12)))); [ zenon_intro zenon_H264 | zenon_intro zenon_H265 ].
% 23.91/24.08  cut (((op1 (e13) (e12)) = (op1 (e13) (e12))) = ((e13) = (op1 (e13) (e12)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H267.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H264.
% 23.91/24.08  cut (((op1 (e13) (e12)) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 23.91/24.08  cut (((op1 (e13) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H268 zenon_H262).
% 23.91/24.08  apply zenon_H265. apply refl_equal.
% 23.91/24.08  apply zenon_H265. apply refl_equal.
% 23.91/24.08  apply zenon_Hc9. apply refl_equal.
% 23.91/24.08  apply zenon_H265. apply refl_equal.
% 23.91/24.08  apply zenon_H265. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L146_ *)
% 23.91/24.08  assert (zenon_L147_ : (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e23) (e20)) = (e23)) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((e10) = (e11))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e10)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> ((op1 (e10) (e11)) = (e13)) -> ((e13) = (op1 (e12) (e12))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H269 zenon_H25c zenon_H4f zenon_Hb8 zenon_H1a zenon_H19 zenon_H25b zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H1f zenon_H101 zenon_Hfd zenon_Hd0 zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd8 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_H10a zenon_H263 zenon_H206 zenon_H1ee zenon_H38 zenon_H1e7 zenon_H1f8 zenon_Hf7 zenon_He2 zenon_H105 zenon_H106 zenon_H1fc zenon_Hb9 zenon_H2c zenon_H1f4.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.91/24.08  apply (zenon_L43_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.91/24.08  exact (zenon_H34 zenon_H30).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H269); [ zenon_intro zenon_H253 | zenon_intro zenon_H26a ].
% 23.91/24.08  apply (zenon_L145_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H26a); [ zenon_intro zenon_Hed | zenon_intro zenon_H26b ].
% 23.91/24.08  apply (zenon_L63_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H26b); [ zenon_intro zenon_H262 | zenon_intro zenon_H202 ].
% 23.91/24.08  apply (zenon_L146_); trivial.
% 23.91/24.08  apply (zenon_L122_); trivial.
% 23.91/24.08  (* end of lemma zenon_L147_ *)
% 23.91/24.08  assert (zenon_L148_ : (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((op2 (e23) (e20)) = (e23)) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> ((op1 (e11) (e10)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H10d zenon_H1f4 zenon_H1fc zenon_H1f8 zenon_H1e7 zenon_H1ee zenon_H206 zenon_H263 zenon_H25b zenon_H19 zenon_H1a zenon_Hb8 zenon_H4f zenon_H25c zenon_H269 zenon_H10e zenon_Hc7 zenon_H10a zenon_He2 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_Hd8 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hd0 zenon_Hfd zenon_H101 zenon_H2c zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H106.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10d); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H10f ].
% 23.91/24.08  apply (zenon_L147_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H10f); [ zenon_intro zenon_H111 | zenon_intro zenon_H110 ].
% 23.91/24.08  exact (zenon_H10e zenon_H111).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H110); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hed ].
% 23.91/24.08  apply (zenon_L49_); trivial.
% 23.91/24.08  apply (zenon_L63_); trivial.
% 23.91/24.08  (* end of lemma zenon_L148_ *)
% 23.91/24.08  assert (zenon_L149_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (e13))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e23) (e20)) = (e23)) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H118 zenon_H21 zenon_H119 zenon_H70 zenon_Hfd zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_Hf7 zenon_Hc7 zenon_H10e zenon_H269 zenon_H25c zenon_H4f zenon_Hb8 zenon_H1a zenon_H19 zenon_H25b zenon_H263 zenon_H206 zenon_H1ee zenon_H1e7 zenon_H1f8 zenon_H1fc zenon_H1f4 zenon_H10d zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.08  apply (zenon_L41_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.08  apply (zenon_L46_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.91/24.08  exact (zenon_H70 zenon_H72).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.91/24.08  apply (zenon_L148_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.91/24.08  apply (zenon_L65_); trivial.
% 23.91/24.08  apply (zenon_L66_); trivial.
% 23.91/24.08  (* end of lemma zenon_L149_ *)
% 23.91/24.08  assert (zenon_L150_ : ((e23) = (op2 (e22) (e22))) -> ((op2 (e23) (e22)) = (e23)) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H4f zenon_H26c zenon_H26d.
% 23.91/24.08  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H26e | zenon_intro zenon_H26f ].
% 23.91/24.08  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((op2 (e22) (e22)) = (op2 (e23) (e22)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H26d.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H26e.
% 23.91/24.08  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 23.91/24.08  cut (((op2 (e23) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((e23) = (op2 (e22) (e22))) = ((op2 (e23) (e22)) = (op2 (e22) (e22)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H270.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H4f.
% 23.91/24.08  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 23.91/24.08  cut (((e23) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H271].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (e23) (e22)) = (op2 (e23) (e22)))); [ zenon_intro zenon_H26e | zenon_intro zenon_H26f ].
% 23.91/24.08  cut (((op2 (e23) (e22)) = (op2 (e23) (e22))) = ((e23) = (op2 (e23) (e22)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H271.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H26e.
% 23.91/24.08  cut (((op2 (e23) (e22)) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 23.91/24.08  cut (((op2 (e23) (e22)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H272 zenon_H26c).
% 23.91/24.08  apply zenon_H26f. apply refl_equal.
% 23.91/24.08  apply zenon_H26f. apply refl_equal.
% 23.91/24.08  apply zenon_H120. apply refl_equal.
% 23.91/24.08  apply zenon_H26f. apply refl_equal.
% 23.91/24.08  apply zenon_H26f. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L150_ *)
% 23.91/24.08  assert (zenon_L151_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e20)) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> ((op2 (e20) (e21)) = (e23)) -> ((e23) = (op2 (e22) (e22))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H273 zenon_H2c zenon_He2 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H10d zenon_H1f4 zenon_H1fc zenon_H1f8 zenon_H1e7 zenon_H1ee zenon_H206 zenon_H263 zenon_H19 zenon_Hb8 zenon_H25c zenon_H269 zenon_H10e zenon_Hc7 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hfd zenon_H70 zenon_H119 zenon_H21 zenon_H118 zenon_H145 zenon_H26d zenon_H223 zenon_H1c8 zenon_H43 zenon_H20d zenon_H215 zenon_H14e zenon_Hb4 zenon_H1a zenon_H125 zenon_H1d0 zenon_H219 zenon_Hba zenon_H4f zenon_H211.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.91/24.08  apply (zenon_L36_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.91/24.08  apply (zenon_L37_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.91/24.08  exact (zenon_H59 zenon_H56).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H273); [ zenon_intro zenon_H25b | zenon_intro zenon_H274 ].
% 23.91/24.08  apply (zenon_L149_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H274); [ zenon_intro zenon_H144 | zenon_intro zenon_H275 ].
% 23.91/24.08  apply (zenon_L76_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H275); [ zenon_intro zenon_H26c | zenon_intro zenon_H21f ].
% 23.91/24.08  apply (zenon_L150_); trivial.
% 23.91/24.08  apply (zenon_L132_); trivial.
% 23.91/24.08  (* end of lemma zenon_L151_ *)
% 23.91/24.08  assert (zenon_L152_ : (((op2 (e20) (e20)) = (e21))\/(((op2 (e21) (e20)) = (e21))\/(((op2 (e22) (e20)) = (e21))\/((op2 (e23) (e20)) = (e21))))) -> (~((op2 (e20) (e20)) = (e21))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((e21) = (e23))) -> (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e21)) = (e20))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e21)) = (e22))\/((op2 (e20) (e21)) = (e23))))) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> ((op2 (e23) (e23)) = (e21)) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e20) (e20)) = (e22)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> (((op2 (e22) (e20)) = (e21))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e22)) = (e21))\/((op2 (e22) (e23)) = (e21))))) -> (~((op2 (e22) (e21)) = (op2 (e22) (e22)))) -> (~((op2 (e21) (e21)) = (e23))) -> (((op2 (e23) (e20)) = (e23))\/(((op2 (e23) (e21)) = (e23))\/(((op2 (e23) (e22)) = (e23))\/((op2 (e23) (e23)) = (e23))))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e13)) = (e10))\/(((op1 (e12) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e12) (e13)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e11) (e13)) = (e10))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e12))\/((op1 (e11) (e13)) = (e13))))) -> (~((op1 (e12) (e12)) = (op1 (e13) (e12)))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> (~((h3 (op1 (e13) (e10))) = (op2 (h3 (e13)) (h3 (e10))))) -> (((op1 (e13) (e10)) = (e13))\/(((op1 (e13) (e11)) = (e13))\/(((op1 (e13) (e12)) = (e13))\/((op1 (e13) (e13)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e21) (e23)) = (e20))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e22))\/((op2 (e21) (e23)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e22) (e22)) = (op2 (e22) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e22) (e20)) = (op2 (e22) (e23)))) -> (((op2 (e22) (e23)) = (e20))\/(((op2 (e22) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e22) (e23)) = (e23))))) -> (~((op2 (e21) (e23)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e21)) = (e23))\/(((op2 (e21) (e21)) = (e23))\/(((op2 (e22) (e21)) = (e23))\/((op2 (e23) (e21)) = (e23))))) -> (~((e20) = (e21))) -> ((op2 (e22) (e20)) = (e20)) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H16a zenon_H65 zenon_H14e zenon_H6c zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H14b zenon_H43 zenon_H1a zenon_H8d zenon_H12e zenon_H138 zenon_H7a zenon_H13c zenon_H145 zenon_H154 zenon_H11e zenon_H22a zenon_H273 zenon_H2c zenon_He2 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H10d zenon_H1f4 zenon_H1fc zenon_H1f8 zenon_H1e7 zenon_H1ee zenon_H206 zenon_H263 zenon_H19 zenon_Hb8 zenon_H25c zenon_H269 zenon_H10e zenon_Hc7 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hfd zenon_H70 zenon_H119 zenon_H21 zenon_H118 zenon_H26d zenon_H223 zenon_H1c8 zenon_H20d zenon_H215 zenon_H1d0 zenon_H219 zenon_H211 zenon_H229 zenon_H127 zenon_H125 zenon_H164 zenon_Hb4 zenon_H4f.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.08  exact (zenon_H65 zenon_H67).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H229); [ zenon_intro zenon_Hba | zenon_intro zenon_H22b ].
% 23.91/24.08  apply (zenon_L151_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H22b); [ zenon_intro zenon_H22d | zenon_intro zenon_H22c ].
% 23.91/24.08  exact (zenon_H22a zenon_H22d).
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H22c); [ zenon_intro zenon_H11f | zenon_intro zenon_H144 ].
% 23.91/24.08  apply (zenon_L68_); trivial.
% 23.91/24.08  apply (zenon_L80_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.08  apply (zenon_L69_); trivial.
% 23.91/24.08  apply (zenon_L85_); trivial.
% 23.91/24.08  (* end of lemma zenon_L152_ *)
% 23.91/24.08  assert (zenon_L153_ : (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op2 (e23) (e21)) = (e21)) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H276 zenon_Hb4 zenon_H277 zenon_H4f.
% 23.91/24.08  cut (((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((op2 (e23) (e21)) = (op2 (e23) (e23)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H276.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hb4.
% 23.91/24.08  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 23.91/24.08  cut (((e21) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H278].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 23.91/24.08  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e21) = (op2 (e23) (e21)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H278.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H146.
% 23.91/24.08  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 23.91/24.08  cut (((op2 (e23) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H279].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H279 zenon_H277).
% 23.91/24.08  apply zenon_H147. apply refl_equal.
% 23.91/24.08  apply zenon_H147. apply refl_equal.
% 23.91/24.08  apply (zenon_L70_); trivial.
% 23.91/24.08  (* end of lemma zenon_L153_ *)
% 23.91/24.08  assert (zenon_L154_ : (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((op1 (e13) (e11)) = (e11)) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H27a zenon_He2 zenon_H27b zenon_H2c.
% 23.91/24.08  cut (((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) = ((op1 (e13) (e11)) = (op1 (e13) (e13)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H27a.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_He2.
% 23.91/24.08  cut (((op1 (op1 (e12) (e12)) (op1 (e12) (e12))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 23.91/24.08  cut (((e11) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H27c].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e11) = (op1 (e13) (e11)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H27c.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hef.
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H27d].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H27d zenon_H27b).
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply (zenon_L51_); trivial.
% 23.91/24.08  (* end of lemma zenon_L154_ *)
% 23.91/24.08  assert (zenon_L155_ : ((h3 (e12)) = (e22)) -> ((op1 (e13) (e11)) = (e12)) -> (~((e22) = (h3 (op1 (e13) (e11))))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H170 zenon_H27e zenon_H27f.
% 23.91/24.08  elim (classic ((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [ zenon_intro zenon_H280 | zenon_intro zenon_H281 ].
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11)))) = ((e22) = (h3 (op1 (e13) (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H27f.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H280.
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H282].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e13) (e11))) = (e22))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H282.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H170.
% 23.91/24.08  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.91/24.08  cut (((h3 (e12)) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [ zenon_intro zenon_H280 | zenon_intro zenon_H281 ].
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11)))) = ((h3 (e12)) = (h3 (op1 (e13) (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H283.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H280.
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 23.91/24.08  cut (((h3 (op1 (e13) (e11))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H284].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op1 (e13) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H285].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H285 zenon_H27e).
% 23.91/24.08  apply zenon_H281. apply refl_equal.
% 23.91/24.08  apply zenon_H281. apply refl_equal.
% 23.91/24.08  apply zenon_H1d. apply refl_equal.
% 23.91/24.08  apply zenon_H281. apply refl_equal.
% 23.91/24.08  apply zenon_H281. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L155_ *)
% 23.91/24.08  assert (zenon_L156_ : ((op2 (e23) (e21)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> ((op1 (e13) (e11)) = (e12)) -> (~((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H286 zenon_Hb8 zenon_H4f zenon_Hb3 zenon_Hb4 zenon_H170 zenon_H27e zenon_H287.
% 23.91/24.08  elim (classic ((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11)))) = ((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H287.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H288.
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H28a].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((op2 (e23) (e21)) = (e22)) = ((op2 (h3 (e13)) (h3 (e11))) = (h3 (op1 (e13) (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H28a.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H286.
% 23.91/24.08  cut (((e22) = (h3 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27f].
% 23.91/24.08  cut (((op2 (e23) (e21)) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H28b].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11)))) = ((op2 (e23) (e21)) = (op2 (h3 (e13)) (h3 (e11))))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H28b.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H288.
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (h3 (e13)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 23.91/24.08  cut (((op2 (h3 (e13)) (h3 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.91/24.08  cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 23.91/24.08  congruence.
% 23.91/24.08  apply (zenon_L94_); trivial.
% 23.91/24.08  apply (zenon_L47_); trivial.
% 23.91/24.08  apply zenon_H289. apply refl_equal.
% 23.91/24.08  apply zenon_H289. apply refl_equal.
% 23.91/24.08  apply (zenon_L155_); trivial.
% 23.91/24.08  apply zenon_H289. apply refl_equal.
% 23.91/24.08  apply zenon_H289. apply refl_equal.
% 23.91/24.08  (* end of lemma zenon_L156_ *)
% 23.91/24.08  assert (zenon_L157_ : (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((op1 (e13) (e12)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e23) (e21)) = (e22)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H28d zenon_H28e zenon_H1f zenon_Ha4 zenon_H38 zenon_He2 zenon_H27a zenon_H287 zenon_H170 zenon_Hb4 zenon_Hb3 zenon_H4f zenon_Hb8 zenon_H286 zenon_H2c zenon_Hb9 zenon_Hee.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H28d); [ zenon_intro zenon_H290 | zenon_intro zenon_H28f ].
% 23.91/24.08  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e11) (e11)) = (op1 (e13) (e11)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H28e.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hef.
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H291].
% 23.91/24.08  congruence.
% 23.91/24.08  cut (((e10) = (op1 (op1 (e12) (e12)) (e12))) = ((op1 (e13) (e11)) = (op1 (e11) (e11)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H291.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_H38.
% 23.91/24.08  cut (((op1 (op1 (e12) (e12)) (e12)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 23.91/24.08  cut (((e10) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H292].
% 23.91/24.08  congruence.
% 23.91/24.08  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hef | zenon_intro zenon_Hf0 ].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e10) = (op1 (e13) (e11)))).
% 23.91/24.08  intro zenon_D_pnotp.
% 23.91/24.08  apply zenon_H292.
% 23.91/24.08  rewrite <- zenon_D_pnotp.
% 23.91/24.08  exact zenon_Hef.
% 23.91/24.08  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 23.91/24.08  cut (((op1 (e13) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H293].
% 23.91/24.08  congruence.
% 23.91/24.08  exact (zenon_H293 zenon_H290).
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply (zenon_L44_); trivial.
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply zenon_Hf0. apply refl_equal.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H28f); [ zenon_intro zenon_H27b | zenon_intro zenon_H294 ].
% 23.91/24.08  apply (zenon_L154_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H294); [ zenon_intro zenon_H27e | zenon_intro zenon_Hed ].
% 23.91/24.08  apply (zenon_L156_); trivial.
% 23.91/24.08  apply (zenon_L57_); trivial.
% 23.91/24.08  (* end of lemma zenon_L157_ *)
% 23.91/24.08  assert (zenon_L158_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e23) (e21)) = (e22)) -> ((e13) = (op1 (e12) (e12))) -> ((op1 (e10) (e11)) = (e13)) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_Haf zenon_H97 zenon_H9d zenon_H34 zenon_H28d zenon_H28e zenon_H1f zenon_H38 zenon_He2 zenon_H27a zenon_H287 zenon_H170 zenon_Hb4 zenon_Hb3 zenon_H4f zenon_Hb8 zenon_H286 zenon_H2c zenon_Hb9 zenon_Hee.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.91/24.08  apply (zenon_L43_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.91/24.08  exact (zenon_H34 zenon_H30).
% 23.91/24.08  apply (zenon_L157_); trivial.
% 23.91/24.08  (* end of lemma zenon_L158_ *)
% 23.91/24.08  assert (zenon_L159_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((e11) = (e13))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e11) (e11)) = (e13))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))) -> ((h3 (e12)) = (e22)) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e23) = (op2 (e22) (e22))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((op2 (e23) (e21)) = (e22)) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> ((op1 (e11) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((e10) = (e11))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> ((e13) = (op1 (e12) (e12))) -> False).
% 23.91/24.08  do 0 intro. intros zenon_H118 zenon_H21 zenon_H119 zenon_H70 zenon_Hfd zenon_Hee zenon_He6 zenon_H96 zenon_He1 zenon_Hd7 zenon_Ha9 zenon_Hf4 zenon_H77 zenon_Hf7 zenon_Hc7 zenon_H10e zenon_H28d zenon_H28e zenon_H27a zenon_H287 zenon_H170 zenon_Hb4 zenon_Hb3 zenon_H4f zenon_Hb8 zenon_H286 zenon_H10d zenon_H105 zenon_H34 zenon_Haf zenon_H97 zenon_H9d zenon_H38 zenon_H1f zenon_H101 zenon_Hd0 zenon_H10a zenon_H112 zenon_He2 zenon_H2c.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.08  apply (zenon_L41_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.08  apply (zenon_L46_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.08  apply (zenon_L42_); trivial.
% 23.91/24.08  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.91/24.08  exact (zenon_H70 zenon_H72).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H10d); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H10f ].
% 23.91/24.09  apply (zenon_L158_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H10f); [ zenon_intro zenon_H111 | zenon_intro zenon_H110 ].
% 23.91/24.09  exact (zenon_H10e zenon_H111).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H110); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hed ].
% 23.91/24.09  apply (zenon_L49_); trivial.
% 23.91/24.09  apply (zenon_L63_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.91/24.09  apply (zenon_L65_); trivial.
% 23.91/24.09  apply (zenon_L66_); trivial.
% 23.91/24.09  (* end of lemma zenon_L159_ *)
% 23.91/24.09  assert (zenon_L160_ : (((op2 (e20) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e23) (e22)) = (e20))))) -> (~((op2 (e20) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e21) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e23) (e21)) = (e20))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e21)) = (e22))\/((op2 (e23) (e21)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e21)) = (e20)) -> ((e20) = (op2 (op2 (e22) (e22)) (e22))) -> (~((op2 (e23) (e21)) = (op2 (e23) (e23)))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((e10) = (e11))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e11)) = (e10)) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e12) (e12)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e11)) = (e13))\/(((op1 (e11) (e11)) = (e13))\/(((op1 (e12) (e11)) = (e13))\/((op1 (e13) (e11)) = (e13))))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((e21) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e12)) = (e22)) -> (~((h3 (op1 (e13) (e11))) = (op2 (h3 (e13)) (h3 (e11))))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e11)) = (e13))) -> (~((op1 (e12) (e11)) = (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((e11) = (e13))) -> (((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e11)) = (e12))\/((op1 (e10) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> ((op1 (e13) (e13)) = (e11)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e10)) = (e12)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e11)) = (op1 (e13) (e11)))) -> (((op1 (e12) (e10)) = (e11))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e12)) = (e11))\/((op1 (e12) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e11) (e10)) = (e11))\/(((op1 (e12) (e10)) = (e11))\/((op1 (e13) (e10)) = (e11))))) -> (~((e10) = (e12))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e10) (e11)) = (e10))\/(((op1 (e10) (e12)) = (e10))\/((op1 (e10) (e13)) = (e10))))) -> ((e23) = (op2 (e22) (e22))) -> ((op2 (e20) (e21)) = (e23)) -> (~((op2 (e20) (e21)) = (op2 (e23) (e21)))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_H93 zenon_H7b zenon_H81 zenon_H59 zenon_H295 zenon_H296 zenon_H43 zenon_H1a zenon_H276 zenon_H2c zenon_He2 zenon_H112 zenon_H10a zenon_Hd0 zenon_H101 zenon_H1f zenon_H38 zenon_H9d zenon_H97 zenon_Haf zenon_H34 zenon_H105 zenon_H10d zenon_Hb8 zenon_Hb3 zenon_Hb4 zenon_H170 zenon_H287 zenon_H27a zenon_H28e zenon_H28d zenon_H10e zenon_Hc7 zenon_Hf7 zenon_H77 zenon_Hf4 zenon_Ha9 zenon_Hd7 zenon_He1 zenon_H96 zenon_He6 zenon_Hee zenon_Hfd zenon_H70 zenon_H119 zenon_H21 zenon_H118 zenon_H4f zenon_Hba zenon_H145.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H93); [ zenon_intro zenon_H7c | zenon_intro zenon_H94 ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H94); [ zenon_intro zenon_H82 | zenon_intro zenon_H95 ].
% 23.91/24.09  apply (zenon_L37_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H95); [ zenon_intro zenon_H56 | zenon_intro zenon_H88 ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H295); [ zenon_intro zenon_H298 | zenon_intro zenon_H297 ].
% 23.91/24.09  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 23.91/24.09  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e21) (e21)) = (op2 (e23) (e21)))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H296.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H146.
% 23.91/24.09  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 23.91/24.09  cut (((op2 (e23) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H299].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((e20) = (op2 (op2 (e22) (e22)) (e22))) = ((op2 (e23) (e21)) = (op2 (e21) (e21)))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H299.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H1a.
% 23.91/24.09  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 23.91/24.09  cut (((e20) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H29a].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 23.91/24.09  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e20) = (op2 (e23) (e21)))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H29a.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H146.
% 23.91/24.09  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H147].
% 23.91/24.09  cut (((op2 (e23) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H29b].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H29b zenon_H298).
% 23.91/24.09  apply zenon_H147. apply refl_equal.
% 23.91/24.09  apply zenon_H147. apply refl_equal.
% 23.91/24.09  apply (zenon_L38_); trivial.
% 23.91/24.09  apply zenon_H147. apply refl_equal.
% 23.91/24.09  apply zenon_H147. apply refl_equal.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H297); [ zenon_intro zenon_H277 | zenon_intro zenon_H29c ].
% 23.91/24.09  apply (zenon_L153_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H29c); [ zenon_intro zenon_H286 | zenon_intro zenon_H144 ].
% 23.91/24.09  apply (zenon_L159_); trivial.
% 23.91/24.09  apply (zenon_L76_); trivial.
% 23.91/24.09  (* end of lemma zenon_L160_ *)
% 23.91/24.09  assert (zenon_L161_ : (~((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((op1 (e13) (e12)) = (e10)) -> ((h3 (e12)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_H29d zenon_H19 zenon_Ha4 zenon_H170 zenon_Hb8.
% 23.91/24.09  cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) = ((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H29d.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H19.
% 23.91/24.09  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e13)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H29e].
% 23.91/24.09  cut (((h3 (e10)) = (h3 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H29f].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12))))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ].
% 23.91/24.09  cut (((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12)))) = ((h3 (e10)) = (h3 (op1 (e13) (e12))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H29f.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H2a0.
% 23.91/24.09  cut (((h3 (op1 (e13) (e12))) = (h3 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a1].
% 23.91/24.09  cut (((h3 (op1 (e13) (e12))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H2a2].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e13) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a3].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H2a3 zenon_Ha4).
% 23.91/24.09  apply zenon_H2a1. apply refl_equal.
% 23.91/24.09  apply zenon_H2a1. apply refl_equal.
% 23.91/24.09  cut (((e22) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2a4].
% 23.91/24.09  cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2a5].
% 23.91/24.09  congruence.
% 23.91/24.09  apply zenon_H2a5. apply sym_equal. exact zenon_Hb8.
% 23.91/24.09  apply zenon_H2a4. apply sym_equal. exact zenon_H170.
% 23.91/24.09  (* end of lemma zenon_L161_ *)
% 23.91/24.09  assert (zenon_L162_ : (((op1 (e10) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e13) (e12)) = (e10))))) -> (~((op1 (e10) (e12)) = (op1 (e13) (e12)))) -> ((e10) = (op1 (op1 (e12) (e12)) (e12))) -> (~((op1 (e11) (e12)) = (op1 (e13) (e12)))) -> (~((e10) = (e13))) -> ((e13) = (op1 (e12) (e12))) -> (~((h3 (op1 (e13) (e12))) = (op2 (h3 (e13)) (h3 (e12))))) -> ((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) -> ((h3 (e12)) = (e22)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_Haf zenon_H97 zenon_H38 zenon_H9d zenon_H31 zenon_H2c zenon_H29d zenon_H19 zenon_H170 zenon_Hb8.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_H98 | zenon_intro zenon_Hb0 ].
% 23.91/24.09  apply (zenon_L42_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_H9e | zenon_intro zenon_Hb1 ].
% 23.91/24.09  apply (zenon_L43_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H30 | zenon_intro zenon_Ha4 ].
% 23.91/24.09  apply (zenon_L11_); trivial.
% 23.91/24.09  apply (zenon_L161_); trivial.
% 23.91/24.09  (* end of lemma zenon_L162_ *)
% 23.91/24.09  assert (zenon_L163_ : (~((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((op1 (e13) (e13)) = (e11)) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_H2a6 zenon_Hb3 zenon_Hd7 zenon_Hb8.
% 23.91/24.09  cut (((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) = ((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H2a6.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_Hb3.
% 23.91/24.09  cut (((op2 (op2 (e22) (e22)) (op2 (e22) (e22))) = (op2 (h3 (e13)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2a7].
% 23.91/24.09  cut (((h3 (e11)) = (h3 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2a8].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13))))); [ zenon_intro zenon_H2a9 | zenon_intro zenon_H2aa ].
% 23.91/24.09  cut (((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13)))) = ((h3 (e11)) = (h3 (op1 (e13) (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H2a8.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H2a9.
% 23.91/24.09  cut (((h3 (op1 (e13) (e13))) = (h3 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H2aa].
% 23.91/24.09  cut (((h3 (op1 (e13) (e13))) = (h3 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H2ab].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2ac].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H2ac zenon_Hd7).
% 23.91/24.09  apply zenon_H2aa. apply refl_equal.
% 23.91/24.09  apply zenon_H2aa. apply refl_equal.
% 23.91/24.09  cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2a5].
% 23.91/24.09  cut (((op2 (e22) (e22)) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2a5].
% 23.91/24.09  congruence.
% 23.91/24.09  apply zenon_H2a5. apply sym_equal. exact zenon_Hb8.
% 23.91/24.09  apply zenon_H2a5. apply sym_equal. exact zenon_Hb8.
% 23.91/24.09  (* end of lemma zenon_L163_ *)
% 23.91/24.09  assert (zenon_L164_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e13) (e13)))) -> ((e13) = (op1 (e12) (e12))) -> ((e11) = (op1 (op1 (e12) (e12)) (op1 (e12) (e12)))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((h3 (op1 (e13) (e13))) = (op2 (h3 (e13)) (h3 (e13))))) -> ((h3 (e11)) = (op2 (op2 (e22) (e22)) (op2 (e22) (e22)))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_H2ad zenon_H17e zenon_H1f4 zenon_H2c zenon_He2 zenon_Hf7 zenon_H2a6 zenon_Hb3 zenon_Hb8.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H2ad); [ zenon_intro zenon_H17f | zenon_intro zenon_H2ae ].
% 23.91/24.09  apply (zenon_L91_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H2ae); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H2af ].
% 23.91/24.09  apply (zenon_L117_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H2af); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hd7 ].
% 23.91/24.09  apply (zenon_L59_); trivial.
% 23.91/24.09  apply (zenon_L163_); trivial.
% 23.91/24.09  (* end of lemma zenon_L164_ *)
% 23.91/24.09  assert (zenon_L165_ : (~(((h3 (e10)) = (e23))\/(((h3 (e11)) = (e23))\/(((h3 (e12)) = (e23))\/((h3 (e13)) = (e23)))))) -> ((h3 (e13)) = (op2 (e22) (e22))) -> ((e23) = (op2 (e22) (e22))) -> False).
% 23.91/24.09  do 0 intro. intros zenon_H2b0 zenon_Hb8 zenon_H4f.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H2b0). zenon_intro zenon_H2b2. zenon_intro zenon_H2b1.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H2b1). zenon_intro zenon_H2b4. zenon_intro zenon_H2b3.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H2b3). zenon_intro zenon_H2b5. zenon_intro zenon_H18b.
% 23.91/24.09  apply (zenon_L94_); trivial.
% 23.91/24.09  (* end of lemma zenon_L165_ *)
% 23.91/24.09  apply NNPP. intro zenon_G.
% 23.91/24.09  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H2b7. zenon_intro zenon_H2b6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2b6). zenon_intro zenon_Hf4. zenon_intro zenon_H2b8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2b8). zenon_intro zenon_H2ba. zenon_intro zenon_H2b9.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2b9). zenon_intro zenon_H2bc. zenon_intro zenon_H2bb.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2bb). zenon_intro zenon_H2be. zenon_intro zenon_H2bd.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2bd). zenon_intro zenon_H2c0. zenon_intro zenon_H2bf.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2bf). zenon_intro zenon_H1b1. zenon_intro zenon_H2c1.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c1). zenon_intro zenon_H206. zenon_intro zenon_H2c2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c2). zenon_intro zenon_H2c4. zenon_intro zenon_H2c3.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c3). zenon_intro zenon_H2c6. zenon_intro zenon_H2c5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c5). zenon_intro zenon_H2c8. zenon_intro zenon_H2c7.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c7). zenon_intro zenon_H1fc. zenon_intro zenon_H2c9.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2c9). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H28d. zenon_intro zenon_H2cc.
% 23.91/24.09  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H118. zenon_intro zenon_H2cd.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2cd). zenon_intro zenon_H2cf. zenon_intro zenon_H2ce.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H183. zenon_intro zenon_H2d0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d0). zenon_intro zenon_H119. zenon_intro zenon_H2d1.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d1). zenon_intro zenon_H2d3. zenon_intro zenon_H2d2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d2). zenon_intro zenon_H2d5. zenon_intro zenon_H2d4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d4). zenon_intro zenon_H2d7. zenon_intro zenon_H2d6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_H2d9. zenon_intro zenon_H2d8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2d8). zenon_intro zenon_H2db. zenon_intro zenon_H2da.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2da). zenon_intro zenon_H2dd. zenon_intro zenon_H2dc.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2df. zenon_intro zenon_H2de.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2de). zenon_intro zenon_H2e1. zenon_intro zenon_H2e0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e0). zenon_intro zenon_H2e3. zenon_intro zenon_H2e2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e2). zenon_intro zenon_H2e5. zenon_intro zenon_H2e4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e4). zenon_intro zenon_H2e7. zenon_intro zenon_H2e6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e6). zenon_intro zenon_H10d. zenon_intro zenon_H2e8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e8). zenon_intro zenon_H10a. zenon_intro zenon_H2e9.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2e9). zenon_intro zenon_Haf. zenon_intro zenon_H2ea.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_Hfd. zenon_intro zenon_H2eb.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2eb). zenon_intro zenon_H2ed. zenon_intro zenon_H2ec.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ec). zenon_intro zenon_H2ef. zenon_intro zenon_H2ee.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ee). zenon_intro zenon_H2f1. zenon_intro zenon_H2f0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2f0). zenon_intro zenon_H2f3. zenon_intro zenon_H2f2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2f2). zenon_intro zenon_H2f5. zenon_intro zenon_H2f4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2f4). zenon_intro zenon_H2f7. zenon_intro zenon_H2f6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2f6). zenon_intro zenon_H2f9. zenon_intro zenon_H2f8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2f8). zenon_intro zenon_H2fb. zenon_intro zenon_H2fa.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2fa). zenon_intro zenon_H2ad. zenon_intro zenon_H2fc.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_H2fe. zenon_intro zenon_H2fd.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2fd). zenon_intro zenon_H300. zenon_intro zenon_H2ff.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H2ff). zenon_intro zenon_H269. zenon_intro zenon_H209.
% 23.91/24.09  apply (zenon_and_s _ _ ax3). zenon_intro zenon_H302. zenon_intro zenon_H301.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H301). zenon_intro zenon_H14b. zenon_intro zenon_H303.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H303). zenon_intro zenon_H305. zenon_intro zenon_H304.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H304). zenon_intro zenon_H307. zenon_intro zenon_H306.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H306). zenon_intro zenon_H309. zenon_intro zenon_H308.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H30b. zenon_intro zenon_H30a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H30a). zenon_intro zenon_H1bd. zenon_intro zenon_H30c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H30c). zenon_intro zenon_H223. zenon_intro zenon_H30d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H30d). zenon_intro zenon_H30f. zenon_intro zenon_H30e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H30e). zenon_intro zenon_H311. zenon_intro zenon_H310.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H310). zenon_intro zenon_H313. zenon_intro zenon_H312.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H219. zenon_intro zenon_H314.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H314). zenon_intro zenon_H316. zenon_intro zenon_H315.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H295. zenon_intro zenon_H317.
% 23.91/24.09  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H319. zenon_intro zenon_H318.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H318). zenon_intro zenon_H31b. zenon_intro zenon_H31a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H31a). zenon_intro zenon_H31d. zenon_intro zenon_H31c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H31c). zenon_intro zenon_H16a. zenon_intro zenon_H31e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H320. zenon_intro zenon_H31f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H31f). zenon_intro zenon_H322. zenon_intro zenon_H321.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H324. zenon_intro zenon_H323.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H323). zenon_intro zenon_H326. zenon_intro zenon_H325.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H325). zenon_intro zenon_H328. zenon_intro zenon_H327.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_H32a. zenon_intro zenon_H329.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H329). zenon_intro zenon_H32c. zenon_intro zenon_H32b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H32b). zenon_intro zenon_H32e. zenon_intro zenon_H32d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H32d). zenon_intro zenon_H330. zenon_intro zenon_H32f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H32f). zenon_intro zenon_H332. zenon_intro zenon_H331.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H331). zenon_intro zenon_H334. zenon_intro zenon_H333.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H333). zenon_intro zenon_H229. zenon_intro zenon_H335.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H335). zenon_intro zenon_H161. zenon_intro zenon_H336.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H93. zenon_intro zenon_H337.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H337). zenon_intro zenon_H154. zenon_intro zenon_H338.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H33a. zenon_intro zenon_H339.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H339). zenon_intro zenon_H33c. zenon_intro zenon_H33b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H33b). zenon_intro zenon_H33e. zenon_intro zenon_H33d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H33d). zenon_intro zenon_H340. zenon_intro zenon_H33f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H33f). zenon_intro zenon_H342. zenon_intro zenon_H341.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H341). zenon_intro zenon_H344. zenon_intro zenon_H343.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H343). zenon_intro zenon_H1d3. zenon_intro zenon_H345.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H345). zenon_intro zenon_H347. zenon_intro zenon_H346.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H346). zenon_intro zenon_H349. zenon_intro zenon_H348.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H348). zenon_intro zenon_H34b. zenon_intro zenon_H34a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H34d. zenon_intro zenon_H34c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H34c). zenon_intro zenon_H273. zenon_intro zenon_H226.
% 23.91/24.09  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H34f. zenon_intro zenon_H34e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H351. zenon_intro zenon_H350.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H350). zenon_intro zenon_H353. zenon_intro zenon_H352.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H352). zenon_intro zenon_H355. zenon_intro zenon_H354.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H357. zenon_intro zenon_H356.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H356). zenon_intro zenon_H359. zenon_intro zenon_H358.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H358). zenon_intro zenon_Ha9. zenon_intro zenon_H35a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35a). zenon_intro zenon_He1. zenon_intro zenon_H35b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_Hee. zenon_intro zenon_H35c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35c). zenon_intro zenon_H101. zenon_intro zenon_H35d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H28e. zenon_intro zenon_H35e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35e). zenon_intro zenon_H360. zenon_intro zenon_H35f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H35f). zenon_intro zenon_H1b2. zenon_intro zenon_H361.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H361). zenon_intro zenon_H363. zenon_intro zenon_H362.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H362). zenon_intro zenon_H97. zenon_intro zenon_H364.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H364). zenon_intro zenon_H1ad. zenon_intro zenon_H365.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H365). zenon_intro zenon_H9d. zenon_intro zenon_H366.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H366). zenon_intro zenon_H263. zenon_intro zenon_H367.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H367). zenon_intro zenon_H1ee. zenon_intro zenon_H368.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H368). zenon_intro zenon_H105. zenon_intro zenon_H369.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H369). zenon_intro zenon_H17e. zenon_intro zenon_H36a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36a). zenon_intro zenon_H1f8. zenon_intro zenon_H36b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36b). zenon_intro zenon_H1f4. zenon_intro zenon_H36c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_Hf7. zenon_intro zenon_H36d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36d). zenon_intro zenon_He6. zenon_intro zenon_H36e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36e). zenon_intro zenon_H370. zenon_intro zenon_H36f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H36f). zenon_intro zenon_H372. zenon_intro zenon_H371.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H374. zenon_intro zenon_H373.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_H376. zenon_intro zenon_H375.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H375). zenon_intro zenon_H378. zenon_intro zenon_H377.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H377). zenon_intro zenon_H37a. zenon_intro zenon_H379.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H379). zenon_intro zenon_H37c. zenon_intro zenon_H37b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H37b). zenon_intro zenon_H37e. zenon_intro zenon_H37d.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H37d). zenon_intro zenon_H380. zenon_intro zenon_H37f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H37f). zenon_intro zenon_H382. zenon_intro zenon_H381.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H381). zenon_intro zenon_H384. zenon_intro zenon_H383.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H383). zenon_intro zenon_H386. zenon_intro zenon_H385.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H385). zenon_intro zenon_H388. zenon_intro zenon_H387.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H387). zenon_intro zenon_H38a. zenon_intro zenon_H389.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H389). zenon_intro zenon_Hc7. zenon_intro zenon_H38b.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H38b). zenon_intro zenon_H38d. zenon_intro zenon_H38c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_H1e7. zenon_intro zenon_H38e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H390. zenon_intro zenon_H38f.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H38f). zenon_intro zenon_H392. zenon_intro zenon_H391.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H391). zenon_intro zenon_H112. zenon_intro zenon_H393.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H393). zenon_intro zenon_H395. zenon_intro zenon_H394.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H27a. zenon_intro zenon_H3a.
% 23.91/24.09  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H397. zenon_intro zenon_H396.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H396). zenon_intro zenon_H399. zenon_intro zenon_H398.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H398). zenon_intro zenon_H39b. zenon_intro zenon_H39a.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H39a). zenon_intro zenon_H39d. zenon_intro zenon_H39c.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H39f. zenon_intro zenon_H39e.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_H3a1. zenon_intro zenon_H3a0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H8d. zenon_intro zenon_H3a2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H138. zenon_intro zenon_H3a3.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a3). zenon_intro zenon_H145. zenon_intro zenon_H3a4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a4). zenon_intro zenon_H158. zenon_intro zenon_H3a5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a5). zenon_intro zenon_H296. zenon_intro zenon_H3a6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a6). zenon_intro zenon_H3a8. zenon_intro zenon_H3a7.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a7). zenon_intro zenon_H1be. zenon_intro zenon_H3a9.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3a9). zenon_intro zenon_H3ab. zenon_intro zenon_H3aa.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3aa). zenon_intro zenon_H7b. zenon_intro zenon_H3ac.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ac). zenon_intro zenon_H1b9. zenon_intro zenon_H3ad.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H81. zenon_intro zenon_H3ae.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ae). zenon_intro zenon_H26d. zenon_intro zenon_H3af.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3af). zenon_intro zenon_H3b1. zenon_intro zenon_H3b0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b0). zenon_intro zenon_H15c. zenon_intro zenon_H3b2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b2). zenon_intro zenon_H186. zenon_intro zenon_H3b3.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H215. zenon_intro zenon_H3b4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b4). zenon_intro zenon_H211. zenon_intro zenon_H3b5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b5). zenon_intro zenon_H14e. zenon_intro zenon_H3b6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b6). zenon_intro zenon_H13c. zenon_intro zenon_H3b7.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b7). zenon_intro zenon_H3b9. zenon_intro zenon_H3b8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3b8). zenon_intro zenon_H3bb. zenon_intro zenon_H3ba.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ba). zenon_intro zenon_H3bd. zenon_intro zenon_H3bc.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H3bf. zenon_intro zenon_H3be.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H3c1. zenon_intro zenon_H3c0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3c0). zenon_intro zenon_H3c3. zenon_intro zenon_H3c2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3c2). zenon_intro zenon_H3c5. zenon_intro zenon_H3c4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3c4). zenon_intro zenon_H3c7. zenon_intro zenon_H3c6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3c6). zenon_intro zenon_H3c9. zenon_intro zenon_H3c8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H1c8. zenon_intro zenon_H3ca.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H3cc. zenon_intro zenon_H3cb.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3cb). zenon_intro zenon_H3ce. zenon_intro zenon_H3cd.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_H3d0. zenon_intro zenon_H3cf.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3cf). zenon_intro zenon_H1d0. zenon_intro zenon_H3d1.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d1). zenon_intro zenon_H11e. zenon_intro zenon_H3d2.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H3d4. zenon_intro zenon_H3d3.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H20d. zenon_intro zenon_H3d5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_H3d7. zenon_intro zenon_H3d6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H3d9. zenon_intro zenon_H3d8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3d8). zenon_intro zenon_H164. zenon_intro zenon_H3da.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H3dc. zenon_intro zenon_H3db.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3db). zenon_intro zenon_H276. zenon_intro zenon_H5c.
% 23.91/24.09  apply (zenon_and_s _ _ ax7). zenon_intro zenon_Hd0. zenon_intro zenon_H3dd.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3dd). zenon_intro zenon_H21. zenon_intro zenon_H3de.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H31. zenon_intro zenon_H3df.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_H3e1. zenon_intro zenon_H3e0.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_H77. zenon_intro zenon_H3e2.
% 23.91/24.09  apply (zenon_and_s _ _ ax8). zenon_intro zenon_H127. zenon_intro zenon_H3e3.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e3). zenon_intro zenon_H45. zenon_intro zenon_H3e4.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H54. zenon_intro zenon_H3e5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H3e7. zenon_intro zenon_H3e6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H6c. zenon_intro zenon_H3e8.
% 23.91/24.09  apply (zenon_and_s _ _ ax10). zenon_intro zenon_H3ea. zenon_intro zenon_H3e9.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3e9). zenon_intro zenon_H3ec. zenon_intro zenon_H3eb.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3eb). zenon_intro zenon_H3ee. zenon_intro zenon_H3ed.
% 23.91/24.09  apply (zenon_and_s _ _ ax11). zenon_intro zenon_H3f0. zenon_intro zenon_H3ef.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3ef). zenon_intro zenon_H3f2. zenon_intro zenon_H3f1.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3f1). zenon_intro zenon_H3f4. zenon_intro zenon_H3f3.
% 23.91/24.09  apply (zenon_and_s _ _ ax12). zenon_intro zenon_H38. zenon_intro zenon_H3f5.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3f5). zenon_intro zenon_He2. zenon_intro zenon_H2c.
% 23.91/24.09  apply (zenon_and_s _ _ ax13). zenon_intro zenon_H1a. zenon_intro zenon_H3f6.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3f6). zenon_intro zenon_Hb4. zenon_intro zenon_H4f.
% 23.91/24.09  apply (zenon_and_s _ _ ax16). zenon_intro zenon_H170. zenon_intro zenon_H3f7.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3f7). zenon_intro zenon_H19. zenon_intro zenon_H3f8.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H3f8). zenon_intro zenon_Hb3. zenon_intro zenon_Hb8.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H3fa. zenon_intro zenon_H3f9.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H3f9). zenon_intro zenon_H3fc. zenon_intro zenon_H3fb.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H3fb). zenon_intro zenon_H3fe. zenon_intro zenon_H3fd.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H3fe); [ zenon_intro zenon_H400 | zenon_intro zenon_H3ff ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  cut (((h3 (e12)) = (e22)) = ((h3 (op1 (e10) (e10))) = (op2 (h3 (e10)) (h3 (e10))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H400.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H170.
% 23.91/24.09  cut (((e22) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H40b].
% 23.91/24.09  cut (((h3 (e12)) = (h3 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H40c].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10))))); [ zenon_intro zenon_H40d | zenon_intro zenon_H40e ].
% 23.91/24.09  cut (((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10)))) = ((h3 (e12)) = (h3 (op1 (e10) (e10))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H40c.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H40d.
% 23.91/24.09  cut (((h3 (op1 (e10) (e10))) = (h3 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H40e].
% 23.91/24.09  cut (((h3 (op1 (e10) (e10))) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H40f].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e10) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H36 zenon_H96).
% 23.91/24.09  apply zenon_H40e. apply refl_equal.
% 23.91/24.09  apply zenon_H40e. apply refl_equal.
% 23.91/24.09  elim (classic ((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [ zenon_intro zenon_H410 | zenon_intro zenon_H411 ].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10)))) = ((e22) = (op2 (h3 (e10)) (h3 (e10))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H40b.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H410.
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H411].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H412].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op2 (e20) (e20)) = (e22)) = ((op2 (h3 (e10)) (h3 (e10))) = (e22))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H412.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H7a.
% 23.91/24.09  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 23.91/24.09  cut (((op2 (e20) (e20)) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H413].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [ zenon_intro zenon_H410 | zenon_intro zenon_H411 ].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10)))) = ((op2 (e20) (e20)) = (op2 (h3 (e10)) (h3 (e10))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H413.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H410.
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (h3 (e10)) (h3 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H411].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e10))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H414].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.91/24.09  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.91/24.09  congruence.
% 23.91/24.09  apply (zenon_L3_); trivial.
% 23.91/24.09  apply (zenon_L3_); trivial.
% 23.91/24.09  apply zenon_H411. apply refl_equal.
% 23.91/24.09  apply zenon_H411. apply refl_equal.
% 23.91/24.09  apply zenon_H1d. apply refl_equal.
% 23.91/24.09  apply zenon_H411. apply refl_equal.
% 23.91/24.09  apply zenon_H411. apply refl_equal.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H3ff); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H417 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H229); [ zenon_intro zenon_Hba | zenon_intro zenon_H22b ].
% 23.91/24.09  apply (zenon_L67_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H22b); [ zenon_intro zenon_H22d | zenon_intro zenon_H22c ].
% 23.91/24.09  exact (zenon_H22a zenon_H22d).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H22c); [ zenon_intro zenon_H11f | zenon_intro zenon_H144 ].
% 23.91/24.09  apply (zenon_L68_); trivial.
% 23.91/24.09  apply (zenon_L83_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.09  apply (zenon_L84_); trivial.
% 23.91/24.09  apply (zenon_L85_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H417); [ zenon_intro zenon_H16d | zenon_intro zenon_H420 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H31d); [ zenon_intro zenon_H67 | zenon_intro zenon_H421 ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H421); [ zenon_intro zenon_H139 | zenon_intro zenon_H422 ].
% 23.91/24.09  apply (zenon_L87_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H422); [ zenon_intro zenon_H16f | zenon_intro zenon_H187 ].
% 23.91/24.09  apply (zenon_L92_); trivial.
% 23.91/24.09  apply (zenon_L93_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H420); [ zenon_intro zenon_H424 | zenon_intro zenon_H423 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.09  apply (zenon_L41_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.09  apply (zenon_L46_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.09  apply (zenon_L42_); trivial.
% 23.91/24.09  cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) = ((h3 (op1 (e10) (e13))) = (op2 (h3 (e10)) (h3 (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H424.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H19.
% 23.91/24.09  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e10)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H425].
% 23.91/24.09  cut (((h3 (e10)) = (h3 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H426].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13))))); [ zenon_intro zenon_H427 | zenon_intro zenon_H428 ].
% 23.91/24.09  cut (((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13)))) = ((h3 (e10)) = (h3 (op1 (e10) (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H426.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H427.
% 23.91/24.09  cut (((h3 (op1 (e10) (e13))) = (h3 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H428].
% 23.91/24.09  cut (((h3 (op1 (e10) (e13))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H429].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e10) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H42a].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H42a zenon_H106).
% 23.91/24.09  apply zenon_H428. apply refl_equal.
% 23.91/24.09  apply zenon_H428. apply refl_equal.
% 23.91/24.09  elim (classic ((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13))))); [ zenon_intro zenon_H42b | zenon_intro zenon_H42c ].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13)))) = ((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e10)) (h3 (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H425.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H42b.
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H42d].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op2 (e20) (e23)) = (e20)) = ((op2 (h3 (e10)) (h3 (e13))) = (op2 (op2 (e22) (e22)) (e22)))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H42d.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H15d.
% 23.91/24.09  cut (((e20) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H238].
% 23.91/24.09  cut (((op2 (e20) (e23)) = (op2 (h3 (e10)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H42e].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13))))); [ zenon_intro zenon_H42b | zenon_intro zenon_H42c ].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13)))) = ((op2 (e20) (e23)) = (op2 (h3 (e10)) (h3 (e13))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H42e.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H42b.
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (h3 (e10)) (h3 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 23.91/24.09  cut (((op2 (h3 (e10)) (h3 (e13))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H42f].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((h3 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H18b].
% 23.91/24.09  cut (((h3 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 23.91/24.09  congruence.
% 23.91/24.09  apply (zenon_L3_); trivial.
% 23.91/24.09  apply (zenon_L94_); trivial.
% 23.91/24.09  apply zenon_H42c. apply refl_equal.
% 23.91/24.09  apply zenon_H42c. apply refl_equal.
% 23.91/24.09  exact (zenon_H238 zenon_H1a).
% 23.91/24.09  apply zenon_H42c. apply refl_equal.
% 23.91/24.09  apply zenon_H42c. apply refl_equal.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H423); [ zenon_intro zenon_H18d | zenon_intro zenon_H430 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_H17 | zenon_intro zenon_H11a ].
% 23.91/24.09  apply (zenon_L41_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_Haa | zenon_intro zenon_H11b ].
% 23.91/24.09  apply (zenon_L46_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11b); [ zenon_intro zenon_H98 | zenon_intro zenon_H106 ].
% 23.91/24.09  apply (zenon_L42_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H72 | zenon_intro zenon_H11c ].
% 23.91/24.09  exact (zenon_H70 zenon_H72).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11c); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H11d ].
% 23.91/24.09  apply (zenon_L95_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H11d); [ zenon_intro zenon_Hcf | zenon_intro zenon_H113 ].
% 23.91/24.09  apply (zenon_L65_); trivial.
% 23.91/24.09  apply (zenon_L66_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.09  apply (zenon_L84_); trivial.
% 23.91/24.09  apply (zenon_L85_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H430); [ zenon_intro zenon_H432 | zenon_intro zenon_H431 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  cut (((h3 (e10)) = (op2 (op2 (e22) (e22)) (e22))) = ((h3 (op1 (e11) (e11))) = (op2 (h3 (e11)) (h3 (e11))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H432.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H19.
% 23.91/24.09  cut (((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H433].
% 23.91/24.09  cut (((h3 (e10)) = (h3 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H434].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11))))); [ zenon_intro zenon_H435 | zenon_intro zenon_H436 ].
% 23.91/24.09  cut (((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11)))) = ((h3 (e10)) = (h3 (op1 (e11) (e11))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H434.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H435.
% 23.91/24.09  cut (((h3 (op1 (e11) (e11))) = (h3 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H436].
% 23.91/24.09  cut (((h3 (op1 (e11) (e11))) = (h3 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H437].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e11) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 23.91/24.09  congruence.
% 23.91/24.09  exact (zenon_H71 zenon_H1f).
% 23.91/24.09  apply zenon_H436. apply refl_equal.
% 23.91/24.09  apply zenon_H436. apply refl_equal.
% 23.91/24.09  elim (classic ((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [ zenon_intro zenon_H438 | zenon_intro zenon_H439 ].
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11)))) = ((op2 (op2 (e22) (e22)) (e22)) = (op2 (h3 (e11)) (h3 (e11))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H433.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H438.
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H439].
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H43a].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op2 (e21) (e21)) = (e20)) = ((op2 (h3 (e11)) (h3 (e11))) = (op2 (op2 (e22) (e22)) (e22)))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H43a.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H43.
% 23.91/24.09  cut (((e20) = (op2 (op2 (e22) (e22)) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H238].
% 23.91/24.09  cut (((op2 (e21) (e21)) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H43b].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [ zenon_intro zenon_H438 | zenon_intro zenon_H439 ].
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11)))) = ((op2 (e21) (e21)) = (op2 (h3 (e11)) (h3 (e11))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H43b.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H438.
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (h3 (e11)) (h3 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H439].
% 23.91/24.09  cut (((op2 (h3 (e11)) (h3 (e11))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H43c].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.91/24.09  cut (((h3 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 23.91/24.09  congruence.
% 23.91/24.09  apply (zenon_L47_); trivial.
% 23.91/24.09  apply (zenon_L47_); trivial.
% 23.91/24.09  apply zenon_H439. apply refl_equal.
% 23.91/24.09  apply zenon_H439. apply refl_equal.
% 23.91/24.09  exact (zenon_H238 zenon_H1a).
% 23.91/24.09  apply zenon_H439. apply refl_equal.
% 23.91/24.09  apply zenon_H439. apply refl_equal.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H431); [ zenon_intro zenon_H19f | zenon_intro zenon_H43d ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H31d); [ zenon_intro zenon_H67 | zenon_intro zenon_H421 ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H421); [ zenon_intro zenon_H139 | zenon_intro zenon_H422 ].
% 23.91/24.09  apply (zenon_L87_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H422); [ zenon_intro zenon_H16f | zenon_intro zenon_H187 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.09  apply (zenon_L105_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.09  apply (zenon_L84_); trivial.
% 23.91/24.09  apply (zenon_L85_); trivial.
% 23.91/24.09  apply (zenon_L93_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H43d); [ zenon_intro zenon_H1d8 | zenon_intro zenon_H43e ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.91/24.09  apply (zenon_L134_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.91/24.09  apply (zenon_L81_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_L82_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.09  apply (zenon_L84_); trivial.
% 23.91/24.09  apply (zenon_L85_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H43e); [ zenon_intro zenon_H22e | zenon_intro zenon_H43f ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.91/24.09  apply (zenon_L136_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.91/24.09  apply (zenon_L81_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_L82_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H43f); [ zenon_intro zenon_H23b | zenon_intro zenon_H440 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.91/24.09  apply (zenon_L140_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.91/24.09  apply (zenon_L81_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_L82_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H440); [ zenon_intro zenon_H442 | zenon_intro zenon_H441 ].
% 23.91/24.09  cut (((h3 (e13)) = (op2 (e22) (e22))) = ((h3 (op1 (e12) (e12))) = (op2 (h3 (e12)) (h3 (e12))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H442.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_Hb8.
% 23.91/24.09  cut (((op2 (e22) (e22)) = (op2 (h3 (e12)) (h3 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H443].
% 23.91/24.09  cut (((h3 (e13)) = (h3 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H444].
% 23.91/24.09  congruence.
% 23.91/24.09  elim (classic ((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12))))); [ zenon_intro zenon_H445 | zenon_intro zenon_H446 ].
% 23.91/24.09  cut (((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12)))) = ((h3 (e13)) = (h3 (op1 (e12) (e12))))).
% 23.91/24.09  intro zenon_D_pnotp.
% 23.91/24.09  apply zenon_H444.
% 23.91/24.09  rewrite <- zenon_D_pnotp.
% 23.91/24.09  exact zenon_H445.
% 23.91/24.09  cut (((h3 (op1 (e12) (e12))) = (h3 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H446].
% 23.91/24.09  cut (((h3 (op1 (e12) (e12))) = (h3 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H447].
% 23.91/24.09  congruence.
% 23.91/24.09  cut (((op1 (e12) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 23.91/24.09  congruence.
% 23.91/24.09  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 23.91/24.09  apply zenon_H446. apply refl_equal.
% 23.91/24.09  apply zenon_H446. apply refl_equal.
% 23.91/24.09  cut (((e22) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2a4].
% 23.91/24.09  cut (((e22) = (h3 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H2a4].
% 23.91/24.09  congruence.
% 23.91/24.09  apply zenon_H2a4. apply sym_equal. exact zenon_H170.
% 23.91/24.09  apply zenon_H2a4. apply sym_equal. exact zenon_H170.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H441); [ zenon_intro zenon_H247 | zenon_intro zenon_H448 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.91/24.09  apply (zenon_L143_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.91/24.09  apply (zenon_L81_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_L82_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H448); [ zenon_intro zenon_H25c | zenon_intro zenon_H449 ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H161); [ zenon_intro zenon_H125 | zenon_intro zenon_H162 ].
% 23.91/24.09  apply (zenon_L152_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H162); [ zenon_intro zenon_H157 | zenon_intro zenon_H163 ].
% 23.91/24.09  apply (zenon_L81_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H163); [ zenon_intro zenon_H56 | zenon_intro zenon_H15e ].
% 23.91/24.09  exact (zenon_H59 zenon_H56).
% 23.91/24.09  apply (zenon_L82_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H449); [ zenon_intro zenon_H287 | zenon_intro zenon_H44a ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f0); [ zenon_intro zenon_H12 | zenon_intro zenon_H401 ].
% 23.91/24.09  apply (zenon_L1_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H401); [ zenon_intro zenon_H403 | zenon_intro zenon_H402 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H403). zenon_intro zenon_H43. zenon_intro zenon_H65.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f2); [ zenon_intro zenon_H64 | zenon_intro zenon_H418 ].
% 23.91/24.09  apply (zenon_L27_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_H68 | zenon_intro zenon_H419 ].
% 23.91/24.09  apply (zenon_L28_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H6e | zenon_intro zenon_H41a ].
% 23.91/24.09  apply (zenon_L30_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41a). zenon_intro zenon_H12e. zenon_intro zenon_H22a.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3f4); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H405). zenon_intro zenon_H7a. zenon_intro zenon_H59.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ea); [ zenon_intro zenon_H15 | zenon_intro zenon_H406 ].
% 23.91/24.09  apply (zenon_L2_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H406); [ zenon_intro zenon_H408 | zenon_intro zenon_H407 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H408). zenon_intro zenon_H1f. zenon_intro zenon_H70.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ec); [ zenon_intro zenon_H6f | zenon_intro zenon_H41b ].
% 23.91/24.09  apply (zenon_L31_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41b); [ zenon_intro zenon_H73 | zenon_intro zenon_H41c ].
% 23.91/24.09  apply (zenon_L32_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41c); [ zenon_intro zenon_H79 | zenon_intro zenon_H41d ].
% 23.91/24.09  apply (zenon_L34_); trivial.
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H41d). zenon_intro zenon_Hd7. zenon_intro zenon_H10e.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H3ee); [ zenon_intro zenon_H40a | zenon_intro zenon_H409 ].
% 23.91/24.09  apply (zenon_and_s _ _ zenon_H40a). zenon_intro zenon_H96. zenon_intro zenon_H34.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H319); [ zenon_intro zenon_H14 | zenon_intro zenon_H41e ].
% 23.91/24.09  apply (zenon_L35_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41e); [ zenon_intro zenon_H8e | zenon_intro zenon_H41f ].
% 23.91/24.09  apply (zenon_L40_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H41f); [ zenon_intro zenon_H7c | zenon_intro zenon_H15d ].
% 23.91/24.09  apply (zenon_L36_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16a); [ zenon_intro zenon_H67 | zenon_intro zenon_H16b ].
% 23.91/24.09  exact (zenon_H65 zenon_H67).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16b); [ zenon_intro zenon_H12f | zenon_intro zenon_H16c ].
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H229); [ zenon_intro zenon_Hba | zenon_intro zenon_H22b ].
% 23.91/24.09  apply (zenon_L160_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H22b); [ zenon_intro zenon_H22d | zenon_intro zenon_H22c ].
% 23.91/24.09  exact (zenon_H22a zenon_H22d).
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H22c); [ zenon_intro zenon_H11f | zenon_intro zenon_H144 ].
% 23.91/24.09  apply (zenon_L68_); trivial.
% 23.91/24.09  apply (zenon_L83_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H16c); [ zenon_intro zenon_H126 | zenon_intro zenon_H165 ].
% 23.91/24.09  apply (zenon_L84_); trivial.
% 23.91/24.09  apply (zenon_L85_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H409); [ zenon_intro zenon_H26 | zenon_intro zenon_H415 ].
% 23.91/24.09  apply (zenon_L7_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H415); [ zenon_intro zenon_H28 | zenon_intro zenon_H2b ].
% 23.91/24.09  apply (zenon_L8_); trivial.
% 23.91/24.09  apply (zenon_L9_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H407); [ zenon_intro zenon_H35 | zenon_intro zenon_H40 ].
% 23.91/24.09  apply (zenon_L12_); trivial.
% 23.91/24.09  apply (zenon_L16_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H404); [ zenon_intro zenon_H49 | zenon_intro zenon_H416 ].
% 23.91/24.09  apply (zenon_L19_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_H4b | zenon_intro zenon_H4e ].
% 23.91/24.09  apply (zenon_L20_); trivial.
% 23.91/24.09  apply (zenon_L21_); trivial.
% 23.91/24.09  apply (zenon_or_s _ _ zenon_H402); [ zenon_intro zenon_H53 | zenon_intro zenon_H62 ].
% 23.91/24.09  apply (zenon_L23_); trivial.
% 23.91/24.09  apply (zenon_L26_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H44a); [ zenon_intro zenon_H29d | zenon_intro zenon_H44b ].
% 23.91/24.09  apply (zenon_L162_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H44b); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H44c ].
% 23.91/24.09  apply (zenon_L164_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H44c); [ zenon_intro zenon_H44e | zenon_intro zenon_H44d ].
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H44e). zenon_intro zenon_H18. zenon_intro zenon_H44f.
% 23.91/24.09  apply (zenon_L3_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H44d); [ zenon_intro zenon_H451 | zenon_intro zenon_H450 ].
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H451). zenon_intro zenon_H453. zenon_intro zenon_H452.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H452). zenon_intro zenon_Hb2. zenon_intro zenon_H454.
% 23.91/24.09  apply (zenon_L47_); trivial.
% 23.91/24.09  apply (zenon_notand_s _ _ zenon_H450); [ zenon_intro zenon_H455 | zenon_intro zenon_H2b0 ].
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H455). zenon_intro zenon_H457. zenon_intro zenon_H456.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H456). zenon_intro zenon_H459. zenon_intro zenon_H458.
% 23.91/24.09  apply (zenon_notor_s _ _ zenon_H458). zenon_intro zenon_H17d. zenon_intro zenon_H45a.
% 23.91/24.09  exact (zenon_H17d zenon_H170).
% 23.91/24.09  apply (zenon_L165_); trivial.
% 23.91/24.09  Qed.
% 23.91/24.09  % SZS output end Proof
% 23.91/24.09  (* END-PROOF *)
% 23.91/24.09  nodes searched: 1206180
% 23.91/24.09  max branch formulas: 1926
% 23.91/24.09  proof nodes created: 11311
% 23.91/24.09  formulas created: 530781
% 23.91/24.09  
%------------------------------------------------------------------------------