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

View Problem - Process Solution

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

% Computer : n032.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:33 EDT 2022

% Result   : Theorem 19.63s 19.88s
% Output   : Proof 19.71s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.10  % Problem  : ALG121+1 : TPTP v8.1.0. Released v2.7.0.
% 0.00/0.10  % Command  : run_zenon %s %d
% 0.10/0.30  % Computer : n032.cluster.edu
% 0.10/0.30  % Model    : x86_64 x86_64
% 0.10/0.30  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.10/0.30  % Memory   : 8042.1875MB
% 0.10/0.30  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.10/0.30  % CPULimit : 300
% 0.10/0.30  % WCLimit  : 600
% 0.10/0.30  % DateTime : Wed Jun  8 00:45:51 EDT 2022
% 0.10/0.30  % CPUTime  : 
% 19.63/19.88  (* PROOF-FOUND *)
% 19.63/19.88  % SZS status Theorem
% 19.63/19.88  (* BEGIN-PROOF *)
% 19.63/19.88  % SZS output start Proof
% 19.63/19.88  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))))))))))))))))))))))))))).
% 19.63/19.88  Proof.
% 19.63/19.88  assert (zenon_L1_ : (~((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H12 zenon_H13.
% 19.63/19.88  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 19.63/19.88  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.63/19.88  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.63/19.88  (* end of lemma zenon_L1_ *)
% 19.63/19.88  assert (zenon_L2_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e10) (e11)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H15 zenon_H16 zenon_H13 zenon_H17.
% 19.63/19.88  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_H18 | zenon_intro zenon_H19 ].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((op1 (e10) (e10)) = (op1 (e10) (e11)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H17.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H18.
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e10) (e11)) = (op1 (e10) (e10)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H1a.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H15.
% 19.63/19.88  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.63/19.88  cut (((e11) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1b].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op1 (e10) (e11)) = (op1 (e10) (e11)))); [ zenon_intro zenon_H18 | zenon_intro zenon_H19 ].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e11))) = ((e11) = (op1 (e10) (e11)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H1b.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H18.
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H1c zenon_H16).
% 19.63/19.88  apply zenon_H19. apply refl_equal.
% 19.63/19.88  apply zenon_H19. apply refl_equal.
% 19.63/19.88  apply (zenon_L1_); trivial.
% 19.63/19.88  apply zenon_H19. apply refl_equal.
% 19.63/19.88  apply zenon_H19. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L2_ *)
% 19.63/19.88  assert (zenon_L3_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e10) (e12)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H15 zenon_H1d zenon_H13 zenon_H1e.
% 19.63/19.88  elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 19.63/19.88  cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((op1 (e10) (e10)) = (op1 (e10) (e12)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H1e.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H1f.
% 19.63/19.88  cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 19.63/19.88  cut (((op1 (e10) (e12)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e10) (e12)) = (op1 (e10) (e10)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H21.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H15.
% 19.63/19.88  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.63/19.88  cut (((e11) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op1 (e10) (e12)) = (op1 (e10) (e12)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 19.63/19.88  cut (((op1 (e10) (e12)) = (op1 (e10) (e12))) = ((e11) = (op1 (e10) (e12)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H22.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H1f.
% 19.63/19.88  cut (((op1 (e10) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 19.63/19.88  cut (((op1 (e10) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H23 zenon_H1d).
% 19.63/19.88  apply zenon_H20. apply refl_equal.
% 19.63/19.88  apply zenon_H20. apply refl_equal.
% 19.63/19.88  apply (zenon_L1_); trivial.
% 19.63/19.88  apply zenon_H20. apply refl_equal.
% 19.63/19.88  apply zenon_H20. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L3_ *)
% 19.63/19.88  assert (zenon_L4_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e10) (e13)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H15 zenon_H24 zenon_H13 zenon_H25.
% 19.63/19.88  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((op1 (e10) (e10)) = (op1 (e10) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H25.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H26.
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e10) (e13)) = (op1 (e10) (e10)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H28.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H15.
% 19.63/19.88  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.63/19.88  cut (((e11) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e11) = (op1 (e10) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H29.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H26.
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H2a zenon_H24).
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply (zenon_L1_); trivial.
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L4_ *)
% 19.63/19.88  assert (zenon_L5_ : (~((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))) -> ((e20) = (op2 (e23) (e23))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2b zenon_H2c.
% 19.63/19.88  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 19.63/19.88  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.88  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.88  (* end of lemma zenon_L5_ *)
% 19.63/19.88  assert (zenon_L6_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e20) (e21)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2e zenon_H2f zenon_H2c zenon_H30.
% 19.63/19.88  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((op2 (e20) (e20)) = (op2 (e20) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H30.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H31.
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e20) (e21)) = (op2 (e20) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H33.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  cut (((e21) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e20) (e21)) = (op2 (e20) (e21)))); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e21))) = ((e21) = (op2 (e20) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H34.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H31.
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H35].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H35 zenon_H2f).
% 19.63/19.88  apply zenon_H32. apply refl_equal.
% 19.63/19.88  apply zenon_H32. apply refl_equal.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_H32. apply refl_equal.
% 19.63/19.88  apply zenon_H32. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L6_ *)
% 19.63/19.88  assert (zenon_L7_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2e zenon_H36 zenon_H2c zenon_H37.
% 19.63/19.88  elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ].
% 19.63/19.88  cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((op2 (e20) (e20)) = (op2 (e20) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H37.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H38.
% 19.63/19.88  cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 19.63/19.88  cut (((op2 (e20) (e22)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e20) (e22)) = (op2 (e20) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H3a.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  cut (((e21) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H3b].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e20) (e22)) = (op2 (e20) (e22)))); [ zenon_intro zenon_H38 | zenon_intro zenon_H39 ].
% 19.63/19.88  cut (((op2 (e20) (e22)) = (op2 (e20) (e22))) = ((e21) = (op2 (e20) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H3b.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H38.
% 19.63/19.88  cut (((op2 (e20) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 19.63/19.88  cut (((op2 (e20) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H3c zenon_H36).
% 19.63/19.88  apply zenon_H39. apply refl_equal.
% 19.63/19.88  apply zenon_H39. apply refl_equal.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_H39. apply refl_equal.
% 19.63/19.88  apply zenon_H39. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L7_ *)
% 19.63/19.88  assert (zenon_L8_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e20) (e23)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2e zenon_H3d zenon_H2c zenon_H3e.
% 19.63/19.88  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((op2 (e20) (e20)) = (op2 (e20) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H3e.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H3f.
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e20) (e23)) = (op2 (e20) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H41.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  cut (((e21) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H42].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e21) = (op2 (e20) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H42.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H3f.
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H43 zenon_H3d).
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L8_ *)
% 19.63/19.88  assert (zenon_L9_ : (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> (~((op2 (e20) (e20)) = (e21))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H44 zenon_H45 zenon_H30 zenon_H37 zenon_H2e zenon_H2c zenon_H3e.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H44); [ zenon_intro zenon_H47 | zenon_intro zenon_H46 ].
% 19.63/19.88  exact (zenon_H45 zenon_H47).
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H46); [ zenon_intro zenon_H2f | zenon_intro zenon_H48 ].
% 19.63/19.88  apply (zenon_L6_); trivial.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H48); [ zenon_intro zenon_H36 | zenon_intro zenon_H3d ].
% 19.63/19.88  apply (zenon_L7_); trivial.
% 19.63/19.88  apply (zenon_L8_); trivial.
% 19.63/19.88  (* end of lemma zenon_L9_ *)
% 19.63/19.88  assert (zenon_L10_ : (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (e11))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H49 zenon_H4a zenon_H17 zenon_H1e zenon_H15 zenon_H13 zenon_H25.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.63/19.88  exact (zenon_H4a zenon_H4c).
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.63/19.88  apply (zenon_L2_); trivial.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.63/19.88  apply (zenon_L3_); trivial.
% 19.63/19.88  apply (zenon_L4_); trivial.
% 19.63/19.88  (* end of lemma zenon_L10_ *)
% 19.63/19.88  assert (zenon_L11_ : (~((h4 (e10)) = (e20))) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (e23))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H4e zenon_H4f zenon_H2c.
% 19.63/19.88  cut (((h4 (e10)) = (op2 (e23) (e23))) = ((h4 (e10)) = (e20))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H4e.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H4f.
% 19.63/19.88  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 19.63/19.88  cut (((h4 (e10)) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H50. apply refl_equal.
% 19.63/19.88  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.88  (* end of lemma zenon_L11_ *)
% 19.63/19.88  assert (zenon_L12_ : (~((h4 (e11)) = (e21))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H51 zenon_H52 zenon_H2e.
% 19.63/19.88  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((h4 (e11)) = (e21))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H51.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H52.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 19.63/19.88  cut (((h4 (e11)) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H54].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H54. apply refl_equal.
% 19.63/19.88  apply zenon_H53. apply sym_equal. exact zenon_H2e.
% 19.63/19.88  (* end of lemma zenon_L12_ *)
% 19.63/19.88  assert (zenon_L13_ : (~((e20) = (e20))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H55.
% 19.63/19.88  apply zenon_H55. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L13_ *)
% 19.63/19.88  assert (zenon_L14_ : ((op2 (e20) (e21)) = (e20)) -> ((op2 (e20) (e21)) = (e22)) -> (~((e20) = (e22))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H56 zenon_H57 zenon_H58.
% 19.63/19.88  elim (classic ((e22) = (e22))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 19.63/19.88  cut (((e22) = (e22)) = ((e20) = (e22))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H58.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H59.
% 19.63/19.88  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 19.63/19.88  cut (((e22) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((op2 (e20) (e21)) = (e20)) = ((e22) = (e20))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H5b.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H56.
% 19.63/19.88  cut (((e20) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H5c zenon_H57).
% 19.63/19.88  apply zenon_H55. apply refl_equal.
% 19.63/19.88  apply zenon_H5a. apply refl_equal.
% 19.63/19.88  apply zenon_H5a. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L14_ *)
% 19.63/19.88  assert (zenon_L15_ : (~((e10) = (e10))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H5d.
% 19.63/19.88  apply zenon_H5d. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L15_ *)
% 19.63/19.88  assert (zenon_L16_ : ((op1 (e10) (e11)) = (e10)) -> ((op1 (e10) (e11)) = (e12)) -> (~((e10) = (e12))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H5e zenon_H5f zenon_H60.
% 19.63/19.88  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H61 | zenon_intro zenon_H62 ].
% 19.63/19.88  cut (((e12) = (e12)) = ((e10) = (e12))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H60.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H61.
% 19.63/19.88  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 19.63/19.88  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((op1 (e10) (e11)) = (e10)) = ((e12) = (e10))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H63.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H5e.
% 19.63/19.88  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H64 zenon_H5f).
% 19.63/19.88  apply zenon_H5d. apply refl_equal.
% 19.63/19.88  apply zenon_H62. apply refl_equal.
% 19.63/19.88  apply zenon_H62. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L16_ *)
% 19.63/19.88  assert (zenon_L17_ : (~((h4 (e12)) = (e22))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H65 zenon_H66 zenon_H67.
% 19.63/19.88  cut (((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((h4 (e12)) = (e22))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H65.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H66.
% 19.63/19.88  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 19.63/19.88  cut (((h4 (e12)) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H69. apply refl_equal.
% 19.63/19.88  apply zenon_H68. apply sym_equal. exact zenon_H67.
% 19.63/19.88  (* end of lemma zenon_L17_ *)
% 19.63/19.88  assert (zenon_L18_ : (~((e13) = (e13))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H6a.
% 19.63/19.88  apply zenon_H6a. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L18_ *)
% 19.63/19.88  assert (zenon_L19_ : (~((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H6b zenon_H15.
% 19.63/19.88  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 19.63/19.88  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H6c. apply sym_equal. exact zenon_H15.
% 19.63/19.88  apply zenon_H6a. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L19_ *)
% 19.63/19.88  assert (zenon_L20_ : (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((op1 (e10) (e13)) = (e12)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H6d zenon_H6e zenon_H6f zenon_H15.
% 19.63/19.88  cut (((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H6d.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H6e.
% 19.63/19.88  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.63/19.88  cut (((e12) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e12) = (op1 (e10) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H70.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H26.
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H71 zenon_H6f).
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply (zenon_L19_); trivial.
% 19.63/19.88  (* end of lemma zenon_L20_ *)
% 19.63/19.88  assert (zenon_L21_ : (~((e23) = (e23))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H72.
% 19.63/19.88  apply zenon_H72. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L21_ *)
% 19.63/19.88  assert (zenon_L22_ : (~((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H73 zenon_H2e.
% 19.63/19.88  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H53. apply sym_equal. exact zenon_H2e.
% 19.63/19.88  apply zenon_H72. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L22_ *)
% 19.63/19.88  assert (zenon_L23_ : (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op2 (e20) (e23)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H74 zenon_H67 zenon_H75 zenon_H2e.
% 19.63/19.88  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H74.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H67.
% 19.63/19.88  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 19.63/19.88  cut (((e22) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e22) = (op2 (e20) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H76.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H3f.
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H77 zenon_H75).
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply (zenon_L22_); trivial.
% 19.63/19.88  (* end of lemma zenon_L23_ *)
% 19.63/19.88  assert (zenon_L24_ : (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((op1 (e10) (e11)) = (e10)) -> ((op1 (e10) (e12)) = (e10)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H78 zenon_H5e zenon_H79.
% 19.63/19.88  cut (((op1 (e10) (e11)) = (e10)) = ((op1 (e10) (e11)) = (op1 (e10) (e12)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H78.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H5e.
% 19.63/19.88  cut (((e10) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 19.63/19.88  cut (((op1 (e10) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H19. apply refl_equal.
% 19.63/19.88  apply zenon_H7a. apply sym_equal. exact zenon_H79.
% 19.63/19.88  (* end of lemma zenon_L24_ *)
% 19.63/19.88  assert (zenon_L25_ : (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((op2 (e20) (e21)) = (e20)) -> ((op2 (e20) (e22)) = (e20)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H7b zenon_H56 zenon_H7c.
% 19.63/19.88  cut (((op2 (e20) (e21)) = (e20)) = ((op2 (e20) (e21)) = (op2 (e20) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H7b.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H56.
% 19.63/19.88  cut (((e20) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 19.63/19.88  cut (((op2 (e20) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H32. apply refl_equal.
% 19.63/19.88  apply zenon_H7d. apply sym_equal. exact zenon_H7c.
% 19.63/19.88  (* end of lemma zenon_L25_ *)
% 19.63/19.88  assert (zenon_L26_ : (~((op2 (e20) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e20) (e23)) = (e20)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H7e zenon_H2c zenon_H7f.
% 19.63/19.88  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e20) (e23)) = (op2 (e23) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H7e.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2c.
% 19.63/19.88  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 19.63/19.88  cut (((e20) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e20) (e23)) = (op2 (e20) (e23)))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23))) = ((e20) = (op2 (e20) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H81.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H3f.
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H82 zenon_H7f).
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply zenon_H40. apply refl_equal.
% 19.63/19.88  apply zenon_H80. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L26_ *)
% 19.63/19.88  assert (zenon_L27_ : (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e10) (e13)) = (e10)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H83 zenon_H13 zenon_H84.
% 19.63/19.88  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e10) (e13)) = (op1 (e13) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H83.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H13.
% 19.63/19.88  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.88  cut (((e10) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op1 (e10) (e13)) = (op1 (e10) (e13)))); [ zenon_intro zenon_H26 | zenon_intro zenon_H27 ].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13))) = ((e10) = (op1 (e10) (e13)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H86.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H26.
% 19.63/19.88  cut (((op1 (e10) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 19.63/19.88  cut (((op1 (e10) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H87].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H87 zenon_H84).
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply zenon_H27. apply refl_equal.
% 19.63/19.88  apply zenon_H85. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L27_ *)
% 19.63/19.88  assert (zenon_L28_ : (~((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))) -> ((op1 (e10) (e13)) = (e13)) -> ((op2 (e20) (e23)) = (e23)) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H88 zenon_H89 zenon_H8a zenon_H4f zenon_H2c zenon_H8b.
% 19.63/19.88  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H88.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H8b.
% 19.63/19.88  cut (((e23) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8c].
% 19.63/19.88  cut (((h4 (e13)) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 19.63/19.88  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13)))) = ((h4 (e13)) = (h4 (op1 (e10) (e13))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H8d.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H8e.
% 19.63/19.88  cut (((h4 (op1 (e10) (e13))) = (h4 (op1 (e10) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 19.63/19.88  cut (((h4 (op1 (e10) (e13))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((op1 (e10) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_H91 zenon_H89).
% 19.63/19.88  apply zenon_H8f. apply refl_equal.
% 19.63/19.88  apply zenon_H8f. apply refl_equal.
% 19.63/19.88  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ].
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((e23) = (op2 (h4 (e10)) (h4 (e13))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H8c.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H92.
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((op2 (e20) (e23)) = (e23)) = ((op2 (h4 (e10)) (h4 (e13))) = (e23))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H94.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H8a.
% 19.63/19.88  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.63/19.88  cut (((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [ zenon_intro zenon_H92 | zenon_intro zenon_H93 ].
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13)))) = ((op2 (e20) (e23)) = (op2 (h4 (e10)) (h4 (e13))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H95.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H92.
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (h4 (e10)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 19.63/19.88  cut (((op2 (h4 (e10)) (h4 (e13))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H96].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 19.63/19.88  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.63/19.88  congruence.
% 19.63/19.88  apply (zenon_L11_); trivial.
% 19.63/19.88  exact (zenon_H97 zenon_H8b).
% 19.63/19.88  apply zenon_H93. apply refl_equal.
% 19.63/19.88  apply zenon_H93. apply refl_equal.
% 19.63/19.88  apply zenon_H72. apply refl_equal.
% 19.63/19.88  apply zenon_H93. apply refl_equal.
% 19.63/19.88  apply zenon_H93. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L28_ *)
% 19.63/19.88  assert (zenon_L29_ : (((op1 (e10) (e13)) = (e10))\/(((op1 (e10) (e13)) = (e11))\/(((op1 (e10) (e13)) = (e12))\/((op1 (e10) (e13)) = (e13))))) -> (~((op1 (e10) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((h4 (op1 (e10) (e13))) = (op2 (h4 (e10)) (h4 (e13))))) -> ((op2 (e20) (e23)) = (e23)) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((e20) = (op2 (e23) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H98 zenon_H83 zenon_H25 zenon_H13 zenon_H15 zenon_H6e zenon_H6d zenon_H88 zenon_H8a zenon_H4f zenon_H2c zenon_H8b.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H98); [ zenon_intro zenon_H84 | zenon_intro zenon_H99 ].
% 19.63/19.88  apply (zenon_L27_); trivial.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H99); [ zenon_intro zenon_H24 | zenon_intro zenon_H9a ].
% 19.63/19.88  apply (zenon_L4_); trivial.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H9a); [ zenon_intro zenon_H6f | zenon_intro zenon_H89 ].
% 19.63/19.88  apply (zenon_L20_); trivial.
% 19.63/19.88  apply (zenon_L28_); trivial.
% 19.63/19.88  (* end of lemma zenon_L29_ *)
% 19.63/19.88  assert (zenon_L30_ : ((~((op2 (e20) (e20)) = (e21)))\/((op2 (e20) (e21)) = (e20))) -> ((op2 (e20) (e20)) = (e20)) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H9b zenon_H9c zenon_H30 zenon_H2e zenon_H2c zenon_H37 zenon_H3e zenon_H44.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.63/19.88  apply (zenon_L9_); trivial.
% 19.63/19.88  cut (((op2 (e20) (e20)) = (e20)) = ((op2 (e20) (e20)) = (op2 (e20) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_H30.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H9c.
% 19.63/19.88  cut (((e20) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 19.63/19.88  cut (((op2 (e20) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_H9e. apply refl_equal.
% 19.63/19.88  apply zenon_H9d. apply sym_equal. exact zenon_H56.
% 19.63/19.88  (* end of lemma zenon_L30_ *)
% 19.63/19.88  assert (zenon_L31_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e23) (e20)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2e zenon_H9f zenon_H2c zenon_Ha0.
% 19.63/19.88  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha2 ].
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((op2 (e20) (e20)) = (op2 (e23) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha0.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Ha1.
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e23) (e20)) = (op2 (e20) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha3.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  cut (((e21) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha4].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha2 ].
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e21) = (op2 (e23) (e20)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha4.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Ha1.
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 19.63/19.88  cut (((op2 (e23) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_Ha5 zenon_H9f).
% 19.63/19.88  apply zenon_Ha2. apply refl_equal.
% 19.63/19.88  apply zenon_Ha2. apply refl_equal.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_Ha2. apply refl_equal.
% 19.63/19.88  apply zenon_Ha2. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L31_ *)
% 19.63/19.88  assert (zenon_L32_ : (~((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e21) (e21)))) -> ((op2 (e20) (e20)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e21) (e21)) = (e21)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Ha6 zenon_H47 zenon_H2c zenon_Ha7.
% 19.63/19.88  cut (((op2 (e20) (e20)) = (e21)) = ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e21) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha6.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H47.
% 19.63/19.88  cut (((e21) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 19.63/19.88  cut (((op2 (e20) (e20)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e20) (e20)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha9.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Haa.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  congruence.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Ha8. apply sym_equal. exact zenon_Ha7.
% 19.63/19.88  (* end of lemma zenon_L32_ *)
% 19.63/19.88  assert (zenon_L33_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e23) (e21)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e21) (e21)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_H2e zenon_Hac zenon_H47 zenon_Ha7 zenon_H2c zenon_Had.
% 19.63/19.88  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_Hae | zenon_intro zenon_Haf ].
% 19.63/19.88  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((op2 (e21) (e21)) = (op2 (e23) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Had.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Hae.
% 19.63/19.88  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 19.63/19.88  cut (((op2 (e23) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb0].
% 19.63/19.88  congruence.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e23) (e21)) = (op2 (e21) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hb0.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 19.63/19.88  cut (((e21) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e23) (e21)) = (op2 (e23) (e21)))); [ zenon_intro zenon_Hae | zenon_intro zenon_Haf ].
% 19.63/19.88  cut (((op2 (e23) (e21)) = (op2 (e23) (e21))) = ((e21) = (op2 (e23) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hb1.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Hae.
% 19.63/19.88  cut (((op2 (e23) (e21)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 19.63/19.88  cut (((op2 (e23) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_Hb2 zenon_Hac).
% 19.63/19.88  apply zenon_Haf. apply refl_equal.
% 19.63/19.88  apply zenon_Haf. apply refl_equal.
% 19.63/19.88  apply (zenon_L32_); trivial.
% 19.63/19.88  apply zenon_Haf. apply refl_equal.
% 19.63/19.88  apply zenon_Haf. apply refl_equal.
% 19.63/19.88  (* end of lemma zenon_L33_ *)
% 19.63/19.88  assert (zenon_L34_ : (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((op2 (e21) (e21)) = (e21)) -> ((op2 (e21) (e23)) = (e21)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hb3 zenon_Ha7 zenon_Hb4.
% 19.63/19.88  cut (((op2 (e21) (e21)) = (e21)) = ((op2 (e21) (e21)) = (op2 (e21) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hb3.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Ha7.
% 19.63/19.88  cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 19.63/19.88  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_Hb6. apply refl_equal.
% 19.63/19.88  apply zenon_Hb5. apply sym_equal. exact zenon_Hb4.
% 19.63/19.88  (* end of lemma zenon_L34_ *)
% 19.63/19.88  assert (zenon_L35_ : (~((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e22) (e23)))) -> ((op2 (e20) (e20)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e22) (e23)) = (e21)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hb7 zenon_H47 zenon_H2c zenon_Hb8.
% 19.63/19.88  cut (((op2 (e20) (e20)) = (e21)) = ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e22) (e23)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hb7.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H47.
% 19.63/19.88  cut (((e21) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 19.63/19.88  cut (((op2 (e20) (e20)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e20) (e20)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Ha9.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Haa.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.88  congruence.
% 19.63/19.88  apply (zenon_L5_); trivial.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Hb9. apply sym_equal. exact zenon_Hb8.
% 19.63/19.88  (* end of lemma zenon_L35_ *)
% 19.63/19.88  assert (zenon_L36_ : (~((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e23) (e22)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e23) (e22)) = (e21)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hba zenon_H2c zenon_Hb8 zenon_H47 zenon_Hbb.
% 19.63/19.88  cut (((op2 (e22) (e23)) = (e21)) = ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e23) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hba.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Hb8.
% 19.63/19.88  cut (((e21) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 19.63/19.88  cut (((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e22) (e23)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hbd.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Haa.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 19.63/19.88  congruence.
% 19.63/19.88  apply (zenon_L35_); trivial.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Hab. apply refl_equal.
% 19.63/19.88  apply zenon_Hbc. apply sym_equal. exact zenon_Hbb.
% 19.63/19.88  (* end of lemma zenon_L36_ *)
% 19.63/19.88  assert (zenon_L37_ : (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e22) (e22)) = (e21)) -> ((op2 (e23) (e22)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hbe zenon_H2e zenon_Hbf zenon_Hbb zenon_H2c zenon_Hb8 zenon_H47.
% 19.63/19.88  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e22) (e22)) = (op2 (e23) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hbe.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_H2e.
% 19.63/19.88  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 19.63/19.88  cut (((e21) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 19.63/19.88  congruence.
% 19.63/19.88  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hc2 ].
% 19.63/19.88  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((e21) = (op2 (e22) (e22)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hc0.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Hc1.
% 19.63/19.88  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 19.63/19.88  cut (((op2 (e22) (e22)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 19.63/19.88  congruence.
% 19.63/19.88  exact (zenon_Hc3 zenon_Hbf).
% 19.63/19.88  apply zenon_Hc2. apply refl_equal.
% 19.63/19.88  apply zenon_Hc2. apply refl_equal.
% 19.63/19.88  apply (zenon_L36_); trivial.
% 19.63/19.88  (* end of lemma zenon_L37_ *)
% 19.63/19.88  assert (zenon_L38_ : (((op2 (e22) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e22) (e22)) = (e23))))) -> (~((op2 (e22) (e22)) = (e20))) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e22) (e23)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e23) (e22)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e22))) -> (~((op2 (e22) (e22)) = (e23))) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hc4 zenon_Hc5 zenon_H47 zenon_Hb8 zenon_H2c zenon_Hbb zenon_H2e zenon_Hbe zenon_Hc6 zenon_Hc7.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hc8 ].
% 19.63/19.88  exact (zenon_Hc5 zenon_Hc9).
% 19.63/19.88  apply (zenon_or_s _ _ zenon_Hc8); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hca ].
% 19.63/19.88  apply (zenon_L37_); trivial.
% 19.63/19.88  apply (zenon_or_s _ _ zenon_Hca); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hcb ].
% 19.63/19.88  exact (zenon_Hc6 zenon_Hcc).
% 19.63/19.88  exact (zenon_Hc7 zenon_Hcb).
% 19.63/19.88  (* end of lemma zenon_L38_ *)
% 19.63/19.88  assert (zenon_L39_ : (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((op2 (e23) (e20)) = (e23)) -> ((op2 (e23) (e21)) = (e23)) -> False).
% 19.63/19.88  do 0 intro. intros zenon_Hcd zenon_Hce zenon_Hcf.
% 19.63/19.88  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (e23) (e20)) = (op2 (e23) (e21)))).
% 19.63/19.88  intro zenon_D_pnotp.
% 19.63/19.88  apply zenon_Hcd.
% 19.63/19.88  rewrite <- zenon_D_pnotp.
% 19.63/19.88  exact zenon_Hce.
% 19.63/19.88  cut (((e23) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 19.63/19.88  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 19.63/19.88  congruence.
% 19.63/19.88  apply zenon_Ha2. apply refl_equal.
% 19.63/19.88  apply zenon_Hd0. apply sym_equal. exact zenon_Hcf.
% 19.63/19.88  (* end of lemma zenon_L39_ *)
% 19.63/19.88  assert (zenon_L40_ : ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op2 (e22) (e23)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H67 zenon_Hd1 zenon_H2e zenon_Hd2.
% 19.63/19.89  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e21) (e23)) = (op2 (e22) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hd2.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hd3.
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e22) (e23)) = (op2 (e21) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hd5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H67.
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 19.63/19.89  cut (((e22) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e22) = (op2 (e22) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hd6.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hd3.
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_Hd7 zenon_Hd1).
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply (zenon_L22_); trivial.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L40_ *)
% 19.63/19.89  assert (zenon_L41_ : ((~((op2 (e22) (e22)) = (e23)))\/((op2 (e22) (e23)) = (e22))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> ((~((op2 (e23) (e23)) = (e21)))\/((op2 (e23) (e21)) = (e23))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> (((op2 (e23) (e20)) = (e21))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e22)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (((op2 (e22) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e22) (e22)) = (e23))))) -> (~((op2 (e22) (e22)) = (e22))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (~((op2 (e22) (e22)) = (e20))) -> (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> ((op2 (e21) (e21)) = (e21)) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> ((~((op2 (e23) (e23)) = (e20)))\/((op2 (e23) (e20)) = (e23))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hd8 zenon_H67 zenon_Hd2 zenon_H2c zenon_Hd9 zenon_Hcd zenon_Hda zenon_H3e zenon_Hb3 zenon_Hc4 zenon_Hc6 zenon_Hbe zenon_Hc5 zenon_Hdb zenon_Ha7 zenon_Had zenon_H2e zenon_Ha0 zenon_H30 zenon_H37 zenon_H44 zenon_Hdc.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hd8); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hd1 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_H2d | zenon_intro zenon_Hce ].
% 19.63/19.89  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hd9); [ zenon_intro zenon_Hdd | zenon_intro zenon_Hcf ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H44); [ zenon_intro zenon_H47 | zenon_intro zenon_H46 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_H9f | zenon_intro zenon_Hde ].
% 19.63/19.89  apply (zenon_L31_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hde); [ zenon_intro zenon_Hac | zenon_intro zenon_Hdf ].
% 19.63/19.89  apply (zenon_L33_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hdf); [ zenon_intro zenon_Hbb | zenon_intro zenon_He0 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_H3d | zenon_intro zenon_He1 ].
% 19.63/19.89  apply (zenon_L8_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hb4 | zenon_intro zenon_He2 ].
% 19.63/19.89  apply (zenon_L34_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hb8 | zenon_intro zenon_He0 ].
% 19.63/19.89  apply (zenon_L38_); trivial.
% 19.63/19.89  exact (zenon_Hdd zenon_He0).
% 19.63/19.89  exact (zenon_Hdd zenon_He0).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H46); [ zenon_intro zenon_H2f | zenon_intro zenon_H48 ].
% 19.63/19.89  apply (zenon_L6_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H48); [ zenon_intro zenon_H36 | zenon_intro zenon_H3d ].
% 19.63/19.89  apply (zenon_L7_); trivial.
% 19.63/19.89  apply (zenon_L8_); trivial.
% 19.63/19.89  apply (zenon_L39_); trivial.
% 19.63/19.89  apply (zenon_L40_); trivial.
% 19.63/19.89  (* end of lemma zenon_L41_ *)
% 19.63/19.89  assert (zenon_L42_ : ((op2 (e22) (e22)) = (e22)) -> ((op2 (e20) (e22)) = (e22)) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hcc zenon_He3 zenon_He4.
% 19.63/19.89  elim (classic ((op2 (e22) (e22)) = (op2 (e22) (e22)))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hc2 ].
% 19.63/19.89  cut (((op2 (e22) (e22)) = (op2 (e22) (e22))) = ((op2 (e20) (e22)) = (op2 (e22) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_He4.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hc1.
% 19.63/19.89  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 19.63/19.89  cut (((op2 (e22) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He5].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((op2 (e22) (e22)) = (e22)) = ((op2 (e22) (e22)) = (op2 (e20) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_He5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hcc.
% 19.63/19.89  cut (((e22) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 19.63/19.89  cut (((op2 (e22) (e22)) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_Hc2. apply refl_equal.
% 19.63/19.89  apply zenon_He6. apply sym_equal. exact zenon_He3.
% 19.63/19.89  apply zenon_Hc2. apply refl_equal.
% 19.63/19.89  apply zenon_Hc2. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L42_ *)
% 19.63/19.89  assert (zenon_L43_ : ((~((op2 (e20) (e20)) = (e21)))\/((op2 (e20) (e21)) = (e20))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((op2 (e22) (e22)) = (e22)) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (~((e20) = (e22))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> ((~((op2 (e20) (e20)) = (e22)))\/((op2 (e20) (e22)) = (e20))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H9b zenon_He7 zenon_H67 zenon_H74 zenon_Hcc zenon_He4 zenon_H58 zenon_H7b zenon_He8 zenon_H30 zenon_H2e zenon_H2c zenon_H37 zenon_H3e zenon_H44.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.63/19.89  apply (zenon_L9_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He8); [ zenon_intro zenon_He9 | zenon_intro zenon_H7c ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He7); [ zenon_intro zenon_Heb | zenon_intro zenon_Hea ].
% 19.63/19.89  exact (zenon_He9 zenon_Heb).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hea); [ zenon_intro zenon_H57 | zenon_intro zenon_Hec ].
% 19.63/19.89  apply (zenon_L14_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hec); [ zenon_intro zenon_He3 | zenon_intro zenon_H75 ].
% 19.63/19.89  apply (zenon_L42_); trivial.
% 19.63/19.89  apply (zenon_L23_); trivial.
% 19.63/19.89  apply (zenon_L25_); trivial.
% 19.63/19.89  (* end of lemma zenon_L43_ *)
% 19.63/19.89  assert (zenon_L44_ : ((~((op2 (e22) (e22)) = (e22)))\/((op2 (e22) (e22)) = (e22))) -> ((~((op2 (e20) (e20)) = (e22)))\/((op2 (e20) (e22)) = (e20))) -> (~((op2 (e20) (e21)) = (op2 (e20) (e22)))) -> (~((e20) = (e22))) -> (~((op2 (e20) (e22)) = (op2 (e22) (e22)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (((op2 (e20) (e20)) = (e22))\/(((op2 (e20) (e21)) = (e22))\/(((op2 (e20) (e22)) = (e22))\/((op2 (e20) (e23)) = (e22))))) -> ((~((op2 (e20) (e20)) = (e21)))\/((op2 (e20) (e21)) = (e20))) -> ((~((op2 (e23) (e23)) = (e20)))\/((op2 (e23) (e20)) = (e23))) -> (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e23) (e20)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e21)) = (e21)) -> (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e22) (e22)) = (e20))) -> (~((op2 (e22) (e22)) = (op2 (e23) (e22)))) -> (((op2 (e22) (e22)) = (e20))\/(((op2 (e22) (e22)) = (e21))\/(((op2 (e22) (e22)) = (e22))\/((op2 (e22) (e22)) = (e23))))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e23) (e20)) = (e21))\/(((op2 (e23) (e21)) = (e21))\/(((op2 (e23) (e22)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e21)))) -> ((~((op2 (e23) (e23)) = (e21)))\/((op2 (e23) (e21)) = (e23))) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((~((op2 (e22) (e22)) = (e23)))\/((op2 (e22) (e23)) = (e22))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hed zenon_He8 zenon_H7b zenon_H58 zenon_He4 zenon_H74 zenon_He7 zenon_H9b zenon_Hdc zenon_H44 zenon_H37 zenon_H30 zenon_Ha0 zenon_H2e zenon_Had zenon_Ha7 zenon_Hdb zenon_Hc5 zenon_Hbe zenon_Hc4 zenon_Hb3 zenon_H3e zenon_Hda zenon_Hcd zenon_Hd9 zenon_H2c zenon_Hd2 zenon_H67 zenon_Hd8.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hed); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hcc ].
% 19.63/19.89  apply (zenon_L41_); trivial.
% 19.63/19.89  apply (zenon_L43_); trivial.
% 19.63/19.89  (* end of lemma zenon_L44_ *)
% 19.63/19.89  assert (zenon_L45_ : ((~((op1 (e10) (e10)) = (e11)))\/((op1 (e10) (e11)) = (e10))) -> ((op1 (e10) (e10)) = (e10)) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hee zenon_Hef zenon_H17 zenon_H15 zenon_H13 zenon_H1e zenon_H25 zenon_H49.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.63/19.89  apply (zenon_L10_); trivial.
% 19.63/19.89  cut (((op1 (e10) (e10)) = (e10)) = ((op1 (e10) (e10)) = (op1 (e10) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H17.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hef.
% 19.63/19.89  cut (((e10) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 19.63/19.89  cut (((op1 (e10) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_Hf1].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_Hf1. apply refl_equal.
% 19.63/19.89  apply zenon_Hf0. apply sym_equal. exact zenon_H5e.
% 19.63/19.89  (* end of lemma zenon_L45_ *)
% 19.63/19.89  assert (zenon_L46_ : (~((e12) = (e12))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H62.
% 19.63/19.89  apply zenon_H62. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L46_ *)
% 19.63/19.89  assert (zenon_L47_ : (~((e10) = (e12))) -> ((op1 (e12) (e10)) = (e12)) -> ((op1 (e12) (e10)) = (e10)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H60 zenon_Hf2 zenon_Hf3.
% 19.63/19.89  cut (((op1 (e12) (e10)) = (e12)) = ((e10) = (e12))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H60.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hf2.
% 19.63/19.89  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 19.63/19.89  cut (((op1 (e12) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hf4].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_Hf4 zenon_Hf3).
% 19.63/19.89  apply zenon_H62. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L47_ *)
% 19.63/19.89  assert (zenon_L48_ : (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e13) (e11)) = (e10)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hf5 zenon_H13 zenon_Hf6.
% 19.63/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e13) (e11)) = (op1 (e13) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hf5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.89  cut (((e10) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf7].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hf9 ].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e10) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hf7.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hf8.
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf9].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hfa].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_Hfa zenon_Hf6).
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L48_ *)
% 19.63/19.89  assert (zenon_L49_ : (~((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e11) (e11)))) -> ((op1 (e10) (e10)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e11) (e11)) = (e11)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hfb zenon_H4c zenon_H13 zenon_Hfc.
% 19.63/19.89  cut (((op1 (e10) (e10)) = (e11)) = ((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e11) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hfb.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H4c.
% 19.63/19.89  cut (((e11) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 19.63/19.89  cut (((op1 (e10) (e10)) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_Hfe].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13))))); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ].
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e10) (e10)) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13))))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hfe.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hff.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.63/19.89  congruence.
% 19.63/19.89  apply (zenon_L1_); trivial.
% 19.63/19.89  apply zenon_H100. apply refl_equal.
% 19.63/19.89  apply zenon_H100. apply refl_equal.
% 19.63/19.89  apply zenon_Hfd. apply sym_equal. exact zenon_Hfc.
% 19.63/19.89  (* end of lemma zenon_L49_ *)
% 19.63/19.89  assert (zenon_L50_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e13) (e11)) = (e11)) -> ((op1 (e10) (e10)) = (e11)) -> ((op1 (e11) (e11)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H15 zenon_H101 zenon_H4c zenon_Hfc zenon_H13 zenon_H102.
% 19.63/19.89  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hf9 ].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((op1 (e11) (e11)) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H102.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hf8.
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf9].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e13) (e11)) = (op1 (e11) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H103.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 19.63/19.89  cut (((e11) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e13) (e11)) = (op1 (e13) (e11)))); [ zenon_intro zenon_Hf8 | zenon_intro zenon_Hf9 ].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11))) = ((e11) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H104.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hf8.
% 19.63/19.89  cut (((op1 (e13) (e11)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf9].
% 19.63/19.89  cut (((op1 (e13) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H105].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H105 zenon_H101).
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  apply (zenon_L49_); trivial.
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  apply zenon_Hf9. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L50_ *)
% 19.63/19.89  assert (zenon_L51_ : (~((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e13)) = (e12)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e13) (e11)) = (e12)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H106 zenon_H107 zenon_H15 zenon_H108.
% 19.63/19.89  cut (((op1 (e11) (e13)) = (e12)) = ((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H106.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H107.
% 19.63/19.89  cut (((e12) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H10c ].
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e11) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H10a.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H10b.
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.63/19.89  congruence.
% 19.63/19.89  apply (zenon_L19_); trivial.
% 19.63/19.89  apply zenon_H10c. apply refl_equal.
% 19.63/19.89  apply zenon_H10c. apply refl_equal.
% 19.63/19.89  apply zenon_H109. apply sym_equal. exact zenon_H108.
% 19.63/19.89  (* end of lemma zenon_L51_ *)
% 19.63/19.89  assert (zenon_L52_ : (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e13) (e11)) = (e12)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H10d zenon_H6e zenon_H10e zenon_H107 zenon_H108 zenon_H15.
% 19.63/19.89  cut (((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e12) (e11)) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H10d.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H6e.
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 19.63/19.89  cut (((e12) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e12) = (op1 (e12) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H10f.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H110.
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H112].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H112 zenon_H10e).
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  apply (zenon_L51_); trivial.
% 19.63/19.89  (* end of lemma zenon_L52_ *)
% 19.63/19.89  assert (zenon_L53_ : (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e10)) = (e13)) -> ((op1 (e13) (e11)) = (e13)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H113 zenon_H114 zenon_H115.
% 19.63/19.89  cut (((op1 (e13) (e10)) = (e13)) = ((op1 (e13) (e10)) = (op1 (e13) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H113.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H114.
% 19.63/19.89  cut (((e13) = (op1 (e13) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H116].
% 19.63/19.89  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H117. apply refl_equal.
% 19.63/19.89  apply zenon_H116. apply sym_equal. exact zenon_H115.
% 19.63/19.89  (* end of lemma zenon_L53_ *)
% 19.63/19.89  assert (zenon_L54_ : (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e11) (e11)) = (e11)) -> ((op1 (e10) (e10)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e11) (e13)) = (e12)) -> ((op1 (e12) (e11)) = (e12)) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e10)) = (e13)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H118 zenon_Hf5 zenon_H102 zenon_H13 zenon_Hfc zenon_H4c zenon_H15 zenon_H107 zenon_H10e zenon_H6e zenon_H10d zenon_H113 zenon_H114.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_Hf6 | zenon_intro zenon_H119 ].
% 19.63/19.89  apply (zenon_L48_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H101 | zenon_intro zenon_H11a ].
% 19.63/19.89  apply (zenon_L50_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H108 | zenon_intro zenon_H115 ].
% 19.63/19.89  apply (zenon_L52_); trivial.
% 19.63/19.89  apply (zenon_L53_); trivial.
% 19.63/19.89  (* end of lemma zenon_L54_ *)
% 19.63/19.89  assert (zenon_L55_ : ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((op1 (e12) (e13)) = (e12)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H6e zenon_H11b zenon_H15 zenon_H11c.
% 19.63/19.89  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H11d | zenon_intro zenon_H11e ].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e11) (e13)) = (op1 (e12) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H11c.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H11d.
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e12) (e13)) = (op1 (e11) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H11f.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H6e.
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.63/19.89  cut (((e12) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H11d | zenon_intro zenon_H11e ].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e12) = (op1 (e12) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H120.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H11d.
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H121 zenon_H11b).
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply (zenon_L19_); trivial.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L55_ *)
% 19.63/19.89  assert (zenon_L56_ : (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e13) (e10)) = (e13)) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e12) (e11)) = (e12)) -> ((op1 (e10) (e10)) = (e11)) -> ((op1 (e11) (e11)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e13) (e13)) = (e12))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H122 zenon_H6d zenon_H114 zenon_H113 zenon_H10d zenon_H10e zenon_H4c zenon_Hfc zenon_H13 zenon_H102 zenon_Hf5 zenon_H118 zenon_H11c zenon_H15 zenon_H6e zenon_H123.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H6f | zenon_intro zenon_H124 ].
% 19.63/19.89  apply (zenon_L20_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H107 | zenon_intro zenon_H125 ].
% 19.63/19.89  apply (zenon_L54_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H125); [ zenon_intro zenon_H11b | zenon_intro zenon_H126 ].
% 19.63/19.89  apply (zenon_L55_); trivial.
% 19.63/19.89  exact (zenon_H123 zenon_H126).
% 19.63/19.89  (* end of lemma zenon_L56_ *)
% 19.63/19.89  assert (zenon_L57_ : (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e12) (e12)) = (e12))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e13) (e10)) = (e13)) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e13)) = (e12))) -> (~((e10) = (e12))) -> ((op1 (e12) (e10)) = (e10)) -> (((op1 (e12) (e10)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e12) (e13)) = (e12))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H49 zenon_H11c zenon_H6e zenon_H127 zenon_H122 zenon_H6d zenon_H114 zenon_H113 zenon_H10d zenon_Hfc zenon_H102 zenon_Hf5 zenon_H118 zenon_H123 zenon_H60 zenon_Hf3 zenon_H128 zenon_H17 zenon_H1e zenon_H15 zenon_H13 zenon_H25.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H128); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H129 ].
% 19.63/19.89  apply (zenon_L47_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H129); [ zenon_intro zenon_H10e | zenon_intro zenon_H12a ].
% 19.63/19.89  apply (zenon_L56_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H12a); [ zenon_intro zenon_H12b | zenon_intro zenon_H11b ].
% 19.63/19.89  exact (zenon_H127 zenon_H12b).
% 19.63/19.89  apply (zenon_L55_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.63/19.89  apply (zenon_L2_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.63/19.89  apply (zenon_L3_); trivial.
% 19.63/19.89  apply (zenon_L4_); trivial.
% 19.63/19.89  (* end of lemma zenon_L57_ *)
% 19.63/19.89  assert (zenon_L58_ : ((e10) = (op1 (e13) (e13))) -> ((op1 (e11) (e10)) = (e10)) -> (~((op1 (e13) (e13)) = (op1 (e11) (e10)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H13 zenon_H12c zenon_H12d.
% 19.63/19.89  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((op1 (e13) (e13)) = (op1 (e11) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H12d.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12e.
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H130].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H130.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.89  cut (((e10) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e10) = (op1 (e11) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H131.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12e.
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H132].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H132 zenon_H12c).
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L58_ *)
% 19.63/19.89  assert (zenon_L59_ : (~((op1 (e13) (e13)) = (op1 (e10) (e11)))) -> ((op1 (e11) (e10)) = (e10)) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e10) (e11)) = (e10)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H133 zenon_H12c zenon_H13 zenon_H5e.
% 19.63/19.89  cut (((op1 (e11) (e10)) = (e10)) = ((op1 (e13) (e13)) = (op1 (e10) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H133.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12c.
% 19.63/19.89  cut (((e10) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H130].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H134 | zenon_intro zenon_H85 ].
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((op1 (e11) (e10)) = (op1 (e13) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H130.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H134.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 19.63/19.89  congruence.
% 19.63/19.89  apply (zenon_L58_); trivial.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  apply zenon_Hf0. apply sym_equal. exact zenon_H5e.
% 19.63/19.89  (* end of lemma zenon_L59_ *)
% 19.63/19.89  assert (zenon_L60_ : ((op1 (e12) (e11)) = (e10)) -> ((op1 (e10) (e11)) = (e10)) -> ((op1 (e11) (e10)) = (e10)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H135 zenon_H5e zenon_H12c zenon_H13 zenon_H136.
% 19.63/19.89  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e10) (e11)) = (op1 (e12) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H136.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H110.
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e12) (e11)) = (op1 (e10) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H137.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 19.63/19.89  cut (((e10) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H138].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e10) = (op1 (e12) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H138.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H110.
% 19.63/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 19.63/19.89  cut (((op1 (e12) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H139 zenon_H135).
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  apply (zenon_L59_); trivial.
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  apply zenon_H111. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L60_ *)
% 19.63/19.89  assert (zenon_L61_ : (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e12) (e13)) = (e10)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H13a zenon_H13 zenon_H13b.
% 19.63/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e12) (e13)) = (op1 (e13) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H13a.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.89  cut (((e10) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H11d | zenon_intro zenon_H11e ].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e10) = (op1 (e12) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H13c.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H11d.
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H13d zenon_H13b).
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L61_ *)
% 19.63/19.89  assert (zenon_L62_ : (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e13) (e10)) = (e10)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H13e zenon_H13 zenon_H13f.
% 19.63/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e13) (e10)) = (op1 (e13) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H13e.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 19.63/19.89  cut (((e10) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H141 | zenon_intro zenon_H117 ].
% 19.63/19.89  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e10) = (op1 (e13) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H140.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H141.
% 19.63/19.89  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 19.63/19.89  cut (((op1 (e13) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H142].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H142 zenon_H13f).
% 19.63/19.89  apply zenon_H117. apply refl_equal.
% 19.63/19.89  apply zenon_H117. apply refl_equal.
% 19.63/19.89  apply zenon_H85. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L62_ *)
% 19.63/19.89  assert (zenon_L63_ : (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((op1 (e13) (e10)) = (e13)) -> ((op1 (e13) (e12)) = (e13)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H143 zenon_H114 zenon_H144.
% 19.63/19.89  cut (((op1 (e13) (e10)) = (e13)) = ((op1 (e13) (e10)) = (op1 (e13) (e12)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H143.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H114.
% 19.63/19.89  cut (((e13) = (op1 (e13) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H145].
% 19.63/19.89  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H117. apply refl_equal.
% 19.63/19.89  apply zenon_H145. apply sym_equal. exact zenon_H144.
% 19.63/19.89  (* end of lemma zenon_L63_ *)
% 19.63/19.89  assert (zenon_L64_ : ((op1 (e12) (e12)) = (e12)) -> ((op1 (e10) (e12)) = (e12)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H12b zenon_H146 zenon_H147.
% 19.63/19.89  elim (classic ((op1 (e12) (e12)) = (op1 (e12) (e12)))); [ zenon_intro zenon_H148 | zenon_intro zenon_H149 ].
% 19.63/19.89  cut (((op1 (e12) (e12)) = (op1 (e12) (e12))) = ((op1 (e10) (e12)) = (op1 (e12) (e12)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H147.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H148.
% 19.63/19.89  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 19.63/19.89  cut (((op1 (e12) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H14a].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((op1 (e12) (e12)) = (e12)) = ((op1 (e12) (e12)) = (op1 (e10) (e12)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H14a.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12b.
% 19.63/19.89  cut (((e12) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 19.63/19.89  cut (((op1 (e12) (e12)) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H149. apply refl_equal.
% 19.63/19.89  apply zenon_H14b. apply sym_equal. exact zenon_H146.
% 19.63/19.89  apply zenon_H149. apply refl_equal.
% 19.63/19.89  apply zenon_H149. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L64_ *)
% 19.63/19.89  assert (zenon_L65_ : (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> (~((op1 (e10) (e10)) = (e12))) -> (~((e10) = (e12))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H14c zenon_H14d zenon_H60 zenon_H5e zenon_H147 zenon_H12b zenon_H6d zenon_H6e zenon_H15.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H14c); [ zenon_intro zenon_H14f | zenon_intro zenon_H14e ].
% 19.63/19.89  exact (zenon_H14d zenon_H14f).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H14e); [ zenon_intro zenon_H5f | zenon_intro zenon_H150 ].
% 19.63/19.89  apply (zenon_L16_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H150); [ zenon_intro zenon_H146 | zenon_intro zenon_H6f ].
% 19.63/19.89  apply (zenon_L64_); trivial.
% 19.63/19.89  apply (zenon_L20_); trivial.
% 19.63/19.89  (* end of lemma zenon_L65_ *)
% 19.63/19.89  assert (zenon_L66_ : ((~((op1 (e10) (e10)) = (e11)))\/((op1 (e10) (e11)) = (e10))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((op1 (e12) (e12)) = (e12)) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (~((e10) = (e12))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> ((~((op1 (e10) (e10)) = (e12)))\/((op1 (e10) (e12)) = (e10))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hee zenon_H14c zenon_H6e zenon_H6d zenon_H12b zenon_H147 zenon_H60 zenon_H78 zenon_H151 zenon_H17 zenon_H15 zenon_H13 zenon_H1e zenon_H25 zenon_H49.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.63/19.89  apply (zenon_L10_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H151); [ zenon_intro zenon_H14d | zenon_intro zenon_H79 ].
% 19.63/19.89  apply (zenon_L65_); trivial.
% 19.63/19.89  apply (zenon_L24_); trivial.
% 19.63/19.89  (* end of lemma zenon_L66_ *)
% 19.63/19.89  assert (zenon_L67_ : ((~((op1 (e12) (e12)) = (e12)))\/((op1 (e12) (e12)) = (e12))) -> ((~((op1 (e10) (e10)) = (e12)))\/((op1 (e10) (e12)) = (e10))) -> (~((op1 (e10) (e11)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e12) (e12)))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> ((~((op1 (e10) (e10)) = (e11)))\/((op1 (e10) (e11)) = (e10))) -> ((e10) = (op1 (e13) (e13))) -> ((~((op1 (e13) (e13)) = (e12)))\/((op1 (e13) (e12)) = (e13))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> (~((op1 (e10) (e10)) = (e10))) -> (((op1 (e12) (e10)) = (e10))\/(((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e12)) = (e10))\/((op1 (e12) (e13)) = (e10))))) -> (~((op1 (e12) (e13)) = (op1 (e13) (e13)))) -> (~((op1 (e12) (e12)) = (e10))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e10)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e12) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((e10) = (e12))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> ((~((op1 (e13) (e13)) = (e10)))\/((op1 (e13) (e10)) = (e13))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H152 zenon_H151 zenon_H78 zenon_H147 zenon_H14c zenon_Hee zenon_H13 zenon_H153 zenon_H143 zenon_H154 zenon_H155 zenon_H13a zenon_H156 zenon_H5e zenon_H136 zenon_H128 zenon_H6d zenon_H6e zenon_H15 zenon_H118 zenon_H113 zenon_H10d zenon_Hfc zenon_H102 zenon_Hf5 zenon_H11c zenon_H122 zenon_H60 zenon_H17 zenon_H1e zenon_H25 zenon_H49 zenon_H13e zenon_H157 zenon_H158.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H152); [ zenon_intro zenon_H127 | zenon_intro zenon_H12b ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.63/19.89  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H153); [ zenon_intro zenon_H123 | zenon_intro zenon_H144 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H157); [ zenon_intro zenon_Hef | zenon_intro zenon_H159 ].
% 19.63/19.89  exact (zenon_H154 zenon_Hef).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H159); [ zenon_intro zenon_H12c | zenon_intro zenon_H15a ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H155); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H15b ].
% 19.63/19.89  apply (zenon_L57_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H15b); [ zenon_intro zenon_H135 | zenon_intro zenon_H15c ].
% 19.63/19.89  apply (zenon_L60_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H15c); [ zenon_intro zenon_H15d | zenon_intro zenon_H13b ].
% 19.63/19.89  exact (zenon_H156 zenon_H15d).
% 19.63/19.89  apply (zenon_L61_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H15a); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H13f ].
% 19.63/19.89  apply (zenon_L57_); trivial.
% 19.63/19.89  apply (zenon_L62_); trivial.
% 19.63/19.89  apply (zenon_L63_); trivial.
% 19.63/19.89  apply (zenon_L66_); trivial.
% 19.63/19.89  (* end of lemma zenon_L67_ *)
% 19.63/19.89  assert (zenon_L68_ : (~((e22) = (e22))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H5a.
% 19.63/19.89  apply zenon_H5a. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L68_ *)
% 19.63/19.89  assert (zenon_L69_ : (~((e20) = (e22))) -> ((op2 (e22) (e20)) = (e22)) -> ((op2 (e22) (e20)) = (e20)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H58 zenon_H15e zenon_H15f.
% 19.63/19.89  cut (((op2 (e22) (e20)) = (e22)) = ((e20) = (e22))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H58.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15e.
% 19.63/19.89  cut (((e22) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 19.63/19.89  cut (((op2 (e22) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H160].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H160 zenon_H15f).
% 19.63/19.89  apply zenon_H5a. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L69_ *)
% 19.63/19.89  assert (zenon_L70_ : (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e23) (e20)) = (e20)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H161 zenon_H2c zenon_H162.
% 19.63/19.89  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e23) (e20)) = (op2 (e23) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H161.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2c.
% 19.63/19.89  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 19.63/19.89  cut (((e20) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e23) (e20)) = (op2 (e23) (e20)))); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha2 ].
% 19.63/19.89  cut (((op2 (e23) (e20)) = (op2 (e23) (e20))) = ((e20) = (op2 (e23) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H163.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Ha1.
% 19.63/19.89  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 19.63/19.89  cut (((op2 (e23) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H164].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H164 zenon_H162).
% 19.63/19.89  apply zenon_Ha2. apply refl_equal.
% 19.63/19.89  apply zenon_Ha2. apply refl_equal.
% 19.63/19.89  apply zenon_H80. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L70_ *)
% 19.63/19.89  assert (zenon_L71_ : (~((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e13)))) -> ((op1 (e13) (e13)) = (e13)) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H165 zenon_H166 zenon_H13.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H167].
% 19.63/19.89  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.63/19.89  exact (zenon_H167 zenon_H166).
% 19.63/19.89  (* end of lemma zenon_L71_ *)
% 19.63/19.89  assert (zenon_L72_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e11) (e13)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H15 zenon_H168 zenon_H166 zenon_H13 zenon_H6d.
% 19.63/19.89  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H169 | zenon_intro zenon_H16a ].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((op1 (e10) (e13)) = (op1 (e11) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H6d.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H169.
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16a].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16b].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e11) (e13)) = (op1 (e10) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H16b.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H165].
% 19.63/19.89  cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16c].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e11) (e13)) = (op1 (e11) (e13)))); [ zenon_intro zenon_H169 | zenon_intro zenon_H16a ].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (e11) (e13))) = ((e11) = (op1 (e11) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H16c.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H169.
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16a].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H16d].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H16d zenon_H168).
% 19.63/19.89  apply zenon_H16a. apply refl_equal.
% 19.63/19.89  apply zenon_H16a. apply refl_equal.
% 19.63/19.89  apply (zenon_L71_); trivial.
% 19.63/19.89  apply zenon_H16a. apply refl_equal.
% 19.63/19.89  apply zenon_H16a. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L72_ *)
% 19.63/19.89  assert (zenon_L73_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e12) (e13)) = (e11)) -> ((op1 (e13) (e13)) = (e13)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H15 zenon_H16e zenon_H166 zenon_H13 zenon_H16f.
% 19.63/19.89  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H11d | zenon_intro zenon_H11e ].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((op1 (e10) (e13)) = (op1 (e12) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H16f.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H11d.
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H170].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e12) (e13)) = (op1 (e10) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H170.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H165].
% 19.63/19.89  cut (((e11) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H171].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e12) (e13)) = (op1 (e12) (e13)))); [ zenon_intro zenon_H11d | zenon_intro zenon_H11e ].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13))) = ((e11) = (op1 (e12) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H171.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H11d.
% 19.63/19.89  cut (((op1 (e12) (e13)) = (op1 (e12) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 19.63/19.89  cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H172 zenon_H16e).
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply (zenon_L71_); trivial.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  apply zenon_H11e. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L73_ *)
% 19.63/19.89  assert (zenon_L74_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e11)) -> ((op1 (e13) (e13)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H15 zenon_Hfc zenon_H173 zenon_H13 zenon_H174.
% 19.63/19.89  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H175 | zenon_intro zenon_H176 ].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((op1 (e10) (e11)) = (op1 (e11) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H174.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H175.
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H177].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e11) (e11)) = (op1 (e10) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H177.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 19.63/19.89  cut (((e11) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hfd].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H175 | zenon_intro zenon_H176 ].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((e11) = (op1 (e11) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hfd.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H175.
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H179 zenon_Hfc).
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17a].
% 19.63/19.89  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.63/19.89  exact (zenon_H17a zenon_H173).
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L74_ *)
% 19.63/19.89  assert (zenon_L75_ : (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> ((op1 (e13) (e13)) = (e13)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H17b zenon_H25 zenon_H6d zenon_H16f zenon_H166 zenon_H15 zenon_Hfc zenon_H13 zenon_H174.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H17b); [ zenon_intro zenon_H24 | zenon_intro zenon_H17c ].
% 19.63/19.89  apply (zenon_L4_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H17c); [ zenon_intro zenon_H168 | zenon_intro zenon_H17d ].
% 19.63/19.89  apply (zenon_L72_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H17d); [ zenon_intro zenon_H16e | zenon_intro zenon_H173 ].
% 19.63/19.89  apply (zenon_L73_); trivial.
% 19.63/19.89  apply (zenon_L74_); trivial.
% 19.63/19.89  (* end of lemma zenon_L75_ *)
% 19.63/19.89  assert (zenon_L76_ : ((~((op1 (e11) (e11)) = (e11)))\/((op1 (e11) (e11)) = (e11))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e11)) = (e12))\/((op1 (e11) (e11)) = (e13))))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e11)) = (e10))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e13) (e13)) = (e13)) -> ((~((op1 (e11) (e11)) = (e13)))\/((op1 (e11) (e13)) = (e11))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H17e zenon_H25 zenon_H16f zenon_H174 zenon_H17b zenon_H17f zenon_H15 zenon_H6e zenon_H180 zenon_H181 zenon_H6d zenon_H13 zenon_H166 zenon_H182.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H17e); [ zenon_intro zenon_H179 | zenon_intro zenon_Hfc ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H182); [ zenon_intro zenon_H183 | zenon_intro zenon_H168 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H17f); [ zenon_intro zenon_H185 | zenon_intro zenon_H184 ].
% 19.63/19.89  exact (zenon_H181 zenon_H185).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H184); [ zenon_intro zenon_Hfc | zenon_intro zenon_H186 ].
% 19.63/19.89  exact (zenon_H179 zenon_Hfc).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H186); [ zenon_intro zenon_H188 | zenon_intro zenon_H187 ].
% 19.63/19.89  cut (((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e11) (e11)) = (op1 (e11) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H180.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H6e.
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.63/19.89  cut (((e12) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H189].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e11) (e11)) = (op1 (e11) (e11)))); [ zenon_intro zenon_H175 | zenon_intro zenon_H176 ].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11))) = ((e12) = (op1 (e11) (e11)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H189.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H175.
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H18a].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H18a zenon_H188).
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  apply (zenon_L19_); trivial.
% 19.63/19.89  exact (zenon_H183 zenon_H187).
% 19.63/19.89  apply (zenon_L72_); trivial.
% 19.63/19.89  apply (zenon_L75_); trivial.
% 19.63/19.89  (* end of lemma zenon_L76_ *)
% 19.63/19.89  assert (zenon_L77_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e11) (e10)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H15 zenon_H18b zenon_H13 zenon_H18c.
% 19.63/19.89  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((op1 (e10) (e10)) = (op1 (e11) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H18c.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12e.
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H18d].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e11) (e10)) = (op1 (e10) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H18d.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H15.
% 19.63/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.63/19.89  cut (((e11) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H18e].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (e11) (e10)) = (op1 (e11) (e10)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10))) = ((e11) = (op1 (e11) (e10)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H18e.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H12e.
% 19.63/19.89  cut (((op1 (e11) (e10)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 19.63/19.89  cut (((op1 (e11) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H18f].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H18f zenon_H18b).
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply (zenon_L1_); trivial.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  apply zenon_H12f. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L77_ *)
% 19.63/19.89  assert (zenon_L78_ : ((~((op1 (e11) (e11)) = (e10)))\/((op1 (e11) (e10)) = (e11))) -> (~((op1 (e10) (e10)) = (op1 (e11) (e10)))) -> ((~((op1 (e11) (e11)) = (e13)))\/((op1 (e11) (e13)) = (e11))) -> ((op1 (e13) (e13)) = (e13)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (((op1 (e11) (e11)) = (e10))\/(((op1 (e11) (e11)) = (e11))\/(((op1 (e11) (e11)) = (e12))\/((op1 (e11) (e11)) = (e13))))) -> (((op1 (e10) (e13)) = (e11))\/(((op1 (e11) (e13)) = (e11))\/(((op1 (e12) (e13)) = (e11))\/((op1 (e13) (e13)) = (e11))))) -> (~((op1 (e10) (e11)) = (op1 (e11) (e11)))) -> (~((op1 (e10) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((~((op1 (e11) (e11)) = (e11)))\/((op1 (e11) (e11)) = (e11))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H190 zenon_H18c zenon_H182 zenon_H166 zenon_H13 zenon_H6d zenon_H180 zenon_H6e zenon_H15 zenon_H17f zenon_H17b zenon_H174 zenon_H16f zenon_H25 zenon_H17e.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H190); [ zenon_intro zenon_H181 | zenon_intro zenon_H18b ].
% 19.63/19.89  apply (zenon_L76_); trivial.
% 19.63/19.89  apply (zenon_L77_); trivial.
% 19.63/19.89  (* end of lemma zenon_L78_ *)
% 19.63/19.89  assert (zenon_L79_ : (~((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> ((e20) = (op2 (e23) (e23))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H191 zenon_H192 zenon_H2c.
% 19.63/19.89  cut (((op2 (e23) (e23)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H193].
% 19.63/19.89  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.89  exact (zenon_H193 zenon_H192).
% 19.63/19.89  (* end of lemma zenon_L79_ *)
% 19.63/19.89  assert (zenon_L80_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e21) (e23)) = (e21)) -> ((op2 (e23) (e23)) = (e23)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H2e zenon_Hb4 zenon_H192 zenon_H2c zenon_H74.
% 19.63/19.89  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((op2 (e20) (e23)) = (op2 (e21) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H74.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H194.
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H196].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e21) (e23)) = (op2 (e20) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H196.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2e.
% 19.63/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 19.63/19.89  cut (((e21) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb5].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e23)) = (op2 (e21) (e23)))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (e21) (e23))) = ((e21) = (op2 (e21) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hb5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H194.
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H195].
% 19.63/19.89  cut (((op2 (e21) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H197].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H197 zenon_Hb4).
% 19.63/19.89  apply zenon_H195. apply refl_equal.
% 19.63/19.89  apply zenon_H195. apply refl_equal.
% 19.63/19.89  apply (zenon_L79_); trivial.
% 19.63/19.89  apply zenon_H195. apply refl_equal.
% 19.63/19.89  apply zenon_H195. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L80_ *)
% 19.63/19.89  assert (zenon_L81_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e22) (e23)) = (e21)) -> ((op2 (e23) (e23)) = (e23)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H2e zenon_Hb8 zenon_H192 zenon_H2c zenon_H198.
% 19.63/19.89  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((op2 (e20) (e23)) = (op2 (e22) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H198.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hd3.
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H199].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e22) (e23)) = (op2 (e20) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H199.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2e.
% 19.63/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H191].
% 19.63/19.89  cut (((e21) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e21) = (op2 (e22) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hb9.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hd3.
% 19.63/19.89  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 19.63/19.89  cut (((op2 (e22) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H19a].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H19a zenon_Hb8).
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply (zenon_L79_); trivial.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  apply zenon_Hd4. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L81_ *)
% 19.63/19.89  assert (zenon_L82_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e21) (e21)) = (e21)) -> ((op2 (e23) (e23)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H2e zenon_Ha7 zenon_He0 zenon_H2c zenon_H19b.
% 19.63/19.89  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H19c | zenon_intro zenon_Hb6 ].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((op2 (e20) (e21)) = (op2 (e21) (e21)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H19b.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H19c.
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H19d].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e21) (e21)) = (op2 (e20) (e21)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H19d.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2e.
% 19.63/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H19e].
% 19.63/19.89  cut (((e21) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H19c | zenon_intro zenon_Hb6 ].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((e21) = (op2 (e21) (e21)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Ha8.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H19c.
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H19f].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H19f zenon_Ha7).
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  cut (((op2 (e23) (e23)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 19.63/19.89  cut (((op2 (e23) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H2d].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.63/19.89  exact (zenon_Hdd zenon_He0).
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L82_ *)
% 19.63/19.89  assert (zenon_L83_ : (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> ((op2 (e23) (e23)) = (e23)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e21) (e21)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_Hdb zenon_H3e zenon_H74 zenon_H198 zenon_H192 zenon_H2e zenon_Ha7 zenon_H2c zenon_H19b.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_Hdb); [ zenon_intro zenon_H3d | zenon_intro zenon_He1 ].
% 19.63/19.89  apply (zenon_L8_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hb4 | zenon_intro zenon_He2 ].
% 19.63/19.89  apply (zenon_L80_); trivial.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_He2); [ zenon_intro zenon_Hb8 | zenon_intro zenon_He0 ].
% 19.63/19.89  apply (zenon_L81_); trivial.
% 19.63/19.89  apply (zenon_L82_); trivial.
% 19.63/19.89  (* end of lemma zenon_L83_ *)
% 19.63/19.89  assert (zenon_L84_ : ((~((op2 (e21) (e21)) = (e21)))\/((op2 (e21) (e21)) = (e21))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e21)) = (e21))\/(((op2 (e21) (e21)) = (e22))\/((op2 (e21) (e21)) = (e23))))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e21)) = (e20))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e23) (e23)) = (e23)) -> ((~((op2 (e21) (e21)) = (e23)))\/((op2 (e21) (e23)) = (e21))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1a0 zenon_H3e zenon_H198 zenon_H19b zenon_Hdb zenon_H1a1 zenon_H2e zenon_H67 zenon_Hb3 zenon_H1a2 zenon_H74 zenon_H2c zenon_H192 zenon_H1a3.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1a0); [ zenon_intro zenon_H19f | zenon_intro zenon_Ha7 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1a3); [ zenon_intro zenon_H1a4 | zenon_intro zenon_Hb4 ].
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1a1); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H1a5 ].
% 19.63/19.89  exact (zenon_H1a2 zenon_H1a6).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1a5); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H1a7 ].
% 19.63/19.89  exact (zenon_H19f zenon_Ha7).
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1a7); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1a8 ].
% 19.63/19.89  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e21) (e21)) = (op2 (e21) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_Hb3.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H67.
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 19.63/19.89  cut (((e22) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e21)) = (op2 (e21) (e21)))); [ zenon_intro zenon_H19c | zenon_intro zenon_Hb6 ].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21))) = ((e22) = (op2 (e21) (e21)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1aa.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H19c.
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1ab].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1ab zenon_H1a9).
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  apply (zenon_L22_); trivial.
% 19.63/19.89  exact (zenon_H1a4 zenon_H1a8).
% 19.63/19.89  apply (zenon_L80_); trivial.
% 19.63/19.89  apply (zenon_L83_); trivial.
% 19.63/19.89  (* end of lemma zenon_L84_ *)
% 19.63/19.89  assert (zenon_L85_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e21) (e20)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H2e zenon_H1ac zenon_H2c zenon_H1ad.
% 19.63/19.89  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((op2 (e20) (e20)) = (op2 (e21) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1ad.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1ae.
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b0].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e21) (e20)) = (op2 (e20) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1b0.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2e.
% 19.63/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.63/19.89  cut (((e21) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b1].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e21) = (op2 (e21) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1b1.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1ae.
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H1b2].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1b2 zenon_H1ac).
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply (zenon_L5_); trivial.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L85_ *)
% 19.63/19.89  assert (zenon_L86_ : ((~((op2 (e21) (e21)) = (e20)))\/((op2 (e21) (e20)) = (e21))) -> (~((op2 (e20) (e20)) = (op2 (e21) (e20)))) -> ((~((op2 (e21) (e21)) = (e23)))\/((op2 (e21) (e23)) = (e21))) -> ((op2 (e23) (e23)) = (e23)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> (~((op2 (e21) (e21)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (((op2 (e21) (e21)) = (e20))\/(((op2 (e21) (e21)) = (e21))\/(((op2 (e21) (e21)) = (e22))\/((op2 (e21) (e21)) = (e23))))) -> (((op2 (e20) (e23)) = (e21))\/(((op2 (e21) (e23)) = (e21))\/(((op2 (e22) (e23)) = (e21))\/((op2 (e23) (e23)) = (e21))))) -> (~((op2 (e20) (e21)) = (op2 (e21) (e21)))) -> (~((op2 (e20) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> ((~((op2 (e21) (e21)) = (e21)))\/((op2 (e21) (e21)) = (e21))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1b3 zenon_H1ad zenon_H1a3 zenon_H192 zenon_H2c zenon_H74 zenon_Hb3 zenon_H67 zenon_H2e zenon_H1a1 zenon_Hdb zenon_H19b zenon_H198 zenon_H3e zenon_H1a0.
% 19.63/19.89  apply (zenon_or_s _ _ zenon_H1b3); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1ac ].
% 19.63/19.89  apply (zenon_L84_); trivial.
% 19.63/19.89  apply (zenon_L85_); trivial.
% 19.63/19.89  (* end of lemma zenon_L86_ *)
% 19.63/19.89  assert (zenon_L87_ : ((e20) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e20)) -> (~((op2 (e23) (e23)) = (op2 (e21) (e20)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H2c zenon_H1b4 zenon_H1b5.
% 19.63/19.89  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((op2 (e23) (e23)) = (op2 (e21) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1b5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1ae.
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1b6.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2c.
% 19.63/19.89  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 19.63/19.89  cut (((e20) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b7].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e20)) = (op2 (e21) (e20)))); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1af ].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20))) = ((e20) = (op2 (e21) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1b7.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1ae.
% 19.63/19.89  cut (((op2 (e21) (e20)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1af].
% 19.63/19.89  cut (((op2 (e21) (e20)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1b8].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1b8 zenon_H1b4).
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply zenon_H80. apply refl_equal.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  apply zenon_H1af. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L87_ *)
% 19.63/19.89  assert (zenon_L88_ : ((op2 (e21) (e22)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e21) (e20)) = (e20)) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1b9 zenon_H2c zenon_H1b4 zenon_H1ba.
% 19.63/19.89  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((op2 (e21) (e20)) = (op2 (e21) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1ba.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1bb.
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1bd].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e21) (e22)) = (op2 (e21) (e20)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1bd.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H2c.
% 19.63/19.89  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b5].
% 19.63/19.89  cut (((e20) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1be].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e20) = (op2 (e21) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1be.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1bb.
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1bf].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1bf zenon_H1b9).
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply (zenon_L87_); trivial.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L88_ *)
% 19.63/19.89  assert (zenon_L89_ : (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> ((op2 (e21) (e21)) = (e21)) -> ((op2 (e21) (e22)) = (e21)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1c0 zenon_Ha7 zenon_H1c1.
% 19.63/19.89  cut (((op2 (e21) (e21)) = (e21)) = ((op2 (e21) (e21)) = (op2 (e21) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1c0.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Ha7.
% 19.63/19.89  cut (((e21) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1c2].
% 19.63/19.89  cut (((op2 (e21) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_Hb6. apply refl_equal.
% 19.63/19.89  apply zenon_H1c2. apply sym_equal. exact zenon_H1c1.
% 19.63/19.89  (* end of lemma zenon_L89_ *)
% 19.63/19.89  assert (zenon_L90_ : (~((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e20) (e22)))) -> ((op2 (e21) (e23)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e20) (e22)) = (e22)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1c3 zenon_H1c4 zenon_H2e zenon_He3.
% 19.63/19.89  cut (((op2 (e21) (e23)) = (e22)) = ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e20) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1c3.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1c4.
% 19.63/19.89  cut (((e22) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_He6].
% 19.63/19.89  cut (((op2 (e21) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c5].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H1c7 ].
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e21) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1c5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1c6.
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c7].
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 19.63/19.89  congruence.
% 19.63/19.89  apply (zenon_L22_); trivial.
% 19.63/19.89  apply zenon_H1c7. apply refl_equal.
% 19.63/19.89  apply zenon_H1c7. apply refl_equal.
% 19.63/19.89  apply zenon_He6. apply sym_equal. exact zenon_He3.
% 19.63/19.89  (* end of lemma zenon_L90_ *)
% 19.63/19.89  assert (zenon_L91_ : ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op2 (e21) (e22)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e20) (e22)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((op2 (e20) (e22)) = (op2 (e21) (e22)))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H67 zenon_H1c8 zenon_H1c4 zenon_He3 zenon_H2e zenon_H1c9.
% 19.63/19.89  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((op2 (e20) (e22)) = (op2 (e21) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1c9.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1bb.
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1ca].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e21) (e22)) = (op2 (e20) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1ca.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H67.
% 19.63/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1c3].
% 19.63/19.89  cut (((e22) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1cb].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (e21) (e22)) = (op2 (e21) (e22)))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1bc ].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22))) = ((e22) = (op2 (e21) (e22)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1cb.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1bb.
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1bc].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H1cc].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1cc zenon_H1c8).
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply (zenon_L90_); trivial.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  apply zenon_H1bc. apply refl_equal.
% 19.63/19.89  (* end of lemma zenon_L91_ *)
% 19.63/19.89  assert (zenon_L92_ : (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e11)) = (e11)) -> ((op1 (e11) (e12)) = (e11)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1cd zenon_Hfc zenon_H1ce.
% 19.63/19.89  cut (((op1 (e11) (e11)) = (e11)) = ((op1 (e11) (e11)) = (op1 (e11) (e12)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1cd.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_Hfc.
% 19.63/19.89  cut (((e11) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1cf].
% 19.63/19.89  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 19.63/19.89  congruence.
% 19.63/19.89  apply zenon_H176. apply refl_equal.
% 19.63/19.89  apply zenon_H1cf. apply sym_equal. exact zenon_H1ce.
% 19.63/19.89  (* end of lemma zenon_L92_ *)
% 19.63/19.89  assert (zenon_L93_ : (~((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e10) (e12)))) -> ((op1 (e11) (e13)) = (e12)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e10) (e12)) = (e12)) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1d0 zenon_H107 zenon_H15 zenon_H146.
% 19.63/19.89  cut (((op1 (e11) (e13)) = (e12)) = ((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e10) (e12)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1d0.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H107.
% 19.63/19.89  cut (((e12) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H14b].
% 19.63/19.89  cut (((op1 (e11) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H10c ].
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e11) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H10a.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H10b.
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 19.63/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.63/19.89  congruence.
% 19.63/19.89  apply (zenon_L19_); trivial.
% 19.63/19.89  apply zenon_H10c. apply refl_equal.
% 19.63/19.89  apply zenon_H10c. apply refl_equal.
% 19.63/19.89  apply zenon_H14b. apply sym_equal. exact zenon_H146.
% 19.63/19.89  (* end of lemma zenon_L93_ *)
% 19.63/19.89  assert (zenon_L94_ : (~((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))) -> ((h4 (e13)) = (e23)) -> ((op1 (e11) (e12)) = (e13)) -> ((op2 (e21) (e22)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> False).
% 19.63/19.89  do 0 intro. intros zenon_H1d1 zenon_H8b zenon_H1d2 zenon_H1d3 zenon_H52 zenon_H2e zenon_H66 zenon_H67.
% 19.63/19.89  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1d1.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H8b.
% 19.63/19.89  cut (((e23) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 19.63/19.89  cut (((h4 (e13)) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1d5].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d7 ].
% 19.63/19.89  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12)))) = ((h4 (e13)) = (h4 (op1 (e11) (e12))))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1d5.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1d6.
% 19.63/19.89  cut (((h4 (op1 (e11) (e12))) = (h4 (op1 (e11) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1d7].
% 19.63/19.89  cut (((h4 (op1 (e11) (e12))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d8].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((op1 (e11) (e12)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d9].
% 19.63/19.89  congruence.
% 19.63/19.89  exact (zenon_H1d9 zenon_H1d2).
% 19.63/19.89  apply zenon_H1d7. apply refl_equal.
% 19.63/19.89  apply zenon_H1d7. apply refl_equal.
% 19.63/19.89  elim (classic ((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ].
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12)))) = ((e23) = (op2 (h4 (e11)) (h4 (e12))))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1d4.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1da.
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H1dc].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((op2 (e21) (e22)) = (e23)) = ((op2 (h4 (e11)) (h4 (e12))) = (e23))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1dc.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1d3.
% 19.63/19.89  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.63/19.89  cut (((op2 (e21) (e22)) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1dd].
% 19.63/19.89  congruence.
% 19.63/19.89  elim (classic ((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [ zenon_intro zenon_H1da | zenon_intro zenon_H1db ].
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12)))) = ((op2 (e21) (e22)) = (op2 (h4 (e11)) (h4 (e12))))).
% 19.63/19.89  intro zenon_D_pnotp.
% 19.63/19.89  apply zenon_H1dd.
% 19.63/19.89  rewrite <- zenon_D_pnotp.
% 19.63/19.89  exact zenon_H1da.
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (h4 (e11)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H1db].
% 19.63/19.89  cut (((op2 (h4 (e11)) (h4 (e12))) = (op2 (e21) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1de].
% 19.63/19.89  congruence.
% 19.63/19.89  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.63/19.89  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.63/19.89  congruence.
% 19.71/19.89  apply (zenon_L12_); trivial.
% 19.71/19.89  apply (zenon_L17_); trivial.
% 19.71/19.89  apply zenon_H1db. apply refl_equal.
% 19.71/19.89  apply zenon_H1db. apply refl_equal.
% 19.71/19.89  apply zenon_H72. apply refl_equal.
% 19.71/19.89  apply zenon_H1db. apply refl_equal.
% 19.71/19.89  apply zenon_H1db. apply refl_equal.
% 19.71/19.89  (* end of lemma zenon_L94_ *)
% 19.71/19.89  assert (zenon_L95_ : (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e10)) = (e10)) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e10) (e12)) = (e12)) -> ((op1 (e11) (e13)) = (e12)) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))) -> ((h4 (e13)) = (e23)) -> ((op2 (e21) (e22)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H1df zenon_H1e0 zenon_H12c zenon_H13 zenon_Hfc zenon_H1cd zenon_H1e1 zenon_H15 zenon_H146 zenon_H107 zenon_H6e zenon_H1d1 zenon_H8b zenon_H1d3 zenon_H52 zenon_H2e zenon_H66 zenon_H67.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1df); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e2 ].
% 19.71/19.89  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1e5 ].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((op1 (e11) (e10)) = (op1 (e11) (e12)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1e0.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1e4.
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((e10) = (op1 (e13) (e13))) = ((op1 (e11) (e12)) = (op1 (e11) (e10)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1e6.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H13.
% 19.71/19.89  cut (((op1 (e13) (e13)) = (op1 (e11) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12d].
% 19.71/19.89  cut (((e10) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1e5 ].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e10) = (op1 (e11) (e12)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1e7.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1e4.
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H1e8].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H1e8 zenon_H1e3).
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply (zenon_L58_); trivial.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1e2); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1e9 ].
% 19.71/19.89  apply (zenon_L92_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1e9); [ zenon_intro zenon_H1ea | zenon_intro zenon_H1d2 ].
% 19.71/19.89  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1e5 ].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((op1 (e10) (e12)) = (op1 (e11) (e12)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1e1.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1e4.
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1eb].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) = ((op1 (e11) (e12)) = (op1 (e10) (e12)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1eb.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H6e.
% 19.71/19.89  cut (((op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13)) = (op1 (e10) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1d0].
% 19.71/19.89  cut (((e12) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1ec].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op1 (e11) (e12)) = (op1 (e11) (e12)))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1e5 ].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12))) = ((e12) = (op1 (e11) (e12)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1ec.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1e4.
% 19.71/19.89  cut (((op1 (e11) (e12)) = (op1 (e11) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1e5].
% 19.71/19.89  cut (((op1 (e11) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1ed].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H1ed zenon_H1ea).
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply (zenon_L93_); trivial.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply zenon_H1e5. apply refl_equal.
% 19.71/19.89  apply (zenon_L94_); trivial.
% 19.71/19.89  (* end of lemma zenon_L95_ *)
% 19.71/19.89  assert (zenon_L96_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> (~((op1 (e10) (e10)) = (e10))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e21) (e22)) = (e23)) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e13)) = (e12))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e10)) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> ((op1 (e12) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H157 zenon_H154 zenon_H15 zenon_H6e zenon_H6d zenon_H122 zenon_H67 zenon_H66 zenon_H2e zenon_H52 zenon_H1d3 zenon_H8b zenon_H1d1 zenon_H1e1 zenon_H1cd zenon_Hfc zenon_H1e0 zenon_H1df zenon_H11c zenon_H123 zenon_H5e zenon_H14d zenon_H14c zenon_Hf2 zenon_H60 zenon_H13e zenon_H13.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H157); [ zenon_intro zenon_Hef | zenon_intro zenon_H159 ].
% 19.71/19.89  exact (zenon_H154 zenon_Hef).
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H159); [ zenon_intro zenon_H12c | zenon_intro zenon_H15a ].
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H14c); [ zenon_intro zenon_H14f | zenon_intro zenon_H14e ].
% 19.71/19.89  exact (zenon_H14d zenon_H14f).
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H14e); [ zenon_intro zenon_H5f | zenon_intro zenon_H150 ].
% 19.71/19.89  apply (zenon_L16_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H150); [ zenon_intro zenon_H146 | zenon_intro zenon_H6f ].
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H6f | zenon_intro zenon_H124 ].
% 19.71/19.89  apply (zenon_L20_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H107 | zenon_intro zenon_H125 ].
% 19.71/19.89  apply (zenon_L95_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H125); [ zenon_intro zenon_H11b | zenon_intro zenon_H126 ].
% 19.71/19.89  apply (zenon_L55_); trivial.
% 19.71/19.89  exact (zenon_H123 zenon_H126).
% 19.71/19.89  apply (zenon_L20_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H15a); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H13f ].
% 19.71/19.89  apply (zenon_L47_); trivial.
% 19.71/19.89  apply (zenon_L62_); trivial.
% 19.71/19.89  (* end of lemma zenon_L96_ *)
% 19.71/19.89  assert (zenon_L97_ : (((op2 (e21) (e22)) = (e20))\/(((op2 (e21) (e22)) = (e21))\/(((op2 (e21) (e22)) = (e22))\/((op2 (e21) (e22)) = (e23))))) -> (~((op2 (e21) (e20)) = (op2 (e21) (e22)))) -> ((op2 (e21) (e20)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e21) (e21)) = (e21)) -> (~((op2 (e21) (e21)) = (op2 (e21) (e22)))) -> (~((op2 (e20) (e22)) = (op2 (e21) (e22)))) -> ((op2 (e20) (e22)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> (~((op1 (e10) (e10)) = (e10))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e11) (e12))) = (op2 (h4 (e11)) (h4 (e12))))) -> (~((op1 (e10) (e12)) = (op1 (e11) (e12)))) -> (~((op1 (e11) (e11)) = (op1 (e11) (e12)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e10)) = (op1 (e11) (e12)))) -> (((op1 (e11) (e12)) = (e10))\/(((op1 (e11) (e12)) = (e11))\/(((op1 (e11) (e12)) = (e12))\/((op1 (e11) (e12)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e13)) = (e12))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e10)) = (e12))) -> (((op1 (e10) (e10)) = (e12))\/(((op1 (e10) (e11)) = (e12))\/(((op1 (e10) (e12)) = (e12))\/((op1 (e10) (e13)) = (e12))))) -> ((op1 (e12) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H1ee zenon_H1ba zenon_H1b4 zenon_H2c zenon_Ha7 zenon_H1c0 zenon_H1c9 zenon_He3 zenon_H1c4 zenon_H157 zenon_H154 zenon_H15 zenon_H6e zenon_H6d zenon_H122 zenon_H67 zenon_H66 zenon_H2e zenon_H52 zenon_H8b zenon_H1d1 zenon_H1e1 zenon_H1cd zenon_Hfc zenon_H1e0 zenon_H1df zenon_H11c zenon_H123 zenon_H5e zenon_H14d zenon_H14c zenon_Hf2 zenon_H60 zenon_H13e zenon_H13.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1ee); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ef ].
% 19.71/19.89  apply (zenon_L88_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1ef); [ zenon_intro zenon_H1c1 | zenon_intro zenon_H1f0 ].
% 19.71/19.89  apply (zenon_L89_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H1f0); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1d3 ].
% 19.71/19.89  apply (zenon_L91_); trivial.
% 19.71/19.89  apply (zenon_L96_); trivial.
% 19.71/19.89  (* end of lemma zenon_L97_ *)
% 19.71/19.89  assert (zenon_L98_ : (~((op2 (e23) (e20)) = (op2 (e23) (e22)))) -> ((op2 (e23) (e20)) = (e23)) -> ((op2 (e23) (e22)) = (e23)) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H1f1 zenon_Hce zenon_H1f2.
% 19.71/19.89  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (e23) (e20)) = (op2 (e23) (e22)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1f1.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_Hce.
% 19.71/19.89  cut (((e23) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 19.71/19.89  cut (((op2 (e23) (e20)) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha2].
% 19.71/19.89  congruence.
% 19.71/19.89  apply zenon_Ha2. apply refl_equal.
% 19.71/19.89  apply zenon_H1f3. apply sym_equal. exact zenon_H1f2.
% 19.71/19.89  (* end of lemma zenon_L98_ *)
% 19.71/19.89  assert (zenon_L99_ : (~((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op1 (e11) (e13)) = (e12)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H1f4 zenon_H66 zenon_H107 zenon_H8b zenon_H52.
% 19.71/19.89  cut (((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((h4 (op1 (e11) (e13))) = (op2 (h4 (e11)) (h4 (e13))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1f4.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H66.
% 19.71/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (h4 (e11)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f5].
% 19.71/19.89  cut (((h4 (e12)) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f6].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [ zenon_intro zenon_H1f7 | zenon_intro zenon_H1f8 ].
% 19.71/19.89  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13)))) = ((h4 (e12)) = (h4 (op1 (e11) (e13))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1f6.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1f7.
% 19.71/19.89  cut (((h4 (op1 (e11) (e13))) = (h4 (op1 (e11) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 19.71/19.89  cut (((h4 (op1 (e11) (e13))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H1f9].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((op1 (e11) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H1fa].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H1fa zenon_H107).
% 19.71/19.89  apply zenon_H1f8. apply refl_equal.
% 19.71/19.89  apply zenon_H1f8. apply refl_equal.
% 19.71/19.89  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 19.71/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H1fc].
% 19.71/19.89  congruence.
% 19.71/19.89  apply zenon_H1fc. apply sym_equal. exact zenon_H52.
% 19.71/19.89  apply zenon_H1fb. apply sym_equal. exact zenon_H8b.
% 19.71/19.89  (* end of lemma zenon_L99_ *)
% 19.71/19.89  assert (zenon_L100_ : (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> ((op2 (e22) (e20)) = (e22)) -> ((op2 (e22) (e21)) = (e22)) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H1fd zenon_H15e zenon_H1fe.
% 19.71/19.89  cut (((op2 (e22) (e20)) = (e22)) = ((op2 (e22) (e20)) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1fd.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H15e.
% 19.71/19.89  cut (((e22) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 19.71/19.89  cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 19.71/19.89  congruence.
% 19.71/19.89  apply zenon_H200. apply refl_equal.
% 19.71/19.89  apply zenon_H1ff. apply sym_equal. exact zenon_H1fe.
% 19.71/19.89  (* end of lemma zenon_L100_ *)
% 19.71/19.89  assert (zenon_L101_ : (~((op2 (e23) (e23)) = (op2 (e20) (e21)))) -> ((op2 (e21) (e20)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e20) (e21)) = (e20)) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H201 zenon_H1b4 zenon_H2c zenon_H56.
% 19.71/19.89  cut (((op2 (e21) (e20)) = (e20)) = ((op2 (e23) (e23)) = (op2 (e20) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H201.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1b4.
% 19.71/19.89  cut (((e20) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 19.71/19.89  cut (((op2 (e21) (e20)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1b6].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (e23) (e23)) = (op2 (e23) (e23)))); [ zenon_intro zenon_H202 | zenon_intro zenon_H80 ].
% 19.71/19.89  cut (((op2 (e23) (e23)) = (op2 (e23) (e23))) = ((op2 (e21) (e20)) = (op2 (e23) (e23)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1b6.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H202.
% 19.71/19.89  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 19.71/19.89  cut (((op2 (e23) (e23)) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1b5].
% 19.71/19.89  congruence.
% 19.71/19.89  apply (zenon_L87_); trivial.
% 19.71/19.89  apply zenon_H80. apply refl_equal.
% 19.71/19.89  apply zenon_H80. apply refl_equal.
% 19.71/19.89  apply zenon_H9d. apply sym_equal. exact zenon_H56.
% 19.71/19.89  (* end of lemma zenon_L101_ *)
% 19.71/19.89  assert (zenon_L102_ : ((op2 (e22) (e21)) = (e20)) -> ((op2 (e20) (e21)) = (e20)) -> ((op2 (e21) (e20)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H203 zenon_H56 zenon_H1b4 zenon_H2c zenon_H204.
% 19.71/19.89  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e20) (e21)) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H204.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H205.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H207].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e22) (e21)) = (op2 (e20) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H207.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H2c.
% 19.71/19.89  cut (((op2 (e23) (e23)) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H201].
% 19.71/19.89  cut (((e20) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H208].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e20) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H208.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H205.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H209 zenon_H203).
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply (zenon_L101_); trivial.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  (* end of lemma zenon_L102_ *)
% 19.71/19.89  assert (zenon_L103_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e22) (e21)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e21) (e21)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H2e zenon_H20a zenon_H47 zenon_Ha7 zenon_H2c zenon_H20b.
% 19.71/19.89  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((op2 (e21) (e21)) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H20b.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H205.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H20c].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e22) (e21)) = (op2 (e21) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H20c.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H2e.
% 19.71/19.89  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 19.71/19.89  cut (((e21) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e21) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H20d.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H205.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H20e].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H20e zenon_H20a).
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply (zenon_L32_); trivial.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  (* end of lemma zenon_L103_ *)
% 19.71/19.89  assert (zenon_L104_ : (~((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e23)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e23) (e21)) = (e22)) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H20f zenon_H1c4 zenon_H2e zenon_H210.
% 19.71/19.89  cut (((op2 (e21) (e23)) = (e22)) = ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e23) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H20f.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1c4.
% 19.71/19.89  cut (((e22) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 19.71/19.89  cut (((op2 (e21) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c5].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H1c7 ].
% 19.71/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e21) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1c5.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H1c6.
% 19.71/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H1c7].
% 19.71/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e21) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 19.71/19.89  congruence.
% 19.71/19.89  apply (zenon_L22_); trivial.
% 19.71/19.89  apply zenon_H1c7. apply refl_equal.
% 19.71/19.89  apply zenon_H1c7. apply refl_equal.
% 19.71/19.89  apply zenon_H211. apply sym_equal. exact zenon_H210.
% 19.71/19.89  (* end of lemma zenon_L104_ *)
% 19.71/19.89  assert (zenon_L105_ : (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op2 (e22) (e21)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> ((op2 (e23) (e21)) = (e22)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H212 zenon_H67 zenon_H1fe zenon_H1c4 zenon_H210 zenon_H2e.
% 19.71/19.89  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((op2 (e22) (e21)) = (op2 (e23) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H212.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H67.
% 19.71/19.89  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H20f].
% 19.71/19.89  cut (((e22) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H1ff].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (e22) (e21)) = (op2 (e22) (e21)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21))) = ((e22) = (op2 (e22) (e21)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H1ff.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H205.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H206].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H213].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H213 zenon_H1fe).
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply zenon_H206. apply refl_equal.
% 19.71/19.89  apply (zenon_L104_); trivial.
% 19.71/19.89  (* end of lemma zenon_L105_ *)
% 19.71/19.89  assert (zenon_L106_ : (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e13)) = (e23)) -> ((op1 (e12) (e11)) = (e13)) -> ((op2 (e22) (e21)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H214 zenon_H8b zenon_H215 zenon_H216 zenon_H66 zenon_H67 zenon_H52 zenon_H2e.
% 19.71/19.89  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H214.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H8b.
% 19.71/19.89  cut (((e23) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 19.71/19.89  cut (((h4 (e13)) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H218].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H21a ].
% 19.71/19.89  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11)))) = ((h4 (e13)) = (h4 (op1 (e12) (e11))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H218.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H219.
% 19.71/19.89  cut (((h4 (op1 (e12) (e11))) = (h4 (op1 (e12) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21a].
% 19.71/19.89  cut (((h4 (op1 (e12) (e11))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H21b].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((op1 (e12) (e11)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H21c].
% 19.71/19.89  congruence.
% 19.71/19.89  exact (zenon_H21c zenon_H215).
% 19.71/19.89  apply zenon_H21a. apply refl_equal.
% 19.71/19.89  apply zenon_H21a. apply refl_equal.
% 19.71/19.89  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H21e ].
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((e23) = (op2 (h4 (e12)) (h4 (e11))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H217.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H21d.
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21e].
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((op2 (e22) (e21)) = (e23)) = ((op2 (h4 (e12)) (h4 (e11))) = (e23))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H21f.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H216.
% 19.71/19.89  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.71/19.89  cut (((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H220].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H21e ].
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11)))) = ((op2 (e22) (e21)) = (op2 (h4 (e12)) (h4 (e11))))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H220.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H21d.
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (h4 (e12)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H21e].
% 19.71/19.89  cut (((op2 (h4 (e12)) (h4 (e11))) = (op2 (e22) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H221].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.89  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.89  congruence.
% 19.71/19.89  apply (zenon_L17_); trivial.
% 19.71/19.89  apply (zenon_L12_); trivial.
% 19.71/19.89  apply zenon_H21e. apply refl_equal.
% 19.71/19.89  apply zenon_H21e. apply refl_equal.
% 19.71/19.89  apply zenon_H72. apply refl_equal.
% 19.71/19.89  apply zenon_H21e. apply refl_equal.
% 19.71/19.89  apply zenon_H21e. apply refl_equal.
% 19.71/19.89  (* end of lemma zenon_L106_ *)
% 19.71/19.89  assert (zenon_L107_ : (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e11) (e10)) = (e10)) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((e10) = (op1 (e13) (e13))) -> ((op1 (e11) (e11)) = (e11)) -> ((op1 (e10) (e10)) = (e11)) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e13) (e11)) = (e12)) -> ((op1 (e11) (e13)) = (e12)) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e13)) = (e23)) -> ((op2 (e22) (e21)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> False).
% 19.71/19.89  do 0 intro. intros zenon_H222 zenon_H136 zenon_H12c zenon_H5e zenon_H223 zenon_H13 zenon_Hfc zenon_H4c zenon_H15 zenon_H108 zenon_H107 zenon_H6e zenon_H10d zenon_H214 zenon_H8b zenon_H216 zenon_H66 zenon_H67 zenon_H52 zenon_H2e.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H222); [ zenon_intro zenon_H135 | zenon_intro zenon_H224 ].
% 19.71/19.89  apply (zenon_L60_); trivial.
% 19.71/19.89  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H226 | zenon_intro zenon_H225 ].
% 19.71/19.89  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ].
% 19.71/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((op1 (e11) (e11)) = (op1 (e12) (e11)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H223.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H110.
% 19.71/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 19.71/19.89  cut (((op1 (e12) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H227].
% 19.71/19.89  congruence.
% 19.71/19.89  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e12) (e11)) = (op1 (e11) (e11)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H227.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H15.
% 19.71/19.89  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hfb].
% 19.71/19.89  cut (((e11) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 19.71/19.89  congruence.
% 19.71/19.89  elim (classic ((op1 (e12) (e11)) = (op1 (e12) (e11)))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ].
% 19.71/19.89  cut (((op1 (e12) (e11)) = (op1 (e12) (e11))) = ((e11) = (op1 (e12) (e11)))).
% 19.71/19.89  intro zenon_D_pnotp.
% 19.71/19.89  apply zenon_H228.
% 19.71/19.89  rewrite <- zenon_D_pnotp.
% 19.71/19.89  exact zenon_H110.
% 19.71/19.90  cut (((op1 (e12) (e11)) = (op1 (e12) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 19.71/19.90  cut (((op1 (e12) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H229].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H229 zenon_H226).
% 19.71/19.90  apply zenon_H111. apply refl_equal.
% 19.71/19.90  apply zenon_H111. apply refl_equal.
% 19.71/19.90  apply (zenon_L49_); trivial.
% 19.71/19.90  apply zenon_H111. apply refl_equal.
% 19.71/19.90  apply zenon_H111. apply refl_equal.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H225); [ zenon_intro zenon_H10e | zenon_intro zenon_H215 ].
% 19.71/19.90  apply (zenon_L52_); trivial.
% 19.71/19.90  apply (zenon_L106_); trivial.
% 19.71/19.90  (* end of lemma zenon_L107_ *)
% 19.71/19.90  assert (zenon_L108_ : (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> (~((op1 (e10) (e10)) = (e10))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e11)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e12))))) -> (~((op1 (e11) (e11)) = (e12))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e10)) = (e13)) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op2 (e22) (e21)) = (e23)) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e13) (e13)) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> ((op1 (e12) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H157 zenon_H154 zenon_H25 zenon_H15 zenon_H1e zenon_H17 zenon_H22a zenon_H18a zenon_H118 zenon_Hf5 zenon_H102 zenon_H113 zenon_H114 zenon_H122 zenon_H6d zenon_H2e zenon_H52 zenon_H67 zenon_H66 zenon_H216 zenon_H8b zenon_H214 zenon_H10d zenon_Hfc zenon_H223 zenon_H5e zenon_H136 zenon_H222 zenon_H11c zenon_H6e zenon_H123 zenon_H49 zenon_Hf2 zenon_H60 zenon_H13e zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H157); [ zenon_intro zenon_Hef | zenon_intro zenon_H159 ].
% 19.71/19.90  exact (zenon_H154 zenon_Hef).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H159); [ zenon_intro zenon_H12c | zenon_intro zenon_H15a ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22a); [ zenon_intro zenon_H5f | zenon_intro zenon_H22b ].
% 19.71/19.90  apply (zenon_L16_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22b); [ zenon_intro zenon_H188 | zenon_intro zenon_H22c ].
% 19.71/19.90  exact (zenon_H18a zenon_H188).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22c); [ zenon_intro zenon_H10e | zenon_intro zenon_H108 ].
% 19.71/19.90  apply (zenon_L56_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H6f | zenon_intro zenon_H124 ].
% 19.71/19.90  apply (zenon_L20_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H107 | zenon_intro zenon_H125 ].
% 19.71/19.90  apply (zenon_L107_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H125); [ zenon_intro zenon_H11b | zenon_intro zenon_H126 ].
% 19.71/19.90  apply (zenon_L55_); trivial.
% 19.71/19.90  exact (zenon_H123 zenon_H126).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.71/19.90  apply (zenon_L2_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.71/19.90  apply (zenon_L3_); trivial.
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H15a); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H13f ].
% 19.71/19.90  apply (zenon_L47_); trivial.
% 19.71/19.90  apply (zenon_L62_); trivial.
% 19.71/19.90  (* end of lemma zenon_L108_ *)
% 19.71/19.90  assert (zenon_L109_ : (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e21) (e20)) = (e20)) -> ((op2 (e20) (e21)) = (e20)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e21) (e21)) = (e21)) -> ((op2 (e20) (e20)) = (e21)) -> ((op2 (e23) (e21)) = (e22)) -> ((op2 (e21) (e23)) = (e22)) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> (~((op1 (e10) (e10)) = (e10))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (((op1 (e10) (e11)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e12))))) -> (~((op1 (e11) (e11)) = (e12))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e13) (e10)) = (e13)) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e13)) = (e23)) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e13) (e13)) = (e12))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> ((op1 (e12) (e10)) = (e12)) -> (~((e10) = (e12))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H22d zenon_H204 zenon_H1b4 zenon_H56 zenon_H20b zenon_H2c zenon_Ha7 zenon_H47 zenon_H210 zenon_H1c4 zenon_H212 zenon_H157 zenon_H154 zenon_H25 zenon_H15 zenon_H1e zenon_H17 zenon_H22a zenon_H18a zenon_H118 zenon_Hf5 zenon_H102 zenon_H113 zenon_H114 zenon_H122 zenon_H6d zenon_H2e zenon_H52 zenon_H67 zenon_H66 zenon_H8b zenon_H214 zenon_H10d zenon_Hfc zenon_H223 zenon_H5e zenon_H136 zenon_H222 zenon_H11c zenon_H6e zenon_H123 zenon_H49 zenon_Hf2 zenon_H60 zenon_H13e zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22d); [ zenon_intro zenon_H203 | zenon_intro zenon_H22e ].
% 19.71/19.90  apply (zenon_L102_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22e); [ zenon_intro zenon_H20a | zenon_intro zenon_H22f ].
% 19.71/19.90  apply (zenon_L103_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H1fe | zenon_intro zenon_H216 ].
% 19.71/19.90  apply (zenon_L105_); trivial.
% 19.71/19.90  apply (zenon_L108_); trivial.
% 19.71/19.90  (* end of lemma zenon_L109_ *)
% 19.71/19.90  assert (zenon_L110_ : ((~((op1 (e13) (e13)) = (e10)))\/((op1 (e13) (e10)) = (e13))) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e20))\/((op2 (e23) (e20)) = (e20))))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e21)) = (e22))\/(((op2 (e21) (e21)) = (e22))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e23) (e21)) = (e22))))) -> (~((op2 (e20) (e23)) = (op2 (e21) (e23)))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e21)) = (e21))\/(((op2 (e22) (e21)) = (e22))\/((op2 (e22) (e21)) = (e23))))) -> (~((op1 (e10) (e10)) = (e10))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((e10) = (e12))) -> ((op1 (e10) (e11)) = (e10)) -> (~((op1 (e11) (e11)) = (e12))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> (~((op1 (e10) (e11)) = (op1 (e12) (e11)))) -> (~((op1 (e11) (e11)) = (op1 (e12) (e11)))) -> (~((h4 (op1 (e12) (e11))) = (op2 (h4 (e12)) (h4 (e11))))) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (((op1 (e12) (e11)) = (e10))\/(((op1 (e12) (e11)) = (e11))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e12) (e11)) = (e13))))) -> (((op1 (e10) (e11)) = (e12))\/(((op1 (e11) (e11)) = (e12))\/(((op1 (e12) (e11)) = (e12))\/((op1 (e13) (e11)) = (e12))))) -> ((op1 (e12) (e10)) = (e12)) -> (~((op1 (e13) (e10)) = (op1 (e13) (e13)))) -> (((op1 (e10) (e10)) = (e10))\/(((op1 (e11) (e10)) = (e10))\/(((op1 (e12) (e10)) = (e10))\/((op1 (e13) (e10)) = (e10))))) -> (~((op2 (e22) (e21)) = (op2 (e23) (e21)))) -> ((op2 (e21) (e21)) = (e21)) -> (~((op2 (e21) (e21)) = (op2 (e22) (e21)))) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> (~((op2 (e21) (e23)) = (op2 (e22) (e23)))) -> (~((op2 (e23) (e23)) = (e22))) -> (((op2 (e20) (e23)) = (e22))\/(((op2 (e21) (e23)) = (e22))\/(((op2 (e22) (e23)) = (e22))\/((op2 (e23) (e23)) = (e22))))) -> ((op2 (e22) (e20)) = (e22)) -> (~((op2 (e22) (e20)) = (op2 (e22) (e21)))) -> (~((op2 (e21) (e21)) = (e22))) -> ((op2 (e20) (e21)) = (e20)) -> (~((e20) = (e22))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e21)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e22)))) -> (~((op2 (e20) (e20)) = (op2 (e20) (e23)))) -> (((op2 (e20) (e20)) = (e21))\/(((op2 (e20) (e21)) = (e21))\/(((op2 (e20) (e22)) = (e21))\/((op2 (e20) (e23)) = (e21))))) -> (~((op2 (e20) (e20)) = (e20))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((~((op1 (e13) (e13)) = (e12)))\/((op1 (e13) (e12)) = (e13))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H158 zenon_H230 zenon_H161 zenon_H231 zenon_H74 zenon_H67 zenon_H2e zenon_H22d zenon_H154 zenon_H49 zenon_H25 zenon_H1e zenon_H17 zenon_H60 zenon_H5e zenon_H18a zenon_H122 zenon_H11c zenon_Hf5 zenon_H102 zenon_Hfc zenon_H10d zenon_H113 zenon_H118 zenon_H15 zenon_H6e zenon_H6d zenon_H136 zenon_H223 zenon_H214 zenon_H8b zenon_H52 zenon_H66 zenon_H222 zenon_H22a zenon_Hf2 zenon_H13e zenon_H157 zenon_H212 zenon_Ha7 zenon_H20b zenon_H2c zenon_H204 zenon_Hd2 zenon_H232 zenon_H233 zenon_H15e zenon_H1fd zenon_H1ab zenon_H56 zenon_H58 zenon_H30 zenon_H37 zenon_H3e zenon_H44 zenon_H234 zenon_H143 zenon_H153 zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H153); [ zenon_intro zenon_H123 | zenon_intro zenon_H144 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H9c | zenon_intro zenon_H235 ].
% 19.71/19.90  exact (zenon_H234 zenon_H9c).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H235); [ zenon_intro zenon_H1b4 | zenon_intro zenon_H236 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H44); [ zenon_intro zenon_H47 | zenon_intro zenon_H46 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H231); [ zenon_intro zenon_H57 | zenon_intro zenon_H237 ].
% 19.71/19.90  apply (zenon_L14_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H237); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H238 ].
% 19.71/19.90  exact (zenon_H1ab zenon_H1a9).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H1fe | zenon_intro zenon_H210 ].
% 19.71/19.90  apply (zenon_L100_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H233); [ zenon_intro zenon_H75 | zenon_intro zenon_H239 ].
% 19.71/19.90  apply (zenon_L23_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H23a ].
% 19.71/19.90  apply (zenon_L109_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H23b ].
% 19.71/19.90  apply (zenon_L40_); trivial.
% 19.71/19.90  exact (zenon_H232 zenon_H23b).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H46); [ zenon_intro zenon_H2f | zenon_intro zenon_H48 ].
% 19.71/19.90  apply (zenon_L6_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H48); [ zenon_intro zenon_H36 | zenon_intro zenon_H3d ].
% 19.71/19.90  apply (zenon_L7_); trivial.
% 19.71/19.90  apply (zenon_L8_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H15f | zenon_intro zenon_H162 ].
% 19.71/19.90  apply (zenon_L69_); trivial.
% 19.71/19.90  apply (zenon_L70_); trivial.
% 19.71/19.90  apply (zenon_L63_); trivial.
% 19.71/19.90  (* end of lemma zenon_L110_ *)
% 19.71/19.90  assert (zenon_L111_ : ((~((op1 (e13) (e13)) = (e10)))\/((op1 (e13) (e10)) = (e13))) -> (((op1 (e10) (e10)) = (e11))\/(((op1 (e10) (e11)) = (e11))\/(((op1 (e10) (e12)) = (e11))\/((op1 (e10) (e13)) = (e11))))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e13)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e12)))) -> (~((op1 (e10) (e10)) = (op1 (e10) (e11)))) -> (~((op1 (e10) (e13)) = (op1 (e11) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> (((op1 (e13) (e11)) = (e10))\/(((op1 (e13) (e11)) = (e11))\/(((op1 (e13) (e11)) = (e12))\/((op1 (e13) (e11)) = (e13))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e11)))) -> ((op1 (e12) (e11)) = (e12)) -> (~((op1 (e12) (e11)) = (op1 (e13) (e11)))) -> ((op1 (e11) (e11)) = (e11)) -> (~((op1 (e11) (e11)) = (op1 (e13) (e11)))) -> (~((op1 (e13) (e11)) = (op1 (e13) (e13)))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (((op1 (e10) (e13)) = (e12))\/(((op1 (e11) (e13)) = (e12))\/(((op1 (e12) (e13)) = (e12))\/((op1 (e13) (e13)) = (e12))))) -> (~((op1 (e13) (e10)) = (op1 (e13) (e12)))) -> ((~((op1 (e13) (e13)) = (e12)))\/((op1 (e13) (e12)) = (e13))) -> ((e10) = (op1 (e13) (e13))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H158 zenon_H49 zenon_H25 zenon_H1e zenon_H17 zenon_H6d zenon_H6e zenon_H15 zenon_H118 zenon_H113 zenon_H10e zenon_H10d zenon_Hfc zenon_H102 zenon_Hf5 zenon_H11c zenon_H122 zenon_H143 zenon_H153 zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H153); [ zenon_intro zenon_H123 | zenon_intro zenon_H144 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.71/19.90  apply (zenon_L56_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.71/19.90  apply (zenon_L2_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.71/19.90  apply (zenon_L3_); trivial.
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_L63_); trivial.
% 19.71/19.90  (* end of lemma zenon_L111_ *)
% 19.71/19.90  assert (zenon_L112_ : (~((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H23c zenon_H4f zenon_H15d zenon_Hc9 zenon_H2c zenon_H66 zenon_H67.
% 19.71/19.90  cut (((h4 (e10)) = (op2 (e23) (e23))) = ((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H23c.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H4f.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 19.71/19.90  cut (((h4 (e10)) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23e].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [ zenon_intro zenon_H23f | zenon_intro zenon_H240 ].
% 19.71/19.90  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12)))) = ((h4 (e10)) = (h4 (op1 (e12) (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H23e.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H23f.
% 19.71/19.90  cut (((h4 (op1 (e12) (e12))) = (h4 (op1 (e12) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H240].
% 19.71/19.90  cut (((h4 (op1 (e12) (e12))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H241].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e12) (e12)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H156].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H156 zenon_H15d).
% 19.71/19.90  apply zenon_H240. apply refl_equal.
% 19.71/19.90  apply zenon_H240. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((op2 (e23) (e23)) = (op2 (h4 (e12)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H23d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H242.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H243].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H244].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e22) (e22)) = (e20)) = ((op2 (h4 (e12)) (h4 (e12))) = (op2 (e23) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H244.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hc9.
% 19.71/19.90  cut (((e20) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 19.71/19.90  cut (((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H246].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [ zenon_intro zenon_H242 | zenon_intro zenon_H243 ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12)))) = ((op2 (e22) (e22)) = (op2 (h4 (e12)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H246.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H242.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (h4 (e12)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H243].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e12))) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H247].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply zenon_H243. apply refl_equal.
% 19.71/19.90  apply zenon_H243. apply refl_equal.
% 19.71/19.90  exact (zenon_H245 zenon_H2c).
% 19.71/19.90  apply zenon_H243. apply refl_equal.
% 19.71/19.90  apply zenon_H243. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L112_ *)
% 19.71/19.90  assert (zenon_L113_ : (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> ((e20) = (op2 (e23) (e23))) -> ((op2 (e22) (e23)) = (e20)) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H248 zenon_H2c zenon_H249.
% 19.71/19.90  cut (((e20) = (op2 (e23) (e23))) = ((op2 (e22) (e23)) = (op2 (e23) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H248.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H2c.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 19.71/19.90  cut (((e20) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H24a].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (e22) (e23)) = (op2 (e22) (e23)))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_Hd4 ].
% 19.71/19.90  cut (((op2 (e22) (e23)) = (op2 (e22) (e23))) = ((e20) = (op2 (e22) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H24a.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hd3.
% 19.71/19.90  cut (((op2 (e22) (e23)) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 19.71/19.90  cut (((op2 (e22) (e23)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H24b].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H24b zenon_H249).
% 19.71/19.90  apply zenon_Hd4. apply refl_equal.
% 19.71/19.90  apply zenon_Hd4. apply refl_equal.
% 19.71/19.90  apply zenon_H80. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L113_ *)
% 19.71/19.90  assert (zenon_L114_ : ((~((op1 (e12) (e12)) = (e13)))\/((op1 (e12) (e13)) = (e12))) -> ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((e12) = (op1 (op1 (op1 (e13) (e13)) (op1 (e13) (e13))) (e13))) -> (~((op1 (e11) (e13)) = (op1 (e12) (e13)))) -> (~((op2 (e20) (e20)) = (e20))) -> (((op2 (e22) (e20)) = (e20))\/(((op2 (e22) (e21)) = (e20))\/(((op2 (e22) (e22)) = (e20))\/((op2 (e22) (e23)) = (e20))))) -> (~((op2 (e22) (e23)) = (op2 (e23) (e23)))) -> (~((h4 (op1 (e12) (e12))) = (op2 (h4 (e12)) (h4 (e12))))) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (~((op1 (e12) (e12)) = (e11))) -> (~((op1 (e12) (e12)) = (e12))) -> (((op1 (e12) (e12)) = (e10))\/(((op1 (e12) (e12)) = (e11))\/(((op1 (e12) (e12)) = (e12))\/((op1 (e12) (e12)) = (e13))))) -> ((op2 (e20) (e21)) = (e20)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e21)) = (op2 (e22) (e21)))) -> ((op2 (e22) (e20)) = (e22)) -> (~((e20) = (e22))) -> (~((op2 (e23) (e20)) = (op2 (e23) (e23)))) -> (((op2 (e20) (e20)) = (e20))\/(((op2 (e21) (e20)) = (e20))\/(((op2 (e22) (e20)) = (e20))\/((op2 (e23) (e20)) = (e20))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H24c zenon_H15 zenon_H6e zenon_H11c zenon_H234 zenon_H24d zenon_H248 zenon_H23c zenon_H4f zenon_H67 zenon_H66 zenon_H24e zenon_H127 zenon_H24f zenon_H56 zenon_H2c zenon_H204 zenon_H15e zenon_H58 zenon_H161 zenon_H230.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H24c); [ zenon_intro zenon_H250 | zenon_intro zenon_H11b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H9c | zenon_intro zenon_H235 ].
% 19.71/19.90  exact (zenon_H234 zenon_H9c).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H235); [ zenon_intro zenon_H1b4 | zenon_intro zenon_H236 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H24d); [ zenon_intro zenon_H15f | zenon_intro zenon_H251 ].
% 19.71/19.90  apply (zenon_L69_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H251); [ zenon_intro zenon_H203 | zenon_intro zenon_H252 ].
% 19.71/19.90  apply (zenon_L102_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H252); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H249 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H24f); [ zenon_intro zenon_H15d | zenon_intro zenon_H253 ].
% 19.71/19.90  apply (zenon_L112_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H253); [ zenon_intro zenon_H255 | zenon_intro zenon_H254 ].
% 19.71/19.90  exact (zenon_H24e zenon_H255).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H254); [ zenon_intro zenon_H12b | zenon_intro zenon_H256 ].
% 19.71/19.90  exact (zenon_H127 zenon_H12b).
% 19.71/19.90  exact (zenon_H250 zenon_H256).
% 19.71/19.90  apply (zenon_L113_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H15f | zenon_intro zenon_H162 ].
% 19.71/19.90  apply (zenon_L69_); trivial.
% 19.71/19.90  apply (zenon_L70_); trivial.
% 19.71/19.90  apply (zenon_L55_); trivial.
% 19.71/19.90  (* end of lemma zenon_L114_ *)
% 19.71/19.90  assert (zenon_L115_ : ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op2 (e22) (e20)) = (e21)) -> ((e20) = (op2 (e23) (e23))) -> (~((op2 (e20) (e20)) = (op2 (e22) (e20)))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H2e zenon_H257 zenon_H2c zenon_H258.
% 19.71/19.90  elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_H259 | zenon_intro zenon_H200 ].
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((op2 (e20) (e20)) = (op2 (e22) (e20)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H258.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H259.
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H25a].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((op2 (e22) (e20)) = (op2 (e20) (e20)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H25a.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H2e.
% 19.71/19.90  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 19.71/19.90  cut (((e21) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H25b].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (e22) (e20)) = (op2 (e22) (e20)))); [ zenon_intro zenon_H259 | zenon_intro zenon_H200 ].
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (e22) (e20))) = ((e21) = (op2 (e22) (e20)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H25b.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H259.
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H200].
% 19.71/19.90  cut (((op2 (e22) (e20)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H25c zenon_H257).
% 19.71/19.90  apply zenon_H200. apply refl_equal.
% 19.71/19.90  apply zenon_H200. apply refl_equal.
% 19.71/19.90  apply (zenon_L5_); trivial.
% 19.71/19.90  apply zenon_H200. apply refl_equal.
% 19.71/19.90  apply zenon_H200. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L115_ *)
% 19.71/19.90  assert (zenon_L116_ : (~((op1 (e11) (e11)) = (op1 (e11) (e13)))) -> ((op1 (e11) (e11)) = (e11)) -> ((op1 (e11) (e13)) = (e11)) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H180 zenon_Hfc zenon_H168.
% 19.71/19.90  cut (((op1 (e11) (e11)) = (e11)) = ((op1 (e11) (e11)) = (op1 (e11) (e13)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H180.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hfc.
% 19.71/19.90  cut (((e11) = (op1 (e11) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H16c].
% 19.71/19.90  cut (((op1 (e11) (e11)) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H176].
% 19.71/19.90  congruence.
% 19.71/19.90  apply zenon_H176. apply refl_equal.
% 19.71/19.90  apply zenon_H16c. apply sym_equal. exact zenon_H168.
% 19.71/19.90  (* end of lemma zenon_L116_ *)
% 19.71/19.90  assert (zenon_L117_ : (~((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op1 (e12) (e13)) = (e11)) -> ((op2 (e22) (e23)) = (e21)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e13)) = (e23)) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H25d zenon_H52 zenon_H16e zenon_Hb8 zenon_H2e zenon_H66 zenon_H67 zenon_H8b.
% 19.71/19.90  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((h4 (op1 (e12) (e13))) = (op2 (h4 (e12)) (h4 (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H25d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H52.
% 19.71/19.90  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H25e].
% 19.71/19.90  cut (((h4 (e11)) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H25f].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [ zenon_intro zenon_H260 | zenon_intro zenon_H261 ].
% 19.71/19.90  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13)))) = ((h4 (e11)) = (h4 (op1 (e12) (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H25f.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H260.
% 19.71/19.90  cut (((h4 (op1 (e12) (e13))) = (h4 (op1 (e12) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 19.71/19.90  cut (((h4 (op1 (e12) (e13))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e12) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H172 zenon_H16e).
% 19.71/19.90  apply zenon_H261. apply refl_equal.
% 19.71/19.90  apply zenon_H261. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [ zenon_intro zenon_H263 | zenon_intro zenon_H264 ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13)))) = ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (h4 (e12)) (h4 (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H25e.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H263.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H264].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H265].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e22) (e23)) = (e21)) = ((op2 (h4 (e12)) (h4 (e13))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H265.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hb8.
% 19.71/19.90  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 19.71/19.90  cut (((op2 (e22) (e23)) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H267].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [ zenon_intro zenon_H263 | zenon_intro zenon_H264 ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13)))) = ((op2 (e22) (e23)) = (op2 (h4 (e12)) (h4 (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H267.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H263.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (h4 (e12)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H264].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e13))) = (op2 (e22) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  exact (zenon_H97 zenon_H8b).
% 19.71/19.90  apply zenon_H264. apply refl_equal.
% 19.71/19.90  apply zenon_H264. apply refl_equal.
% 19.71/19.90  exact (zenon_H266 zenon_H2e).
% 19.71/19.90  apply zenon_H264. apply refl_equal.
% 19.71/19.90  apply zenon_H264. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L117_ *)
% 19.71/19.90  assert (zenon_L118_ : ((h4 (e13)) = (e23)) -> ((op1 (e13) (e10)) = (e13)) -> (~((e23) = (h4 (op1 (e13) (e10))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H8b zenon_H114 zenon_H269.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((e23) = (h4 (op1 (e13) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H269.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H26a.
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H26b].
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H26c].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e13)) = (e23)) = ((h4 (op1 (e13) (e10))) = (e23))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H26c.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H8b.
% 19.71/19.90  cut (((e23) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.71/19.90  cut (((h4 (e13)) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H26d].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [ zenon_intro zenon_H26a | zenon_intro zenon_H26b ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10)))) = ((h4 (e13)) = (h4 (op1 (e13) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H26d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H26a.
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H26b].
% 19.71/19.90  cut (((h4 (op1 (e13) (e10))) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H26e].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e13) (e10)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H26f zenon_H114).
% 19.71/19.90  apply zenon_H26b. apply refl_equal.
% 19.71/19.90  apply zenon_H26b. apply refl_equal.
% 19.71/19.90  apply zenon_H72. apply refl_equal.
% 19.71/19.90  apply zenon_H26b. apply refl_equal.
% 19.71/19.90  apply zenon_H26b. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L118_ *)
% 19.71/19.90  assert (zenon_L119_ : ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op1 (e13) (e11)) = (e12)) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> (~((e22) = (h4 (op1 (e13) (e11))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H66 zenon_H108 zenon_H67 zenon_H270.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((e22) = (h4 (op1 (e13) (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H270.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H271.
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((h4 (op1 (e13) (e11))) = (e22))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H273.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H66.
% 19.71/19.90  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 19.71/19.90  cut (((h4 (e12)) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H274].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11)))) = ((h4 (e12)) = (h4 (op1 (e13) (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H274.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H271.
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H272].
% 19.71/19.90  cut (((h4 (op1 (e13) (e11))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H275].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e13) (e11)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H276].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H276 zenon_H108).
% 19.71/19.90  apply zenon_H272. apply refl_equal.
% 19.71/19.90  apply zenon_H272. apply refl_equal.
% 19.71/19.90  apply zenon_H68. apply sym_equal. exact zenon_H67.
% 19.71/19.90  apply zenon_H272. apply refl_equal.
% 19.71/19.90  apply zenon_H272. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L119_ *)
% 19.71/19.90  assert (zenon_L120_ : ((op2 (e23) (e21)) = (e22)) -> ((h4 (e13)) = (e23)) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((op1 (e13) (e11)) = (e12)) -> (~((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H210 zenon_H8b zenon_H52 zenon_H2e zenon_H66 zenon_H67 zenon_H108 zenon_H277.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H278 | zenon_intro zenon_H279 ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((h4 (op1 (e13) (e11))) = (op2 (h4 (e13)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H277.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H278.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H279].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27a].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e23) (e21)) = (e22)) = ((op2 (h4 (e13)) (h4 (e11))) = (h4 (op1 (e13) (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H27a.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H210.
% 19.71/19.90  cut (((e22) = (h4 (op1 (e13) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 19.71/19.90  cut (((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H27b].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [ zenon_intro zenon_H278 | zenon_intro zenon_H279 ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11)))) = ((op2 (e23) (e21)) = (op2 (h4 (e13)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H27b.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H278.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (h4 (e13)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H279].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e11))) = (op2 (e23) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H27c].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.90  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H97 zenon_H8b).
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply zenon_H279. apply refl_equal.
% 19.71/19.90  apply zenon_H279. apply refl_equal.
% 19.71/19.90  apply (zenon_L119_); trivial.
% 19.71/19.90  apply zenon_H279. apply refl_equal.
% 19.71/19.90  apply zenon_H279. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L120_ *)
% 19.71/19.90  assert (zenon_L121_ : ((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) -> ((op1 (e13) (e10)) = (e11)) -> ((e10) = (op1 (e13) (e13))) -> (~((op1 (e10) (e10)) = (op1 (e13) (e10)))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H15 zenon_H27d zenon_H13 zenon_H27e.
% 19.71/19.90  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H141 | zenon_intro zenon_H117 ].
% 19.71/19.90  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((op1 (e10) (e10)) = (op1 (e13) (e10)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H27e.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H141.
% 19.71/19.90  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 19.71/19.90  cut (((op1 (e13) (e10)) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H27f].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((e11) = (op1 (op1 (e13) (e13)) (op1 (e13) (e13)))) = ((op1 (e13) (e10)) = (op1 (e10) (e10)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H27f.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H15.
% 19.71/19.90  cut (((op1 (op1 (e13) (e13)) (op1 (e13) (e13))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 19.71/19.90  cut (((e11) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H280].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op1 (e13) (e10)) = (op1 (e13) (e10)))); [ zenon_intro zenon_H141 | zenon_intro zenon_H117 ].
% 19.71/19.90  cut (((op1 (e13) (e10)) = (op1 (e13) (e10))) = ((e11) = (op1 (e13) (e10)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H280.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H141.
% 19.71/19.90  cut (((op1 (e13) (e10)) = (op1 (e13) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 19.71/19.90  cut (((op1 (e13) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H281].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H281 zenon_H27d).
% 19.71/19.90  apply zenon_H117. apply refl_equal.
% 19.71/19.90  apply zenon_H117. apply refl_equal.
% 19.71/19.90  apply (zenon_L1_); trivial.
% 19.71/19.90  apply zenon_H117. apply refl_equal.
% 19.71/19.90  apply zenon_H117. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L121_ *)
% 19.71/19.90  assert (zenon_L122_ : ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op1 (e13) (e12)) = (e11)) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> (~((e21) = (h4 (op1 (e13) (e12))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H52 zenon_H282 zenon_H2e zenon_H283.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H285 ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12)))) = ((e21) = (h4 (op1 (e13) (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H283.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H284.
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H285].
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H286].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((h4 (op1 (e13) (e12))) = (e21))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H286.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H52.
% 19.71/19.90  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 19.71/19.90  cut (((h4 (e11)) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H287].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H285 ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12)))) = ((h4 (e11)) = (h4 (op1 (e13) (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H287.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H284.
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H285].
% 19.71/19.90  cut (((h4 (op1 (e13) (e12))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H288].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e13) (e12)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H289].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H289 zenon_H282).
% 19.71/19.90  apply zenon_H285. apply refl_equal.
% 19.71/19.90  apply zenon_H285. apply refl_equal.
% 19.71/19.90  apply zenon_H53. apply sym_equal. exact zenon_H2e.
% 19.71/19.90  apply zenon_H285. apply refl_equal.
% 19.71/19.90  apply zenon_H285. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L122_ *)
% 19.71/19.90  assert (zenon_L123_ : ((op2 (e23) (e22)) = (e21)) -> ((h4 (e13)) = (e23)) -> ((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) -> ((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) -> ((op1 (e13) (e12)) = (e11)) -> (~((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))) -> False).
% 19.71/19.90  do 0 intro. intros zenon_Hbb zenon_H8b zenon_H66 zenon_H67 zenon_H52 zenon_H2e zenon_H282 zenon_H28a.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [ zenon_intro zenon_H28b | zenon_intro zenon_H28c ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12)))) = ((h4 (op1 (e13) (e12))) = (op2 (h4 (e13)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H28a.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H28b.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28d].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e23) (e22)) = (e21)) = ((op2 (h4 (e13)) (h4 (e12))) = (h4 (op1 (e13) (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H28d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hbb.
% 19.71/19.90  cut (((e21) = (h4 (op1 (e13) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H283].
% 19.71/19.90  cut (((op2 (e23) (e22)) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28e].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [ zenon_intro zenon_H28b | zenon_intro zenon_H28c ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12)))) = ((op2 (e23) (e22)) = (op2 (h4 (e13)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H28e.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H28b.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (h4 (e13)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H28c].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e12))) = (op2 (e23) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H28f].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H97 zenon_H8b).
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply zenon_H28c. apply refl_equal.
% 19.71/19.90  apply zenon_H28c. apply refl_equal.
% 19.71/19.90  apply (zenon_L122_); trivial.
% 19.71/19.90  apply zenon_H28c. apply refl_equal.
% 19.71/19.90  apply zenon_H28c. apply refl_equal.
% 19.71/19.90  (* end of lemma zenon_L123_ *)
% 19.71/19.90  assert (zenon_L124_ : (~((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))) -> ((h4 (e10)) = (op2 (e23) (e23))) -> ((e10) = (op1 (e13) (e13))) -> ((h4 (e13)) = (e23)) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H290 zenon_H4f zenon_H13 zenon_H8b.
% 19.71/19.90  cut (((h4 (e10)) = (op2 (e23) (e23))) = ((h4 (op1 (e13) (e13))) = (op2 (h4 (e13)) (h4 (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H290.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H4f.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (op2 (h4 (e13)) (h4 (e13))))); [idtac | apply NNPP; zenon_intro zenon_H291].
% 19.71/19.90  cut (((h4 (e10)) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H292].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [ zenon_intro zenon_H293 | zenon_intro zenon_H294 ].
% 19.71/19.90  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13)))) = ((h4 (e10)) = (h4 (op1 (e13) (e13))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H292.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H293.
% 19.71/19.90  cut (((h4 (op1 (e13) (e13))) = (h4 (op1 (e13) (e13))))); [idtac | apply NNPP; zenon_intro zenon_H294].
% 19.71/19.90  cut (((h4 (op1 (e13) (e13))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H295].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e13) (e13)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 19.71/19.90  congruence.
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply zenon_H294. apply refl_equal.
% 19.71/19.90  apply zenon_H294. apply refl_equal.
% 19.71/19.90  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 19.71/19.90  cut (((e23) = (h4 (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 19.71/19.90  congruence.
% 19.71/19.90  apply zenon_H1fb. apply sym_equal. exact zenon_H8b.
% 19.71/19.90  apply zenon_H1fb. apply sym_equal. exact zenon_H8b.
% 19.71/19.90  (* end of lemma zenon_L124_ *)
% 19.71/19.90  assert (zenon_L125_ : (~(((h4 (e10)) = (e23))\/(((h4 (e11)) = (e23))\/(((h4 (e12)) = (e23))\/((h4 (e13)) = (e23)))))) -> ((h4 (e13)) = (e23)) -> False).
% 19.71/19.90  do 0 intro. intros zenon_H296 zenon_H8b.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H296). zenon_intro zenon_H298. zenon_intro zenon_H297.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H297). zenon_intro zenon_H29a. zenon_intro zenon_H299.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H299). zenon_intro zenon_H29b. zenon_intro zenon_H97.
% 19.71/19.90  exact (zenon_H97 zenon_H8b).
% 19.71/19.90  (* end of lemma zenon_L125_ *)
% 19.71/19.90  apply NNPP. intro zenon_G.
% 19.71/19.90  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H29d. zenon_intro zenon_H29c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H29c). zenon_intro zenon_H29f. zenon_intro zenon_H29e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H29e). zenon_intro zenon_H2a1. zenon_intro zenon_H2a0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a0). zenon_intro zenon_H98. zenon_intro zenon_H2a2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a2). zenon_intro zenon_H2a4. zenon_intro zenon_H2a3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a3). zenon_intro zenon_H17f. zenon_intro zenon_H2a5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a5). zenon_intro zenon_H1df. zenon_intro zenon_H2a6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a6). zenon_intro zenon_H2a8. zenon_intro zenon_H2a7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a7). zenon_intro zenon_H2aa. zenon_intro zenon_H2a9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2a9). zenon_intro zenon_H222. zenon_intro zenon_H2ab.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ab). zenon_intro zenon_H24f. zenon_intro zenon_H2ac.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ac). zenon_intro zenon_H2ae. zenon_intro zenon_H2ad.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ad). zenon_intro zenon_H2b0. zenon_intro zenon_H2af.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2af). zenon_intro zenon_H118. zenon_intro zenon_H2b1.
% 19.71/19.90  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H2b3. zenon_intro zenon_H2b2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H157. zenon_intro zenon_H2b4.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b4). zenon_intro zenon_H49. zenon_intro zenon_H2b5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b5). zenon_intro zenon_H2b7. zenon_intro zenon_H2b6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b6). zenon_intro zenon_H14c. zenon_intro zenon_H2b8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b8). zenon_intro zenon_H2ba. zenon_intro zenon_H2b9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2b9). zenon_intro zenon_H2bc. zenon_intro zenon_H2bb.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2bb). zenon_intro zenon_H2be. zenon_intro zenon_H2bd.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2bd). zenon_intro zenon_H2c0. zenon_intro zenon_H2bf.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2bf). zenon_intro zenon_H2c2. zenon_intro zenon_H2c1.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2c1). zenon_intro zenon_H2c4. zenon_intro zenon_H2c3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2c3). zenon_intro zenon_H2c6. zenon_intro zenon_H2c5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2c5). zenon_intro zenon_H2c8. zenon_intro zenon_H2c7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2c7). zenon_intro zenon_H22a. zenon_intro zenon_H2c9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2c9). zenon_intro zenon_H2cb. zenon_intro zenon_H2ca.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ca). zenon_intro zenon_H2cd. zenon_intro zenon_H2cc.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2cc). zenon_intro zenon_H155. zenon_intro zenon_H2ce.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ce). zenon_intro zenon_H2d0. zenon_intro zenon_H2cf.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2cf). zenon_intro zenon_H2d2. zenon_intro zenon_H2d1.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2d1). zenon_intro zenon_H2d4. zenon_intro zenon_H2d3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2d3). zenon_intro zenon_H128. zenon_intro zenon_H2d5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2d5). zenon_intro zenon_H2d7. zenon_intro zenon_H2d6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_H2d9. zenon_intro zenon_H2d8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2d8). zenon_intro zenon_H2db. zenon_intro zenon_H2da.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2da). zenon_intro zenon_H2dd. zenon_intro zenon_H2dc.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2df. zenon_intro zenon_H2de.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2de). zenon_intro zenon_H2e1. zenon_intro zenon_H2e0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2e0). zenon_intro zenon_H17b. zenon_intro zenon_H2e2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2e2). zenon_intro zenon_H2e4. zenon_intro zenon_H2e3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2e3). zenon_intro zenon_H122. zenon_intro zenon_H2e5.
% 19.71/19.90  apply (zenon_and_s _ _ ax3). zenon_intro zenon_H2e7. zenon_intro zenon_H2e6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2e6). zenon_intro zenon_H2e9. zenon_intro zenon_H2e8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2e8). zenon_intro zenon_H2eb. zenon_intro zenon_H2ea.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_H2ed. zenon_intro zenon_H2ec.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ec). zenon_intro zenon_H2ef. zenon_intro zenon_H2ee.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ee). zenon_intro zenon_H1a1. zenon_intro zenon_H2f0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f0). zenon_intro zenon_H1ee. zenon_intro zenon_H2f1.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f1). zenon_intro zenon_H2f3. zenon_intro zenon_H2f2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f2). zenon_intro zenon_H2f5. zenon_intro zenon_H2f4.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f4). zenon_intro zenon_H22d. zenon_intro zenon_H2f6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f6). zenon_intro zenon_Hc4. zenon_intro zenon_H2f7.
% 19.71/19.90  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H2f9. zenon_intro zenon_H2f8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2f8). zenon_intro zenon_H230. zenon_intro zenon_H2fa.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2fa). zenon_intro zenon_H44. zenon_intro zenon_H2fb.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2fb). zenon_intro zenon_H2fd. zenon_intro zenon_H2fc.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_He7. zenon_intro zenon_H2fe.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2fe). zenon_intro zenon_H300. zenon_intro zenon_H2ff.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H2ff). zenon_intro zenon_H302. zenon_intro zenon_H301.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H301). zenon_intro zenon_H304. zenon_intro zenon_H303.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H303). zenon_intro zenon_H306. zenon_intro zenon_H305.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H305). zenon_intro zenon_H308. zenon_intro zenon_H307.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H307). zenon_intro zenon_H30a. zenon_intro zenon_H309.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H309). zenon_intro zenon_H30c. zenon_intro zenon_H30b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H30b). zenon_intro zenon_H30e. zenon_intro zenon_H30d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H30d). zenon_intro zenon_H231. zenon_intro zenon_H30f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H30f). zenon_intro zenon_H311. zenon_intro zenon_H310.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H310). zenon_intro zenon_H313. zenon_intro zenon_H312.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H24d. zenon_intro zenon_H314.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H314). zenon_intro zenon_H316. zenon_intro zenon_H315.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H315). zenon_intro zenon_H318. zenon_intro zenon_H317.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H317). zenon_intro zenon_H31a. zenon_intro zenon_H319.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H319). zenon_intro zenon_H31c. zenon_intro zenon_H31b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H31b). zenon_intro zenon_H31e. zenon_intro zenon_H31d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H31d). zenon_intro zenon_H320. zenon_intro zenon_H31f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H31f). zenon_intro zenon_H322. zenon_intro zenon_H321.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H321). zenon_intro zenon_H324. zenon_intro zenon_H323.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H323). zenon_intro zenon_H326. zenon_intro zenon_H325.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H325). zenon_intro zenon_Hda. zenon_intro zenon_H327.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H327). zenon_intro zenon_Hdb. zenon_intro zenon_H328.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H328). zenon_intro zenon_H32a. zenon_intro zenon_H329.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H329). zenon_intro zenon_H233. zenon_intro zenon_H32b.
% 19.71/19.90  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H18c. zenon_intro zenon_H32c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H32c). zenon_intro zenon_H32e. zenon_intro zenon_H32d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H32d). zenon_intro zenon_H27e. zenon_intro zenon_H32f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H32f). zenon_intro zenon_H331. zenon_intro zenon_H330.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H330). zenon_intro zenon_H333. zenon_intro zenon_H332.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H332). zenon_intro zenon_H335. zenon_intro zenon_H334.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H334). zenon_intro zenon_H174. zenon_intro zenon_H336.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H136. zenon_intro zenon_H337.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H337). zenon_intro zenon_H339. zenon_intro zenon_H338.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H338). zenon_intro zenon_H223. zenon_intro zenon_H33a.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33a). zenon_intro zenon_H102. zenon_intro zenon_H33b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33b). zenon_intro zenon_H10d. zenon_intro zenon_H33c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33c). zenon_intro zenon_H1e1. zenon_intro zenon_H33d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33d). zenon_intro zenon_H147. zenon_intro zenon_H33e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33e). zenon_intro zenon_H340. zenon_intro zenon_H33f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H33f). zenon_intro zenon_H342. zenon_intro zenon_H341.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H341). zenon_intro zenon_H344. zenon_intro zenon_H343.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H343). zenon_intro zenon_H346. zenon_intro zenon_H345.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H345). zenon_intro zenon_H6d. zenon_intro zenon_H347.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H347). zenon_intro zenon_H16f. zenon_intro zenon_H348.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H348). zenon_intro zenon_H83. zenon_intro zenon_H349.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H349). zenon_intro zenon_H11c. zenon_intro zenon_H34a.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H34a). zenon_intro zenon_H34c. zenon_intro zenon_H34b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H34b). zenon_intro zenon_H13a. zenon_intro zenon_H34d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H34d). zenon_intro zenon_H17. zenon_intro zenon_H34e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H1e. zenon_intro zenon_H34f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H34f). zenon_intro zenon_H25. zenon_intro zenon_H350.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H350). zenon_intro zenon_H78. zenon_intro zenon_H351.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H351). zenon_intro zenon_H353. zenon_intro zenon_H352.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H352). zenon_intro zenon_H355. zenon_intro zenon_H354.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H354). zenon_intro zenon_H357. zenon_intro zenon_H356.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H356). zenon_intro zenon_H1e0. zenon_intro zenon_H358.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H358). zenon_intro zenon_H35a. zenon_intro zenon_H359.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H359). zenon_intro zenon_H1cd. zenon_intro zenon_H35b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H35b). zenon_intro zenon_H180. zenon_intro zenon_H35c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H35c). zenon_intro zenon_H35e. zenon_intro zenon_H35d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H35d). zenon_intro zenon_H360. zenon_intro zenon_H35f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H35f). zenon_intro zenon_H362. zenon_intro zenon_H361.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H361). zenon_intro zenon_H364. zenon_intro zenon_H363.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H363). zenon_intro zenon_H366. zenon_intro zenon_H365.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H365). zenon_intro zenon_H368. zenon_intro zenon_H367.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H367). zenon_intro zenon_H36a. zenon_intro zenon_H369.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H369). zenon_intro zenon_H113. zenon_intro zenon_H36b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H36b). zenon_intro zenon_H143. zenon_intro zenon_H36c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H36c). zenon_intro zenon_H13e. zenon_intro zenon_H36d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H36d). zenon_intro zenon_H36f. zenon_intro zenon_H36e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H36e). zenon_intro zenon_Hf5. zenon_intro zenon_H370.
% 19.71/19.90  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H1ad. zenon_intro zenon_H371.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H371). zenon_intro zenon_H258. zenon_intro zenon_H372.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H372). zenon_intro zenon_Ha0. zenon_intro zenon_H373.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H373). zenon_intro zenon_H375. zenon_intro zenon_H374.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H374). zenon_intro zenon_H377. zenon_intro zenon_H376.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H376). zenon_intro zenon_H379. zenon_intro zenon_H378.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H378). zenon_intro zenon_H19b. zenon_intro zenon_H37a.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H37a). zenon_intro zenon_H204. zenon_intro zenon_H37b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H37b). zenon_intro zenon_H37d. zenon_intro zenon_H37c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H37c). zenon_intro zenon_H20b. zenon_intro zenon_H37e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H37e). zenon_intro zenon_Had. zenon_intro zenon_H37f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H37f). zenon_intro zenon_H212. zenon_intro zenon_H380.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H380). zenon_intro zenon_H1c9. zenon_intro zenon_H381.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H381). zenon_intro zenon_He4. zenon_intro zenon_H382.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H382). zenon_intro zenon_H384. zenon_intro zenon_H383.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H383). zenon_intro zenon_H386. zenon_intro zenon_H385.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H385). zenon_intro zenon_H388. zenon_intro zenon_H387.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H387). zenon_intro zenon_Hbe. zenon_intro zenon_H389.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H389). zenon_intro zenon_H74. zenon_intro zenon_H38a.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H38a). zenon_intro zenon_H198. zenon_intro zenon_H38b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H38b). zenon_intro zenon_H7e. zenon_intro zenon_H38c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H38c). zenon_intro zenon_Hd2. zenon_intro zenon_H38d.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H38d). zenon_intro zenon_H38f. zenon_intro zenon_H38e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H38e). zenon_intro zenon_H248. zenon_intro zenon_H390.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H390). zenon_intro zenon_H30. zenon_intro zenon_H391.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H391). zenon_intro zenon_H37. zenon_intro zenon_H392.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H392). zenon_intro zenon_H3e. zenon_intro zenon_H393.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H393). zenon_intro zenon_H7b. zenon_intro zenon_H394.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H394). zenon_intro zenon_H396. zenon_intro zenon_H395.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H395). zenon_intro zenon_H398. zenon_intro zenon_H397.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H397). zenon_intro zenon_H39a. zenon_intro zenon_H399.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H399). zenon_intro zenon_H1ba. zenon_intro zenon_H39b.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H39b). zenon_intro zenon_H39d. zenon_intro zenon_H39c.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H39c). zenon_intro zenon_H1c0. zenon_intro zenon_H39e.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H39e). zenon_intro zenon_Hb3. zenon_intro zenon_H39f.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H39f). zenon_intro zenon_H3a1. zenon_intro zenon_H3a0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a0). zenon_intro zenon_H1fd. zenon_intro zenon_H3a2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a2). zenon_intro zenon_H3a4. zenon_intro zenon_H3a3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a3). zenon_intro zenon_H3a6. zenon_intro zenon_H3a5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a5). zenon_intro zenon_H3a8. zenon_intro zenon_H3a7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a7). zenon_intro zenon_H3aa. zenon_intro zenon_H3a9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3a9). zenon_intro zenon_H3ac. zenon_intro zenon_H3ab.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3ab). zenon_intro zenon_Hcd. zenon_intro zenon_H3ad.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3ad). zenon_intro zenon_H1f1. zenon_intro zenon_H3ae.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3ae). zenon_intro zenon_H161. zenon_intro zenon_H3af.
% 19.71/19.90  apply (zenon_and_s _ _ ax7). zenon_intro zenon_H3b1. zenon_intro zenon_H3b0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3b0). zenon_intro zenon_H60. zenon_intro zenon_H3b2.
% 19.71/19.90  apply (zenon_and_s _ _ ax8). zenon_intro zenon_H3b4. zenon_intro zenon_H3b3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3b3). zenon_intro zenon_H58. zenon_intro zenon_H3b5.
% 19.71/19.90  apply (zenon_and_s _ _ ax10). zenon_intro zenon_H3b7. zenon_intro zenon_H3b6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3b6). zenon_intro zenon_H3b9. zenon_intro zenon_H3b8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3b8). zenon_intro zenon_Hee. zenon_intro zenon_H3ba.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3ba). zenon_intro zenon_H151. zenon_intro zenon_H3bb.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3bb). zenon_intro zenon_H3bd. zenon_intro zenon_H3bc.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3bc). zenon_intro zenon_H190. zenon_intro zenon_H3be.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3be). zenon_intro zenon_H17e. zenon_intro zenon_H3bf.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3bf). zenon_intro zenon_H3c1. zenon_intro zenon_H3c0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c0). zenon_intro zenon_H182. zenon_intro zenon_H3c2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c2). zenon_intro zenon_H3c4. zenon_intro zenon_H3c3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c3). zenon_intro zenon_H3c6. zenon_intro zenon_H3c5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c5). zenon_intro zenon_H152. zenon_intro zenon_H3c7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c7). zenon_intro zenon_H24c. zenon_intro zenon_H3c8.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c8). zenon_intro zenon_H158. zenon_intro zenon_H3c9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3c9). zenon_intro zenon_H3cb. zenon_intro zenon_H3ca.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3ca). zenon_intro zenon_H153. zenon_intro zenon_H3cc.
% 19.71/19.90  apply (zenon_and_s _ _ ax11). zenon_intro zenon_H3ce. zenon_intro zenon_H3cd.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3cd). zenon_intro zenon_H3d0. zenon_intro zenon_H3cf.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3cf). zenon_intro zenon_H9b. zenon_intro zenon_H3d1.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d1). zenon_intro zenon_He8. zenon_intro zenon_H3d2.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d2). zenon_intro zenon_H3d4. zenon_intro zenon_H3d3.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d3). zenon_intro zenon_H1b3. zenon_intro zenon_H3d5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d5). zenon_intro zenon_H1a0. zenon_intro zenon_H3d6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d6). zenon_intro zenon_H3d8. zenon_intro zenon_H3d7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d7). zenon_intro zenon_H1a3. zenon_intro zenon_H3d9.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3d9). zenon_intro zenon_H3db. zenon_intro zenon_H3da.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3da). zenon_intro zenon_H3dd. zenon_intro zenon_H3dc.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3dc). zenon_intro zenon_Hed. zenon_intro zenon_H3de.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_Hd8. zenon_intro zenon_H3df.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3df). zenon_intro zenon_Hdc. zenon_intro zenon_H3e0.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e0). zenon_intro zenon_Hd9. zenon_intro zenon_H3e1.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e1). zenon_intro zenon_H3e3. zenon_intro zenon_H3e2.
% 19.71/19.90  apply (zenon_and_s _ _ ax12). zenon_intro zenon_H13. zenon_intro zenon_H3e4.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e4). zenon_intro zenon_H15. zenon_intro zenon_H6e.
% 19.71/19.90  apply (zenon_and_s _ _ ax13). zenon_intro zenon_H2c. zenon_intro zenon_H3e5.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e5). zenon_intro zenon_H2e. zenon_intro zenon_H67.
% 19.71/19.90  apply (zenon_and_s _ _ ax17). zenon_intro zenon_H8b. zenon_intro zenon_H3e6.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H4f. zenon_intro zenon_H3e7.
% 19.71/19.90  apply (zenon_and_s _ _ zenon_H3e7). zenon_intro zenon_H52. zenon_intro zenon_H66.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H3e9. zenon_intro zenon_H3e8.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H3e8). zenon_intro zenon_H3eb. zenon_intro zenon_H3ea.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H3ea). zenon_intro zenon_H3ed. zenon_intro zenon_H3ec.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H3ec); [ zenon_intro zenon_H3ef | zenon_intro zenon_H3ee ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.71/19.90  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((h4 (op1 (e10) (e10))) = (op2 (h4 (e10)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H3ef.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H52.
% 19.71/19.90  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (h4 (e10)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3f0].
% 19.71/19.90  cut (((h4 (e11)) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3f1].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [ zenon_intro zenon_H3f2 | zenon_intro zenon_H3f3 ].
% 19.71/19.90  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10)))) = ((h4 (e11)) = (h4 (op1 (e10) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H3f1.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H3f2.
% 19.71/19.90  cut (((h4 (op1 (e10) (e10))) = (h4 (op1 (e10) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H3f3].
% 19.71/19.90  cut (((h4 (op1 (e10) (e10))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H3f4].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e10) (e10)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H4a zenon_H4c).
% 19.71/19.90  apply zenon_H3f3. apply refl_equal.
% 19.71/19.90  apply zenon_H3f3. apply refl_equal.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H3f5].
% 19.71/19.90  cut (((op2 (e23) (e23)) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H3f5].
% 19.71/19.90  congruence.
% 19.71/19.90  apply zenon_H3f5. apply sym_equal. exact zenon_H4f.
% 19.71/19.90  apply zenon_H3f5. apply sym_equal. exact zenon_H4f.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.71/19.90  apply (zenon_L2_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.71/19.90  apply (zenon_L3_); trivial.
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H3ee); [ zenon_intro zenon_H3f7 | zenon_intro zenon_H3f6 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  cut (((h4 (e10)) = (op2 (e23) (e23))) = ((h4 (op1 (e10) (e11))) = (op2 (h4 (e10)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H3f7.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H4f.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f8].
% 19.71/19.90  cut (((h4 (e10)) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f9].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [ zenon_intro zenon_H3fa | zenon_intro zenon_H3fb ].
% 19.71/19.90  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11)))) = ((h4 (e10)) = (h4 (op1 (e10) (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H3f9.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H3fa.
% 19.71/19.90  cut (((h4 (op1 (e10) (e11))) = (h4 (op1 (e10) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3fb].
% 19.71/19.90  cut (((h4 (op1 (e10) (e11))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H3fc].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e10) (e11)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3fd].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H3fd zenon_H5e).
% 19.71/19.90  apply zenon_H3fb. apply refl_equal.
% 19.71/19.90  apply zenon_H3fb. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_H3fe | zenon_intro zenon_H3ff ].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((op2 (e23) (e23)) = (op2 (h4 (e10)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H3f8.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H3fe.
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3ff].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H400].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e20) (e21)) = (e20)) = ((op2 (h4 (e10)) (h4 (e11))) = (op2 (e23) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H400.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H56.
% 19.71/19.90  cut (((e20) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 19.71/19.90  cut (((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H401].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [ zenon_intro zenon_H3fe | zenon_intro zenon_H3ff ].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11)))) = ((op2 (e20) (e21)) = (op2 (h4 (e10)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H401.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H3fe.
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (h4 (e10)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3ff].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e11))) = (op2 (e20) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H402].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.90  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply zenon_H3ff. apply refl_equal.
% 19.71/19.90  apply zenon_H3ff. apply refl_equal.
% 19.71/19.90  exact (zenon_H245 zenon_H2c).
% 19.71/19.90  apply zenon_H3ff. apply refl_equal.
% 19.71/19.90  apply zenon_H3ff. apply refl_equal.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H3f6); [ zenon_intro zenon_H404 | zenon_intro zenon_H403 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_He8); [ zenon_intro zenon_He9 | zenon_intro zenon_H7c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H151); [ zenon_intro zenon_H14d | zenon_intro zenon_H79 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_He7); [ zenon_intro zenon_Heb | zenon_intro zenon_Hea ].
% 19.71/19.90  exact (zenon_He9 zenon_Heb).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hea); [ zenon_intro zenon_H57 | zenon_intro zenon_Hec ].
% 19.71/19.90  apply (zenon_L14_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hec); [ zenon_intro zenon_He3 | zenon_intro zenon_H75 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H14c); [ zenon_intro zenon_H14f | zenon_intro zenon_H14e ].
% 19.71/19.90  exact (zenon_H14d zenon_H14f).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H14e); [ zenon_intro zenon_H5f | zenon_intro zenon_H150 ].
% 19.71/19.90  apply (zenon_L16_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H150); [ zenon_intro zenon_H146 | zenon_intro zenon_H6f ].
% 19.71/19.90  cut (((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((h4 (op1 (e10) (e12))) = (op2 (h4 (e10)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H404.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H66.
% 19.71/19.90  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H405].
% 19.71/19.90  cut (((h4 (e12)) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H406].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [ zenon_intro zenon_H407 | zenon_intro zenon_H408 ].
% 19.71/19.90  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12)))) = ((h4 (e12)) = (h4 (op1 (e10) (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H406.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H407.
% 19.71/19.90  cut (((h4 (op1 (e10) (e12))) = (h4 (op1 (e10) (e12))))); [idtac | apply NNPP; zenon_intro zenon_H408].
% 19.71/19.90  cut (((h4 (op1 (e10) (e12))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H409].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e10) (e12)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H40a].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H40a zenon_H146).
% 19.71/19.90  apply zenon_H408. apply refl_equal.
% 19.71/19.90  apply zenon_H408. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H40b | zenon_intro zenon_H40c ].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (h4 (e10)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H405.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H40b.
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H40c].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40d].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e20) (e22)) = (e22)) = ((op2 (h4 (e10)) (h4 (e12))) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H40d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_He3.
% 19.71/19.90  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40e].
% 19.71/19.90  cut (((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H40f].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [ zenon_intro zenon_H40b | zenon_intro zenon_H40c ].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12)))) = ((op2 (e20) (e22)) = (op2 (h4 (e10)) (h4 (e12))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H40f.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H40b.
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (h4 (e10)) (h4 (e12))))); [idtac | apply NNPP; zenon_intro zenon_H40c].
% 19.71/19.90  cut (((op2 (h4 (e10)) (h4 (e12))) = (op2 (e20) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H410].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply zenon_H40c. apply refl_equal.
% 19.71/19.90  apply zenon_H40c. apply refl_equal.
% 19.71/19.90  exact (zenon_H40e zenon_H67).
% 19.71/19.90  apply zenon_H40c. apply refl_equal.
% 19.71/19.90  apply zenon_H40c. apply refl_equal.
% 19.71/19.90  apply (zenon_L20_); trivial.
% 19.71/19.90  apply (zenon_L23_); trivial.
% 19.71/19.90  apply (zenon_L24_); trivial.
% 19.71/19.90  apply (zenon_L25_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H403); [ zenon_intro zenon_H88 | zenon_intro zenon_H411 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H2ed); [ zenon_intro zenon_H7f | zenon_intro zenon_H412 ].
% 19.71/19.90  apply (zenon_L26_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H412); [ zenon_intro zenon_H3d | zenon_intro zenon_H413 ].
% 19.71/19.90  apply (zenon_L8_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H413); [ zenon_intro zenon_H75 | zenon_intro zenon_H8a ].
% 19.71/19.90  apply (zenon_L23_); trivial.
% 19.71/19.90  apply (zenon_L29_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H411); [ zenon_intro zenon_H415 | zenon_intro zenon_H414 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d0); [ zenon_intro zenon_H234 | zenon_intro zenon_H9c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H154 | zenon_intro zenon_Hef ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3c4); [ zenon_intro zenon_H156 | zenon_intro zenon_Hf2 ].
% 19.71/19.90  apply (zenon_L67_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H9c | zenon_intro zenon_H235 ].
% 19.71/19.90  exact (zenon_H234 zenon_H9c).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H235); [ zenon_intro zenon_H1b4 | zenon_intro zenon_H236 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H157); [ zenon_intro zenon_Hef | zenon_intro zenon_H159 ].
% 19.71/19.90  exact (zenon_H154 zenon_Hef).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H159); [ zenon_intro zenon_H12c | zenon_intro zenon_H15a ].
% 19.71/19.90  cut (((h4 (e10)) = (op2 (e23) (e23))) = ((h4 (op1 (e11) (e10))) = (op2 (h4 (e11)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H415.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H4f.
% 19.71/19.90  cut (((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H41a].
% 19.71/19.90  cut (((h4 (e10)) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H41b].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [ zenon_intro zenon_H41c | zenon_intro zenon_H41d ].
% 19.71/19.90  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10)))) = ((h4 (e10)) = (h4 (op1 (e11) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H41b.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H41c.
% 19.71/19.90  cut (((h4 (op1 (e11) (e10))) = (h4 (op1 (e11) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H41d].
% 19.71/19.90  cut (((h4 (op1 (e11) (e10))) = (h4 (e10)))); [idtac | apply NNPP; zenon_intro zenon_H41e].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e11) (e10)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H132].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H132 zenon_H12c).
% 19.71/19.90  apply zenon_H41d. apply refl_equal.
% 19.71/19.90  apply zenon_H41d. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H41f | zenon_intro zenon_H420 ].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e23) (e23)) = (op2 (h4 (e11)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H41a.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H41f.
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H420].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H421].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e21) (e20)) = (e20)) = ((op2 (h4 (e11)) (h4 (e10))) = (op2 (e23) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H421.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H1b4.
% 19.71/19.90  cut (((e20) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H245].
% 19.71/19.90  cut (((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H422].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [ zenon_intro zenon_H41f | zenon_intro zenon_H420 ].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10)))) = ((op2 (e21) (e20)) = (op2 (h4 (e11)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H422.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H41f.
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (h4 (e11)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H420].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e10))) = (op2 (e21) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H423].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.71/19.90  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply zenon_H420. apply refl_equal.
% 19.71/19.90  apply zenon_H420. apply refl_equal.
% 19.71/19.90  exact (zenon_H245 zenon_H2c).
% 19.71/19.90  apply zenon_H420. apply refl_equal.
% 19.71/19.90  apply zenon_H420. apply refl_equal.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H15a); [ zenon_intro zenon_Hf3 | zenon_intro zenon_H13f ].
% 19.71/19.90  apply (zenon_L47_); trivial.
% 19.71/19.90  apply (zenon_L62_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H15f | zenon_intro zenon_H162 ].
% 19.71/19.90  apply (zenon_L69_); trivial.
% 19.71/19.90  apply (zenon_L70_); trivial.
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H414); [ zenon_intro zenon_H425 | zenon_intro zenon_H424 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  cut (((h4 (e11)) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23)))) = ((h4 (op1 (e11) (e11))) = (op2 (h4 (e11)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H425.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H52.
% 19.71/19.90  cut (((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H426].
% 19.71/19.90  cut (((h4 (e11)) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H427].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [ zenon_intro zenon_H428 | zenon_intro zenon_H429 ].
% 19.71/19.90  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11)))) = ((h4 (e11)) = (h4 (op1 (e11) (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H427.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H428.
% 19.71/19.90  cut (((h4 (op1 (e11) (e11))) = (h4 (op1 (e11) (e11))))); [idtac | apply NNPP; zenon_intro zenon_H429].
% 19.71/19.90  cut (((h4 (op1 (e11) (e11))) = (h4 (e11)))); [idtac | apply NNPP; zenon_intro zenon_H42a].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e11) (e11)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H179].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H179 zenon_Hfc).
% 19.71/19.90  apply zenon_H429. apply refl_equal.
% 19.71/19.90  apply zenon_H429. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H42b | zenon_intro zenon_H42c ].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((op2 (op2 (e23) (e23)) (op2 (e23) (e23))) = (op2 (h4 (e11)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H426.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H42b.
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H42d].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e21) (e21)) = (e21)) = ((op2 (h4 (e11)) (h4 (e11))) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H42d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Ha7.
% 19.71/19.90  cut (((e21) = (op2 (op2 (e23) (e23)) (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H266].
% 19.71/19.90  cut (((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H42e].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [ zenon_intro zenon_H42b | zenon_intro zenon_H42c ].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11)))) = ((op2 (e21) (e21)) = (op2 (h4 (e11)) (h4 (e11))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H42e.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H42b.
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (h4 (e11)) (h4 (e11))))); [idtac | apply NNPP; zenon_intro zenon_H42c].
% 19.71/19.90  cut (((op2 (h4 (e11)) (h4 (e11))) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H42f].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.90  cut (((h4 (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply zenon_H42c. apply refl_equal.
% 19.71/19.90  apply zenon_H42c. apply refl_equal.
% 19.71/19.90  exact (zenon_H266 zenon_H2e).
% 19.71/19.90  apply zenon_H42c. apply refl_equal.
% 19.71/19.90  apply zenon_H42c. apply refl_equal.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H424); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H430 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d0); [ zenon_intro zenon_H234 | zenon_intro zenon_H9c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_He8); [ zenon_intro zenon_He9 | zenon_intro zenon_H7c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_H2d | zenon_intro zenon_Hce ].
% 19.71/19.90  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_H232 | zenon_intro zenon_H1f2 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H154 | zenon_intro zenon_Hef ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H151); [ zenon_intro zenon_H14d | zenon_intro zenon_H79 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3c4); [ zenon_intro zenon_H156 | zenon_intro zenon_Hf2 ].
% 19.71/19.90  apply (zenon_L67_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H153); [ zenon_intro zenon_H123 | zenon_intro zenon_H144 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H9c | zenon_intro zenon_H235 ].
% 19.71/19.90  exact (zenon_H234 zenon_H9c).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H235); [ zenon_intro zenon_H1b4 | zenon_intro zenon_H236 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_He7); [ zenon_intro zenon_Heb | zenon_intro zenon_Hea ].
% 19.71/19.90  exact (zenon_He9 zenon_Heb).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hea); [ zenon_intro zenon_H57 | zenon_intro zenon_Hec ].
% 19.71/19.90  apply (zenon_L14_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hec); [ zenon_intro zenon_He3 | zenon_intro zenon_H75 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H233); [ zenon_intro zenon_H75 | zenon_intro zenon_H239 ].
% 19.71/19.90  apply (zenon_L23_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H239); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H23a ].
% 19.71/19.90  apply (zenon_L97_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H23a); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H23b ].
% 19.71/19.90  apply (zenon_L40_); trivial.
% 19.71/19.90  exact (zenon_H232 zenon_H23b).
% 19.71/19.90  apply (zenon_L23_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H236); [ zenon_intro zenon_H15f | zenon_intro zenon_H162 ].
% 19.71/19.90  apply (zenon_L69_); trivial.
% 19.71/19.90  apply (zenon_L70_); trivial.
% 19.71/19.90  apply (zenon_L63_); trivial.
% 19.71/19.90  apply (zenon_L24_); trivial.
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L98_); trivial.
% 19.71/19.90  apply (zenon_L25_); trivial.
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H430); [ zenon_intro zenon_H1f4 | zenon_intro zenon_H431 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H153); [ zenon_intro zenon_H123 | zenon_intro zenon_H144 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H122); [ zenon_intro zenon_H6f | zenon_intro zenon_H124 ].
% 19.71/19.90  apply (zenon_L20_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H124); [ zenon_intro zenon_H107 | zenon_intro zenon_H125 ].
% 19.71/19.90  apply (zenon_L99_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H125); [ zenon_intro zenon_H11b | zenon_intro zenon_H126 ].
% 19.71/19.90  apply (zenon_L55_); trivial.
% 19.71/19.90  exact (zenon_H123 zenon_H126).
% 19.71/19.90  apply (zenon_L63_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H431); [ zenon_intro zenon_H433 | zenon_intro zenon_H432 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H154 | zenon_intro zenon_Hef ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3c4); [ zenon_intro zenon_H156 | zenon_intro zenon_Hf2 ].
% 19.71/19.90  apply (zenon_L67_); trivial.
% 19.71/19.90  cut (((h4 (e12)) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23))) = ((h4 (op1 (e12) (e10))) = (op2 (h4 (e12)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H433.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H66.
% 19.71/19.90  cut (((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H434].
% 19.71/19.90  cut (((h4 (e12)) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H435].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [ zenon_intro zenon_H436 | zenon_intro zenon_H437 ].
% 19.71/19.90  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10)))) = ((h4 (e12)) = (h4 (op1 (e12) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H435.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H436.
% 19.71/19.90  cut (((h4 (op1 (e12) (e10))) = (h4 (op1 (e12) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H437].
% 19.71/19.90  cut (((h4 (op1 (e12) (e10))) = (h4 (e12)))); [idtac | apply NNPP; zenon_intro zenon_H438].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op1 (e12) (e10)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H439].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H439 zenon_Hf2).
% 19.71/19.90  apply zenon_H437. apply refl_equal.
% 19.71/19.90  apply zenon_H437. apply refl_equal.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H43a | zenon_intro zenon_H43b ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)) = (op2 (h4 (e12)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H434.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H43a.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H43b].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H43c].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e22) (e20)) = (e22)) = ((op2 (h4 (e12)) (h4 (e10))) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H43c.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H15e.
% 19.71/19.90  cut (((e22) = (op2 (op2 (op2 (e23) (e23)) (op2 (e23) (e23))) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H40e].
% 19.71/19.90  cut (((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H43d].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [ zenon_intro zenon_H43a | zenon_intro zenon_H43b ].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10)))) = ((op2 (e22) (e20)) = (op2 (h4 (e12)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H43d.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H43a.
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (h4 (e12)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H43b].
% 19.71/19.90  cut (((op2 (h4 (e12)) (h4 (e10))) = (op2 (e22) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H43e].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.71/19.90  cut (((h4 (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.71/19.90  congruence.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply zenon_H43b. apply refl_equal.
% 19.71/19.90  apply zenon_H43b. apply refl_equal.
% 19.71/19.90  exact (zenon_H40e zenon_H67).
% 19.71/19.90  apply zenon_H43b. apply refl_equal.
% 19.71/19.90  apply zenon_H43b. apply refl_equal.
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H432); [ zenon_intro zenon_H214 | zenon_intro zenon_H43f ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d0); [ zenon_intro zenon_H234 | zenon_intro zenon_H9c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H1ab | zenon_intro zenon_H1c1 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_H2d | zenon_intro zenon_Hce ].
% 19.71/19.90  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3e3); [ zenon_intro zenon_H232 | zenon_intro zenon_H1f2 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b9); [ zenon_intro zenon_H154 | zenon_intro zenon_Hef ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3c1); [ zenon_intro zenon_H18a | zenon_intro zenon_H1ce ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H152); [ zenon_intro zenon_H127 | zenon_intro zenon_H12b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H128); [ zenon_intro zenon_Hf2 | zenon_intro zenon_H129 ].
% 19.71/19.90  apply (zenon_L110_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H129); [ zenon_intro zenon_H10e | zenon_intro zenon_H12a ].
% 19.71/19.90  apply (zenon_L111_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H12a); [ zenon_intro zenon_H12b | zenon_intro zenon_H11b ].
% 19.71/19.90  exact (zenon_H127 zenon_H12b).
% 19.71/19.90  apply (zenon_L55_); trivial.
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L92_); trivial.
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L98_); trivial.
% 19.71/19.90  apply (zenon_L89_); trivial.
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H43f); [ zenon_intro zenon_H23c | zenon_intro zenon_H440 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d0); [ zenon_intro zenon_H234 | zenon_intro zenon_H9c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hee); [ zenon_intro zenon_H4a | zenon_intro zenon_H5e ].
% 19.71/19.90  apply (zenon_L10_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H151); [ zenon_intro zenon_H14d | zenon_intro zenon_H79 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3c6); [ zenon_intro zenon_H24e | zenon_intro zenon_H10e ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H152); [ zenon_intro zenon_H127 | zenon_intro zenon_H12b ].
% 19.71/19.90  apply (zenon_L114_); trivial.
% 19.71/19.90  apply (zenon_L65_); trivial.
% 19.71/19.90  apply (zenon_L111_); trivial.
% 19.71/19.90  apply (zenon_L24_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H440); [ zenon_intro zenon_H25d | zenon_intro zenon_H441 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3dd); [ zenon_intro zenon_Hc3 | zenon_intro zenon_H1fe ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3cb); [ zenon_intro zenon_H17a | zenon_intro zenon_H115 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H44); [ zenon_intro zenon_H47 | zenon_intro zenon_H46 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H318); [ zenon_intro zenon_H257 | zenon_intro zenon_H442 ].
% 19.71/19.90  apply (zenon_L115_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H442); [ zenon_intro zenon_H20a | zenon_intro zenon_H443 ].
% 19.71/19.90  apply (zenon_L103_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H443); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hb8 ].
% 19.71/19.90  exact (zenon_Hc3 zenon_Hbf).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H17b); [ zenon_intro zenon_H24 | zenon_intro zenon_H17c ].
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H17c); [ zenon_intro zenon_H168 | zenon_intro zenon_H17d ].
% 19.71/19.90  apply (zenon_L116_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H17d); [ zenon_intro zenon_H16e | zenon_intro zenon_H173 ].
% 19.71/19.90  apply (zenon_L117_); trivial.
% 19.71/19.90  exact (zenon_H17a zenon_H173).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H46); [ zenon_intro zenon_H2f | zenon_intro zenon_H48 ].
% 19.71/19.90  apply (zenon_L6_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H48); [ zenon_intro zenon_H36 | zenon_intro zenon_H3d ].
% 19.71/19.90  apply (zenon_L7_); trivial.
% 19.71/19.90  apply (zenon_L8_); trivial.
% 19.71/19.90  apply (zenon_L53_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L100_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H441); [ zenon_intro zenon_H445 | zenon_intro zenon_H444 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_Hdc); [ zenon_intro zenon_H2d | zenon_intro zenon_Hce ].
% 19.71/19.90  apply zenon_H2d. apply sym_equal. exact zenon_H2c.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H446 | zenon_intro zenon_H447 ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((h4 (op1 (e13) (e10))) = (op2 (h4 (e13)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H445.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H446.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H447].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H448].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((op2 (e23) (e20)) = (e23)) = ((op2 (h4 (e13)) (h4 (e10))) = (h4 (op1 (e13) (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H448.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_Hce.
% 19.71/19.90  cut (((e23) = (h4 (op1 (e13) (e10))))); [idtac | apply NNPP; zenon_intro zenon_H269].
% 19.71/19.90  cut (((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H449].
% 19.71/19.90  congruence.
% 19.71/19.90  elim (classic ((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [ zenon_intro zenon_H446 | zenon_intro zenon_H447 ].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10)))) = ((op2 (e23) (e20)) = (op2 (h4 (e13)) (h4 (e10))))).
% 19.71/19.90  intro zenon_D_pnotp.
% 19.71/19.90  apply zenon_H449.
% 19.71/19.90  rewrite <- zenon_D_pnotp.
% 19.71/19.90  exact zenon_H446.
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (h4 (e13)) (h4 (e10))))); [idtac | apply NNPP; zenon_intro zenon_H447].
% 19.71/19.90  cut (((op2 (h4 (e13)) (h4 (e10))) = (op2 (e23) (e20)))); [idtac | apply NNPP; zenon_intro zenon_H44a].
% 19.71/19.90  congruence.
% 19.71/19.90  cut (((h4 (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.71/19.90  cut (((h4 (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 19.71/19.90  congruence.
% 19.71/19.90  exact (zenon_H97 zenon_H8b).
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply zenon_H447. apply refl_equal.
% 19.71/19.90  apply zenon_H447. apply refl_equal.
% 19.71/19.90  apply (zenon_L118_); trivial.
% 19.71/19.90  apply zenon_H447. apply refl_equal.
% 19.71/19.90  apply zenon_H447. apply refl_equal.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H444); [ zenon_intro zenon_H277 | zenon_intro zenon_H44b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H9b); [ zenon_intro zenon_H45 | zenon_intro zenon_H56 ].
% 19.71/19.90  apply (zenon_L9_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3d8); [ zenon_intro zenon_H1ab | zenon_intro zenon_H1c1 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H231); [ zenon_intro zenon_H57 | zenon_intro zenon_H237 ].
% 19.71/19.90  apply (zenon_L14_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H237); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H238 ].
% 19.71/19.90  exact (zenon_H1ab zenon_H1a9).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H238); [ zenon_intro zenon_H1fe | zenon_intro zenon_H210 ].
% 19.71/19.90  apply (zenon_L100_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H118); [ zenon_intro zenon_Hf6 | zenon_intro zenon_H119 ].
% 19.71/19.90  apply (zenon_L48_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H119); [ zenon_intro zenon_H101 | zenon_intro zenon_H11a ].
% 19.71/19.90  apply (zenon_L50_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H108 | zenon_intro zenon_H115 ].
% 19.71/19.90  apply (zenon_L120_); trivial.
% 19.71/19.90  apply (zenon_L53_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.71/19.90  apply (zenon_L2_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.71/19.90  apply (zenon_L3_); trivial.
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L89_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H44b); [ zenon_intro zenon_H28a | zenon_intro zenon_H44c ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3ce); [ zenon_intro zenon_H9c | zenon_intro zenon_H416 ].
% 19.71/19.90  apply (zenon_L30_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H416); [ zenon_intro zenon_Ha7 | zenon_intro zenon_H417 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3db); [ zenon_intro zenon_Hc5 | zenon_intro zenon_H15e ].
% 19.71/19.90  apply (zenon_L44_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3dd); [ zenon_intro zenon_Hc3 | zenon_intro zenon_H1fe ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3b7); [ zenon_intro zenon_Hef | zenon_intro zenon_H418 ].
% 19.71/19.90  apply (zenon_L45_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H418); [ zenon_intro zenon_Hfc | zenon_intro zenon_H419 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H158); [ zenon_intro zenon_H14 | zenon_intro zenon_H114 ].
% 19.71/19.90  apply zenon_H14. apply sym_equal. exact zenon_H13.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H3cb); [ zenon_intro zenon_H17a | zenon_intro zenon_H115 ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H31a); [ zenon_intro zenon_H36 | zenon_intro zenon_H44d ].
% 19.71/19.90  apply (zenon_L7_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H44d); [ zenon_intro zenon_H1c1 | zenon_intro zenon_H44e ].
% 19.71/19.90  apply (zenon_L89_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H44e); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hbb ].
% 19.71/19.90  exact (zenon_Hc3 zenon_Hbf).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H49); [ zenon_intro zenon_H4c | zenon_intro zenon_H4b ].
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H2e1); [ zenon_intro zenon_H27d | zenon_intro zenon_H44f ].
% 19.71/19.90  apply (zenon_L121_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H44f); [ zenon_intro zenon_H101 | zenon_intro zenon_H450 ].
% 19.71/19.90  apply (zenon_L50_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H450); [ zenon_intro zenon_H282 | zenon_intro zenon_H173 ].
% 19.71/19.90  apply (zenon_L123_); trivial.
% 19.71/19.90  exact (zenon_H17a zenon_H173).
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4b); [ zenon_intro zenon_H16 | zenon_intro zenon_H4d ].
% 19.71/19.90  apply (zenon_L2_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H4d); [ zenon_intro zenon_H1d | zenon_intro zenon_H24 ].
% 19.71/19.90  apply (zenon_L3_); trivial.
% 19.71/19.90  apply (zenon_L4_); trivial.
% 19.71/19.90  apply (zenon_L53_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H419); [ zenon_intro zenon_H12b | zenon_intro zenon_H166 ].
% 19.71/19.90  apply (zenon_L66_); trivial.
% 19.71/19.90  apply (zenon_L78_); trivial.
% 19.71/19.90  apply (zenon_L100_); trivial.
% 19.71/19.90  apply (zenon_or_s _ _ zenon_H417); [ zenon_intro zenon_Hcc | zenon_intro zenon_H192 ].
% 19.71/19.90  apply (zenon_L43_); trivial.
% 19.71/19.90  apply (zenon_L86_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H44c); [ zenon_intro zenon_H290 | zenon_intro zenon_H451 ].
% 19.71/19.90  apply (zenon_L124_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H451); [ zenon_intro zenon_H453 | zenon_intro zenon_H452 ].
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H453). zenon_intro zenon_H4e. zenon_intro zenon_H454.
% 19.71/19.90  apply (zenon_L11_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H452); [ zenon_intro zenon_H456 | zenon_intro zenon_H455 ].
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H456). zenon_intro zenon_H458. zenon_intro zenon_H457.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H457). zenon_intro zenon_H51. zenon_intro zenon_H459.
% 19.71/19.90  apply (zenon_L12_); trivial.
% 19.71/19.90  apply (zenon_notand_s _ _ zenon_H455); [ zenon_intro zenon_H45a | zenon_intro zenon_H296 ].
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H45a). zenon_intro zenon_H45c. zenon_intro zenon_H45b.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H45b). zenon_intro zenon_H45e. zenon_intro zenon_H45d.
% 19.71/19.90  apply (zenon_notor_s _ _ zenon_H45d). zenon_intro zenon_H65. zenon_intro zenon_H45f.
% 19.71/19.90  apply (zenon_L17_); trivial.
% 19.71/19.90  apply (zenon_L125_); trivial.
% 19.71/19.90  Qed.
% 19.71/19.90  % SZS output end Proof
% 19.71/19.90  (* END-PROOF *)
% 19.71/19.90  nodes searched: 1202477
% 19.71/19.90  max branch formulas: 1847
% 19.71/19.90  proof nodes created: 10423
% 19.71/19.90  formulas created: 483365
% 19.71/19.90  
%------------------------------------------------------------------------------