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

View Problem - Process Solution

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

% Computer : n028.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:28:59 EDT 2022

% Result   : Theorem 37.02s 37.19s
% Output   : Proof 37.02s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : ALG020+1 : TPTP v8.1.0. Released v2.7.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n028.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 600
% 0.12/0.33  % DateTime : Wed Jun  8 19:00:31 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 37.02/37.19  (* PROOF-FOUND *)
% 37.02/37.19  % SZS status Theorem
% 37.02/37.19  (* BEGIN-PROOF *)
% 37.02/37.19  % SZS output start Proof
% 37.02/37.19  Theorem co1 : (((((h (e10)) = (e20))\/(((h (e10)) = (e21))\/(((h (e10)) = (e22))\/((h (e10)) = (e23)))))/\((((h (e11)) = (e20))\/(((h (e11)) = (e21))\/(((h (e11)) = (e22))\/((h (e11)) = (e23)))))/\((((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/((h (e12)) = (e23)))))/\((((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/((h (e13)) = (e23)))))/\((((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/((j (e20)) = (e13)))))/\((((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/((j (e21)) = (e13)))))/\((((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/((j (e22)) = (e13)))))/\(((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))))))))))->(~(((h (op1 (e10) (e10))) = (op2 (h (e10)) (h (e10))))/\(((h (op1 (e10) (e11))) = (op2 (h (e10)) (h (e11))))/\(((h (op1 (e10) (e12))) = (op2 (h (e10)) (h (e12))))/\(((h (op1 (e10) (e13))) = (op2 (h (e10)) (h (e13))))/\(((h (op1 (e11) (e10))) = (op2 (h (e11)) (h (e10))))/\(((h (op1 (e11) (e11))) = (op2 (h (e11)) (h (e11))))/\(((h (op1 (e11) (e12))) = (op2 (h (e11)) (h (e12))))/\(((h (op1 (e11) (e13))) = (op2 (h (e11)) (h (e13))))/\(((h (op1 (e12) (e10))) = (op2 (h (e12)) (h (e10))))/\(((h (op1 (e12) (e11))) = (op2 (h (e12)) (h (e11))))/\(((h (op1 (e12) (e12))) = (op2 (h (e12)) (h (e12))))/\(((h (op1 (e12) (e13))) = (op2 (h (e12)) (h (e13))))/\(((h (op1 (e13) (e10))) = (op2 (h (e13)) (h (e10))))/\(((h (op1 (e13) (e11))) = (op2 (h (e13)) (h (e11))))/\(((h (op1 (e13) (e12))) = (op2 (h (e13)) (h (e12))))/\(((h (op1 (e13) (e13))) = (op2 (h (e13)) (h (e13))))/\(((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20))))/\(((j (op2 (e20) (e21))) = (op1 (j (e20)) (j (e21))))/\(((j (op2 (e20) (e22))) = (op1 (j (e20)) (j (e22))))/\(((j (op2 (e20) (e23))) = (op1 (j (e20)) (j (e23))))/\(((j (op2 (e21) (e20))) = (op1 (j (e21)) (j (e20))))/\(((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21))))/\(((j (op2 (e21) (e22))) = (op1 (j (e21)) (j (e22))))/\(((j (op2 (e21) (e23))) = (op1 (j (e21)) (j (e23))))/\(((j (op2 (e22) (e20))) = (op1 (j (e22)) (j (e20))))/\(((j (op2 (e22) (e21))) = (op1 (j (e22)) (j (e21))))/\(((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22))))/\(((j (op2 (e22) (e23))) = (op1 (j (e22)) (j (e23))))/\(((j (op2 (e23) (e20))) = (op1 (j (e23)) (j (e20))))/\(((j (op2 (e23) (e21))) = (op1 (j (e23)) (j (e21))))/\(((j (op2 (e23) (e22))) = (op1 (j (e23)) (j (e22))))/\(((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23))))/\(((h (j (e20))) = (e20))/\(((h (j (e21))) = (e21))/\(((h (j (e22))) = (e22))/\(((h (j (e23))) = (e23))/\(((j (h (e10))) = (e10))/\(((j (h (e11))) = (e11))/\(((j (h (e12))) = (e12))/\((j (h (e13))) = (e13))))))))))))))))))))))))))))))))))))))))))).
% 37.02/37.19  Proof.
% 37.02/37.19  assert (zenon_L1_ : (~((e10) = (e10))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H6.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L1_ *)
% 37.02/37.19  assert (zenon_L2_ : (~((e11) = (e11))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H7.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L2_ *)
% 37.02/37.19  assert (zenon_L3_ : (~((j (e20)) = (j (op2 (e20) (e20))))) -> ((op2 (e20) (e20)) = (e20)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H8 zenon_H9.
% 37.02/37.19  cut (((e20) = (op2 (e20) (e20)))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 37.02/37.19  congruence.
% 37.02/37.19  apply zenon_Ha. apply sym_equal. exact zenon_H9.
% 37.02/37.19  (* end of lemma zenon_L3_ *)
% 37.02/37.19  assert (zenon_L4_ : (~((op1 (j (e20)) (j (e20))) = (op1 (e11) (e11)))) -> ((j (e20)) = (e11)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_Hb zenon_Hc.
% 37.02/37.19  cut (((j (e20)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd].
% 37.02/37.19  cut (((j (e20)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hd].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_Hd zenon_Hc).
% 37.02/37.19  exact (zenon_Hd zenon_Hc).
% 37.02/37.19  (* end of lemma zenon_L4_ *)
% 37.02/37.19  assert (zenon_L5_ : (~((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e10)) -> ((j (e20)) = (e11)) -> ((op1 (e13) (e13)) = (e10)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_He zenon_Hf zenon_Hc zenon_H10.
% 37.02/37.19  cut (((op1 (e11) (e11)) = (e10)) = ((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_He.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_Hf.
% 37.02/37.19  cut (((e10) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 37.02/37.19  cut (((op1 (e11) (e11)) = (op1 (j (e20)) (j (e20))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20)))) = ((op1 (e11) (e11)) = (op1 (j (e20)) (j (e20))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H12.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H13.
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20))))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_Hb].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L4_); trivial.
% 37.02/37.19  apply zenon_H14. apply refl_equal.
% 37.02/37.19  apply zenon_H14. apply refl_equal.
% 37.02/37.19  apply zenon_H11. apply sym_equal. exact zenon_H10.
% 37.02/37.19  (* end of lemma zenon_L5_ *)
% 37.02/37.19  assert (zenon_L6_ : ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((j (e20)) = (e11)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e11))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H15 zenon_Hc zenon_H10 zenon_Hf zenon_H9 zenon_H16.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((e10) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H16.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e10)) = ((e11) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H18.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H10.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H19.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e11) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H19.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_Hc.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((op1 (e13) (e13)) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H15.
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_He].
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((j (op2 (e20) (e20))) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H21.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (j (op2 (e20) (e20))))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L3_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply (zenon_L5_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L6_ *)
% 37.02/37.19  assert (zenon_L7_ : (~((op1 (j (e20)) (j (e20))) = (op1 (e12) (e12)))) -> ((j (e20)) = (e12)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H22 zenon_H23.
% 37.02/37.19  cut (((j (e20)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 37.02/37.19  cut (((j (e20)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H24 zenon_H23).
% 37.02/37.19  exact (zenon_H24 zenon_H23).
% 37.02/37.19  (* end of lemma zenon_L7_ *)
% 37.02/37.19  assert (zenon_L8_ : (~((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e20)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_He zenon_H25 zenon_H23 zenon_H10.
% 37.02/37.19  cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_He.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H25.
% 37.02/37.19  cut (((e10) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 37.02/37.19  cut (((op1 (e12) (e12)) = (op1 (j (e20)) (j (e20))))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20))))); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20)))) = ((op1 (e12) (e12)) = (op1 (j (e20)) (j (e20))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H26.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H13.
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (j (e20)) (j (e20))))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L7_); trivial.
% 37.02/37.19  apply zenon_H14. apply refl_equal.
% 37.02/37.19  apply zenon_H14. apply refl_equal.
% 37.02/37.19  apply zenon_H11. apply sym_equal. exact zenon_H10.
% 37.02/37.19  (* end of lemma zenon_L8_ *)
% 37.02/37.19  assert (zenon_L9_ : (~((e12) = (e12))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H27.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L9_ *)
% 37.02/37.19  assert (zenon_L10_ : ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((j (e20)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e12))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H15 zenon_H23 zenon_H10 zenon_H25 zenon_H9 zenon_H28.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((e10) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H28.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e10)) = ((e12) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H2a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H10.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H2b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e12) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H2c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H2b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H23.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((op1 (e13) (e13)) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H15.
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_He].
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((j (op2 (e20) (e20))) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H21.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (j (op2 (e20) (e20))))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L3_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply (zenon_L8_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L10_ *)
% 37.02/37.19  assert (zenon_L11_ : (~((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))) -> ((j (e20)) = (e13)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_He zenon_H2d.
% 37.02/37.19  cut (((j (e20)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 37.02/37.19  cut (((j (e20)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H2e zenon_H2d).
% 37.02/37.19  exact (zenon_H2e zenon_H2d).
% 37.02/37.19  (* end of lemma zenon_L11_ *)
% 37.02/37.19  assert (zenon_L12_ : (~((e13) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H2f.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L12_ *)
% 37.02/37.19  assert (zenon_L13_ : ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((j (e20)) = (e13)) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H10 zenon_H15 zenon_H2d zenon_H9 zenon_H30.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((e10) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H30.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e10)) = ((e13) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H32.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H10.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H33.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e13) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H34.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H33.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H2d.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1b.
% 37.02/37.19  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.19  cut (((op1 (e13) (e13)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((op1 (e13) (e13)) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) = ((j (e20)) = (op1 (e13) (e13)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H1d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H15.
% 37.02/37.19  cut (((op1 (j (e20)) (j (e20))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_He].
% 37.02/37.19  cut (((j (op2 (e20) (e20))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (e20)) = (j (e20)))); [ zenon_intro zenon_H1f | zenon_intro zenon_H20 ].
% 37.02/37.19  cut (((j (e20)) = (j (e20))) = ((j (op2 (e20) (e20))) = (j (e20)))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H21.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H1f.
% 37.02/37.19  cut (((j (e20)) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 37.02/37.19  cut (((j (e20)) = (j (op2 (e20) (e20))))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L3_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply (zenon_L11_); trivial.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H20. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H1c. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L13_ *)
% 37.02/37.19  assert (zenon_L14_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/((j (e20)) = (e13))))) -> ((h (e11)) = (e20)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> ((op1 (e11) (e11)) = (e10)) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H35 zenon_H36 zenon_H37 zenon_H16 zenon_Hf zenon_H28 zenon_H25 zenon_H10 zenon_H15 zenon_H9 zenon_H30.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H35); [ zenon_intro zenon_H39 | zenon_intro zenon_H38 ].
% 37.02/37.19  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H16.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H37.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H3a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H3c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H3a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H39.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3f].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H3f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((h (e11)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H41 zenon_H36).
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H38); [ zenon_intro zenon_Hc | zenon_intro zenon_H42 ].
% 37.02/37.19  apply (zenon_L6_); trivial.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H42); [ zenon_intro zenon_H23 | zenon_intro zenon_H2d ].
% 37.02/37.19  apply (zenon_L10_); trivial.
% 37.02/37.19  apply (zenon_L13_); trivial.
% 37.02/37.19  (* end of lemma zenon_L14_ *)
% 37.02/37.19  assert (zenon_L15_ : (~((j (h (e12))) = (j (e20)))) -> ((h (e12)) = (e20)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H43 zenon_H44.
% 37.02/37.19  cut (((h (e12)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H45 zenon_H44).
% 37.02/37.19  (* end of lemma zenon_L15_ *)
% 37.02/37.19  assert (zenon_L16_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/((j (e20)) = (e13))))) -> ((h (e12)) = (e20)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H35 zenon_H44 zenon_H46 zenon_H47 zenon_H28 zenon_H25 zenon_H10 zenon_H15 zenon_H9 zenon_H30.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H35); [ zenon_intro zenon_H39 | zenon_intro zenon_H38 ].
% 37.02/37.19  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H28.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H46.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H48.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H49.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H48.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H39.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L15_); trivial.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H38); [ zenon_intro zenon_Hc | zenon_intro zenon_H42 ].
% 37.02/37.19  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H47.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H46.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_Hc.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L15_); trivial.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H42); [ zenon_intro zenon_H23 | zenon_intro zenon_H2d ].
% 37.02/37.19  apply (zenon_L10_); trivial.
% 37.02/37.19  apply (zenon_L13_); trivial.
% 37.02/37.19  (* end of lemma zenon_L16_ *)
% 37.02/37.19  assert (zenon_L17_ : (~((j (h (e12))) = (j (e21)))) -> ((h (e12)) = (e21)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H4f zenon_H50.
% 37.02/37.19  cut (((h (e12)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H51 zenon_H50).
% 37.02/37.19  (* end of lemma zenon_L17_ *)
% 37.02/37.19  assert (zenon_L18_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H28 zenon_H46 zenon_H50 zenon_H52.
% 37.02/37.19  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H28.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H46.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H48.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H49.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H48.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H52.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H53.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L17_); trivial.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L18_ *)
% 37.02/37.19  assert (zenon_L19_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e11)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H47 zenon_H46 zenon_H50 zenon_H54.
% 37.02/37.19  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H47.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H46.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H4d.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H54.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H53.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L17_); trivial.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L19_ *)
% 37.02/37.19  assert (zenon_L20_ : (~((j (h (e11))) = (j (e21)))) -> ((h (e11)) = (e21)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H55 zenon_H56.
% 37.02/37.19  cut (((h (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H57 zenon_H56).
% 37.02/37.19  (* end of lemma zenon_L20_ *)
% 37.02/37.19  assert (zenon_L21_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e11) = (e12))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H37 zenon_H56 zenon_H58 zenon_H47.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((e11) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H47.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H59.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H37.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H58.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L20_); trivial.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L21_ *)
% 37.02/37.19  assert (zenon_L22_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e11) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H37 zenon_H56 zenon_H5d zenon_H5e.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((e11) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H37.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H60.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H61.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H60.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H5d.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5c.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3d.
% 37.02/37.19  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.19  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L20_); trivial.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H3e. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L22_ *)
% 37.02/37.19  assert (zenon_L23_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/((j (e21)) = (e13))))) -> (~((e10) = (e12))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H62 zenon_H28 zenon_H50 zenon_H46 zenon_H47 zenon_H37 zenon_H56 zenon_H5e.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.19  apply (zenon_L18_); trivial.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.19  apply (zenon_L19_); trivial.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.19  apply (zenon_L21_); trivial.
% 37.02/37.19  apply (zenon_L22_); trivial.
% 37.02/37.19  (* end of lemma zenon_L23_ *)
% 37.02/37.19  assert (zenon_L24_ : (~((j (h (e13))) = (j (e20)))) -> ((h (e13)) = (e20)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H65 zenon_H66.
% 37.02/37.19  cut (((h (e13)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H67 zenon_H66).
% 37.02/37.19  (* end of lemma zenon_L24_ *)
% 37.02/37.19  assert (zenon_L25_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/((j (e20)) = (e13))))) -> (~((e11) = (e13))) -> ((h (e13)) = (e20)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e20) (e20))) = (op1 (j (e20)) (j (e20)))) -> ((op2 (e20) (e20)) = (e20)) -> (~((e10) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H35 zenon_H5e zenon_H66 zenon_H68 zenon_H69 zenon_H10 zenon_H15 zenon_H9 zenon_H30.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H35); [ zenon_intro zenon_H39 | zenon_intro zenon_H38 ].
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H30.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H39.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L24_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H38); [ zenon_intro zenon_Hc | zenon_intro zenon_H42 ].
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H70.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_Hc.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L24_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H42); [ zenon_intro zenon_H23 | zenon_intro zenon_H2d ].
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H69.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H72.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e20)) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H23.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L24_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply (zenon_L13_); trivial.
% 37.02/37.19  (* end of lemma zenon_L25_ *)
% 37.02/37.19  assert (zenon_L26_ : (~((j (h (e13))) = (j (e21)))) -> ((h (e13)) = (e21)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H73 zenon_H74.
% 37.02/37.19  cut (((h (e13)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H75 zenon_H74).
% 37.02/37.19  (* end of lemma zenon_L26_ *)
% 37.02/37.19  assert (zenon_L27_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H30 zenon_H68 zenon_H74 zenon_H52.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H30.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H52.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H76.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L26_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L27_ *)
% 37.02/37.19  assert (zenon_L28_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e11)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H5e zenon_H68 zenon_H74 zenon_H54.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H70.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H54.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H76.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L26_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L28_ *)
% 37.02/37.19  assert (zenon_L29_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e12)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H69 zenon_H68 zenon_H74 zenon_H58.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H69.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H72.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e21)) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H58.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H76.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L26_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L29_ *)
% 37.02/37.19  assert (zenon_L30_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/((j (e21)) = (e13))))) -> (~((e10) = (e13))) -> ((h (e13)) = (e21)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H62 zenon_H30 zenon_H74 zenon_H68 zenon_H69 zenon_H37 zenon_H56 zenon_H5e.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.19  apply (zenon_L27_); trivial.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.19  apply (zenon_L28_); trivial.
% 37.02/37.19  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.19  apply (zenon_L29_); trivial.
% 37.02/37.19  apply (zenon_L22_); trivial.
% 37.02/37.19  (* end of lemma zenon_L30_ *)
% 37.02/37.19  assert (zenon_L31_ : (~((j (h (e13))) = (j (e22)))) -> ((h (e13)) = (e22)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H77 zenon_H78.
% 37.02/37.19  cut (((h (e13)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H79 zenon_H78).
% 37.02/37.19  (* end of lemma zenon_L31_ *)
% 37.02/37.19  assert (zenon_L32_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H30 zenon_H68 zenon_H78 zenon_H7a.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H30.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.19  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H3b.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e22)) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6a.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H7a.
% 37.02/37.19  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.19  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H7b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L31_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H6. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L32_ *)
% 37.02/37.19  assert (zenon_L33_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e11)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H5e zenon_H68 zenon_H78 zenon_H7c.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H5e.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.19  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H17.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H70.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e22)) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H6f.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H7c.
% 37.02/37.19  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.19  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H7b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L31_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H7. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L33_ *)
% 37.02/37.19  assert (zenon_L34_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e12)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H69 zenon_H68 zenon_H78 zenon_H7d.
% 37.02/37.19  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H69.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H68.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.19  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H29.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H72.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e22)) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H71.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H7d.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H7b.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H6c.
% 37.02/37.19  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.19  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L31_); trivial.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H6d. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  (* end of lemma zenon_L34_ *)
% 37.02/37.19  assert (zenon_L35_ : (~((j (h (e12))) = (j (e22)))) -> ((h (e12)) = (e22)) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H7e zenon_H7f.
% 37.02/37.19  cut (((h (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H80].
% 37.02/37.19  congruence.
% 37.02/37.19  exact (zenon_H80 zenon_H7f).
% 37.02/37.19  (* end of lemma zenon_L35_ *)
% 37.02/37.19  assert (zenon_L36_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e12) = (e13))) -> False).
% 37.02/37.19  do 0 intro. intros zenon_H46 zenon_H7f zenon_H81 zenon_H69.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((e12) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H69.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H82.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H46.
% 37.02/37.19  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.19  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.19  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H83.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H31.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H84.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.19  congruence.
% 37.02/37.19  cut (((j (e22)) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H83.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H81.
% 37.02/37.19  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.19  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 37.02/37.19  congruence.
% 37.02/37.19  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 37.02/37.19  intro zenon_D_pnotp.
% 37.02/37.19  apply zenon_H85.
% 37.02/37.19  rewrite <- zenon_D_pnotp.
% 37.02/37.19  exact zenon_H4a.
% 37.02/37.19  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.19  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 37.02/37.19  congruence.
% 37.02/37.19  apply (zenon_L35_); trivial.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H4b. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.19  apply zenon_H27. apply refl_equal.
% 37.02/37.19  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L36_ *)
% 37.02/37.20  assert (zenon_L37_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/((j (e22)) = (e13))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> ((h (e13)) = (e22)) -> ((j (h (e13))) = (e13)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H86 zenon_H30 zenon_H5e zenon_H78 zenon_H68 zenon_H46 zenon_H7f zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H86); [ zenon_intro zenon_H7a | zenon_intro zenon_H87 ].
% 37.02/37.20  apply (zenon_L32_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H87); [ zenon_intro zenon_H7c | zenon_intro zenon_H88 ].
% 37.02/37.20  apply (zenon_L33_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H7d | zenon_intro zenon_H81 ].
% 37.02/37.20  apply (zenon_L34_); trivial.
% 37.02/37.20  apply (zenon_L36_); trivial.
% 37.02/37.20  (* end of lemma zenon_L37_ *)
% 37.02/37.20  assert (zenon_L38_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H16 zenon_H37 zenon_H56 zenon_H52.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H16.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.20  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3b.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e21)) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H52.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L20_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L38_ *)
% 37.02/37.20  assert (zenon_L39_ : (~((j (h (e13))) = (j (e23)))) -> ((h (e13)) = (e23)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H89 zenon_H8a.
% 37.02/37.20  cut (((h (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H8b].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_H8b zenon_H8a).
% 37.02/37.20  (* end of lemma zenon_L39_ *)
% 37.02/37.20  assert (zenon_L40_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H30 zenon_H68 zenon_H8a zenon_H8c.
% 37.02/37.20  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H30.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H68.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.20  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H6a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3b.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H6b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e10)) = ((j (h (e13))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H6a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8c.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H8d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L39_); trivial.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L40_ *)
% 37.02/37.20  assert (zenon_L41_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e11)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H5e zenon_H68 zenon_H8a zenon_H8e.
% 37.02/37.20  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5e.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H68.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H6f.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H70.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e11)) = ((j (h (e13))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H6f.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8e.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H8d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L39_); trivial.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L41_ *)
% 37.02/37.20  assert (zenon_L42_ : (~((j (e23)) = (j (op2 (e21) (e21))))) -> ((op2 (e21) (e21)) = (e23)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H8f zenon_H90.
% 37.02/37.20  cut (((e23) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 37.02/37.20  congruence.
% 37.02/37.20  apply zenon_H91. apply sym_equal. exact zenon_H90.
% 37.02/37.20  (* end of lemma zenon_L42_ *)
% 37.02/37.20  assert (zenon_L43_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e11) (e11)))) -> ((j (e21)) = (e11)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H92 zenon_H54.
% 37.02/37.20  cut (((j (e21)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 37.02/37.20  cut (((j (e21)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_H93 zenon_H54).
% 37.02/37.20  exact (zenon_H93 zenon_H54).
% 37.02/37.20  (* end of lemma zenon_L43_ *)
% 37.02/37.20  assert (zenon_L44_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))) -> ((op1 (e11) (e11)) = (e10)) -> ((j (e21)) = (e11)) -> ((op1 (e13) (e13)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H94 zenon_Hf zenon_H54 zenon_H10.
% 37.02/37.20  cut (((op1 (e11) (e11)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H94.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_Hf.
% 37.02/37.20  cut (((e10) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 37.02/37.20  cut (((op1 (e11) (e11)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H96 | zenon_intro zenon_H97 ].
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e11) (e11)) = (op1 (j (e21)) (j (e21))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H95.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H96.
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (e11) (e11)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L43_); trivial.
% 37.02/37.20  apply zenon_H97. apply refl_equal.
% 37.02/37.20  apply zenon_H97. apply refl_equal.
% 37.02/37.20  apply zenon_H11. apply sym_equal. exact zenon_H10.
% 37.02/37.20  (* end of lemma zenon_L44_ *)
% 37.02/37.20  assert (zenon_L45_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> ((op1 (e11) (e11)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e21)) = (e11)) -> (~((op1 (e13) (e13)) = (j (e23)))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H98 zenon_H90 zenon_Hf zenon_H10 zenon_H54 zenon_H99.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((op1 (e13) (e13)) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H99.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H98.
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((j (op2 (e21) (e21))) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L42_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply (zenon_L44_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L45_ *)
% 37.02/37.20  assert (zenon_L46_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e11)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e11) (e11)) = (e10)) -> ((op2 (e21) (e21)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H98 zenon_H54 zenon_H10 zenon_Hf zenon_H90 zenon_H9e zenon_H28.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((e10) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H28.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e12) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e12) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9e.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L45_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L46_ *)
% 37.02/37.20  assert (zenon_L47_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e12)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H69 zenon_H68 zenon_H8a zenon_H9e.
% 37.02/37.20  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H69.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H68.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H71.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H72.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H71].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e12)) = ((j (h (e13))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H71.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9e.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H6c | zenon_intro zenon_H6d ].
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H8d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H6c.
% 37.02/37.20  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 37.02/37.20  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L39_); trivial.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H6d. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L47_ *)
% 37.02/37.20  assert (zenon_L48_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))) -> ((j (e21)) = (e12)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H9f zenon_H58.
% 37.02/37.20  cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 37.02/37.20  cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha0].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_Ha0 zenon_H58).
% 37.02/37.20  exact (zenon_Ha0 zenon_H58).
% 37.02/37.20  (* end of lemma zenon_L48_ *)
% 37.02/37.20  assert (zenon_L49_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e21)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H94 zenon_H25 zenon_H58 zenon_H10.
% 37.02/37.20  cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H94.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H25.
% 37.02/37.20  cut (((e10) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 37.02/37.20  cut (((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H96 | zenon_intro zenon_H97 ].
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Ha1.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H96.
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L48_); trivial.
% 37.02/37.20  apply zenon_H97. apply refl_equal.
% 37.02/37.20  apply zenon_H97. apply refl_equal.
% 37.02/37.20  apply zenon_H11. apply sym_equal. exact zenon_H10.
% 37.02/37.20  (* end of lemma zenon_L49_ *)
% 37.02/37.20  assert (zenon_L50_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e21)) = (e12)) -> (~((op1 (e13) (e13)) = (j (e23)))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H98 zenon_H90 zenon_H25 zenon_H10 zenon_H58 zenon_H99.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((op1 (e13) (e13)) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H99.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H98.
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((j (op2 (e21) (e21))) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L42_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply (zenon_L49_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L50_ *)
% 37.02/37.20  assert (zenon_L51_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e11) = (e13))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e23)) -> (~((e10) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H5e zenon_H8a zenon_H68 zenon_H69 zenon_H98 zenon_H58 zenon_H10 zenon_H25 zenon_H90 zenon_H30.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L40_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L41_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L47_); trivial.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e10) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H30.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e13) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H32.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H33.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e13) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H34.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H33.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_Ha5.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L50_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L51_ *)
% 37.02/37.20  assert (zenon_L52_ : (~((j (h (e12))) = (j (e23)))) -> ((h (e12)) = (e23)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha6 zenon_Ha7.
% 37.02/37.20  cut (((h (e12)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_Ha8 zenon_Ha7).
% 37.02/37.20  (* end of lemma zenon_L52_ *)
% 37.02/37.20  assert (zenon_L53_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H28 zenon_H46 zenon_Ha7 zenon_H8c.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H28.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.20  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H48.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3b.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H49.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H48.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8c.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Ha9.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L52_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L53_ *)
% 37.02/37.20  assert (zenon_L54_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e11)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H47 zenon_H46 zenon_Ha7 zenon_H8e.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H47.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4e.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8e.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Ha9.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L52_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L54_ *)
% 37.02/37.20  assert (zenon_L55_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H46 zenon_Ha7 zenon_Ha5 zenon_H69.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e12) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H69.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H82.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H83.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H84.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H83.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_Ha5.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Ha9.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L52_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L55_ *)
% 37.02/37.20  assert (zenon_L56_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))) -> ((j (e21)) = (e13)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H94 zenon_H5d.
% 37.02/37.20  cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 37.02/37.20  cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_Haa zenon_H5d).
% 37.02/37.20  exact (zenon_Haa zenon_H5d).
% 37.02/37.20  (* end of lemma zenon_L56_ *)
% 37.02/37.20  assert (zenon_L57_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e23)) -> ((j (e21)) = (e13)) -> (~((op1 (e13) (e13)) = (j (e23)))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H98 zenon_H90 zenon_H5d zenon_H99.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((op1 (e13) (e13)) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H99.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H98.
% 37.02/37.20  cut (((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H94].
% 37.02/37.20  cut (((j (op2 (e21) (e21))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_H9a | zenon_intro zenon_H9b ].
% 37.02/37.20  cut (((j (e23)) = (j (e23))) = ((j (op2 (e21) (e21))) = (j (e23)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9a.
% 37.02/37.20  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H9b].
% 37.02/37.20  cut (((j (e23)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L42_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply (zenon_L56_); trivial.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  apply zenon_H9b. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L57_ *)
% 37.02/37.20  assert (zenon_L58_ : ((op1 (e13) (e13)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op2 (e21) (e21)) = (e23)) -> ((j (e23)) = (e11)) -> (~((e10) = (e11))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H10 zenon_H98 zenon_H5d zenon_H90 zenon_H8e zenon_H16.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((e10) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H16.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e11) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H18.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H19.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e11) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H1a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H19.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8e.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L57_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L58_ *)
% 37.02/37.20  assert (zenon_L59_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e23)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H16 zenon_H28 zenon_H90 zenon_H5d zenon_H98 zenon_H10 zenon_H46 zenon_Ha7 zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L53_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L58_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((e10) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H28.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e12) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e12) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e12)) = ((op1 (e13) (e13)) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H2b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9e.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L57_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply (zenon_L55_); trivial.
% 37.02/37.20  (* end of lemma zenon_L59_ *)
% 37.02/37.20  assert (zenon_L60_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H46 zenon_H50 zenon_H5d zenon_H69.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e12) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H69.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H82.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H83.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H84.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e21)) = (e13)) = ((j (h (e12))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H83.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H5d.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H53.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4f].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L17_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L60_ *)
% 37.02/37.20  assert (zenon_L61_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/((j (e21)) = (e13))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> ((h (e13)) = (e21)) -> ((j (h (e13))) = (e13)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H62 zenon_H30 zenon_H5e zenon_H74 zenon_H68 zenon_H46 zenon_H50 zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L27_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_L28_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L29_); trivial.
% 37.02/37.20  apply (zenon_L60_); trivial.
% 37.02/37.20  (* end of lemma zenon_L61_ *)
% 37.02/37.20  assert (zenon_L62_ : (~((j (h (e11))) = (j (e22)))) -> ((h (e11)) = (e22)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Hab zenon_Hac.
% 37.02/37.20  cut (((h (e11)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Had].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_Had zenon_Hac).
% 37.02/37.20  (* end of lemma zenon_L62_ *)
% 37.02/37.20  assert (zenon_L63_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e11) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H37 zenon_Hac zenon_H81 zenon_H5e.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e11) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5e.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5f.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H60.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H61.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e22)) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H60.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H81.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Hae.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L62_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L63_ *)
% 37.02/37.20  assert (zenon_L64_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/((j (e22)) = (e13))))) -> (~((e10) = (e13))) -> ((h (e13)) = (e22)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (~((e11) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H86 zenon_H30 zenon_H78 zenon_H68 zenon_H69 zenon_H37 zenon_Hac zenon_H5e.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H86); [ zenon_intro zenon_H7a | zenon_intro zenon_H87 ].
% 37.02/37.20  apply (zenon_L32_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H87); [ zenon_intro zenon_H7c | zenon_intro zenon_H88 ].
% 37.02/37.20  apply (zenon_L33_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H7d | zenon_intro zenon_H81 ].
% 37.02/37.20  apply (zenon_L34_); trivial.
% 37.02/37.20  apply (zenon_L63_); trivial.
% 37.02/37.20  (* end of lemma zenon_L64_ *)
% 37.02/37.20  assert (zenon_L65_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H28 zenon_H46 zenon_H7f zenon_H7a.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H28.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.20  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H48.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3b.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H49.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e22)) = (e10)) = ((j (h (e12))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H48.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H7a.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H85.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L35_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L65_ *)
% 37.02/37.20  assert (zenon_L66_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e11)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H47 zenon_H46 zenon_H7f zenon_H7c.
% 37.02/37.20  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H47.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H46.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4e.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e22)) = (e11)) = ((j (h (e12))) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H4d.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H7c.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H85].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H85.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H4a.
% 37.02/37.20  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 37.02/37.20  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L35_); trivial.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H4b. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L66_ *)
% 37.02/37.20  assert (zenon_L67_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e11) = (e12))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H37 zenon_Hac zenon_H7d zenon_H47.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((e11) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H47.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H59.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e22)) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H7d.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hae].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Hae.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L62_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L67_ *)
% 37.02/37.20  assert (zenon_L68_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/((j (e22)) = (e13))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H86 zenon_H28 zenon_H47 zenon_Hac zenon_H37 zenon_H46 zenon_H7f zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H86); [ zenon_intro zenon_H7a | zenon_intro zenon_H87 ].
% 37.02/37.20  apply (zenon_L65_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H87); [ zenon_intro zenon_H7c | zenon_intro zenon_H88 ].
% 37.02/37.20  apply (zenon_L66_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H88); [ zenon_intro zenon_H7d | zenon_intro zenon_H81 ].
% 37.02/37.20  apply (zenon_L67_); trivial.
% 37.02/37.20  apply (zenon_L36_); trivial.
% 37.02/37.20  (* end of lemma zenon_L68_ *)
% 37.02/37.20  assert (zenon_L69_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H30 zenon_H5e zenon_H8a zenon_H68 zenon_H46 zenon_Ha7 zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L40_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L41_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L47_); trivial.
% 37.02/37.20  apply (zenon_L55_); trivial.
% 37.02/37.20  (* end of lemma zenon_L69_ *)
% 37.02/37.20  assert (zenon_L70_ : (~((j (h (e11))) = (j (e23)))) -> ((h (e11)) = (e23)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Haf zenon_Hb0.
% 37.02/37.20  cut (((h (e11)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 37.02/37.20  congruence.
% 37.02/37.20  exact (zenon_Hb1 zenon_Hb0).
% 37.02/37.20  (* end of lemma zenon_L70_ *)
% 37.02/37.20  assert (zenon_L71_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H16 zenon_H37 zenon_Hb0 zenon_H8c.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H16.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e10) = (e10))); [ zenon_intro zenon_H3b | zenon_intro zenon_H6 ].
% 37.02/37.20  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3b.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e10)) = ((j (h (e11))) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H3a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8c.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Hb2.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L70_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L71_ *)
% 37.02/37.20  assert (zenon_L72_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e11) = (e12))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H37 zenon_Hb0 zenon_H9e zenon_H47.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((e11) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H47.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H59.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H29 | zenon_intro zenon_H27 ].
% 37.02/37.20  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H29.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5b.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e12)) = ((j (h (e11))) = (e12))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H9e.
% 37.02/37.20  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 37.02/37.20  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Hb2.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L70_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  apply zenon_H27. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L72_ *)
% 37.02/37.20  assert (zenon_L73_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e11) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_H37 zenon_Hb0 zenon_Ha5 zenon_H5e.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e11) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5e.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H5f.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H37.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H60.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H61.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e13)) = ((j (h (e11))) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H60.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_Ha5.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H3d | zenon_intro zenon_H3e ].
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_Hb2.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H3d.
% 37.02/37.20  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 37.02/37.20  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Haf].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L70_); trivial.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H3e. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  (* end of lemma zenon_L73_ *)
% 37.02/37.20  assert (zenon_L74_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e10) = (e11))) -> ((op2 (e21) (e21)) = (e23)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e11) = (e12))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H16 zenon_H90 zenon_H5d zenon_H98 zenon_H10 zenon_H47 zenon_H37 zenon_Hb0 zenon_H5e.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L71_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L58_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L72_); trivial.
% 37.02/37.20  apply (zenon_L73_); trivial.
% 37.02/37.20  (* end of lemma zenon_L74_ *)
% 37.02/37.20  assert (zenon_L75_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e10) = (e13))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H30 zenon_H8a zenon_H68 zenon_H69 zenon_H37 zenon_Hb0 zenon_H5e.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L40_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L41_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L47_); trivial.
% 37.02/37.20  apply (zenon_L73_); trivial.
% 37.02/37.20  (* end of lemma zenon_L75_ *)
% 37.02/37.20  assert (zenon_L76_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/((j (e23)) = (e13))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e13))) -> False).
% 37.02/37.20  do 0 intro. intros zenon_Ha2 zenon_H28 zenon_H47 zenon_Hb0 zenon_H37 zenon_H46 zenon_Ha7 zenon_H69.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L53_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L54_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L72_); trivial.
% 37.02/37.20  apply (zenon_L55_); trivial.
% 37.02/37.20  (* end of lemma zenon_L76_ *)
% 37.02/37.20  apply NNPP. intro zenon_G.
% 37.02/37.20  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H16. zenon_intro zenon_Hb3.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb3). zenon_intro zenon_H28. zenon_intro zenon_Hb4.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb4). zenon_intro zenon_H30. zenon_intro zenon_Hb5.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb5). zenon_intro zenon_H47. zenon_intro zenon_Hb6.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb6). zenon_intro zenon_H5e. zenon_intro zenon_H69.
% 37.02/37.20  apply (zenon_and_s _ _ ax4). zenon_intro zenon_Hb8. zenon_intro zenon_Hb7.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb7). zenon_intro zenon_Hba. zenon_intro zenon_Hb9.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hb9). zenon_intro zenon_Hbc. zenon_intro zenon_Hbb.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hbb). zenon_intro zenon_Hbe. zenon_intro zenon_Hbd.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hbd). zenon_intro zenon_Hc0. zenon_intro zenon_Hbf.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hbf). zenon_intro zenon_Hf. zenon_intro zenon_Hc1.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hc1). zenon_intro zenon_Hc3. zenon_intro zenon_Hc2.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hc2). zenon_intro zenon_Hc5. zenon_intro zenon_Hc4.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hc4). zenon_intro zenon_Hc7. zenon_intro zenon_Hc6.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hc6). zenon_intro zenon_Hc9. zenon_intro zenon_Hc8.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hc8). zenon_intro zenon_H25. zenon_intro zenon_Hca.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hca). zenon_intro zenon_Hcc. zenon_intro zenon_Hcb.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hcb). zenon_intro zenon_Hce. zenon_intro zenon_Hcd.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hcd). zenon_intro zenon_Hd0. zenon_intro zenon_Hcf.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hcf). zenon_intro zenon_Hd1. zenon_intro zenon_H10.
% 37.02/37.20  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H9. zenon_intro zenon_Hd2.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hd2). zenon_intro zenon_Hd4. zenon_intro zenon_Hd3.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hd3). zenon_intro zenon_Hd6. zenon_intro zenon_Hd5.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hd5). zenon_intro zenon_Hd8. zenon_intro zenon_Hd7.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hd7). zenon_intro zenon_Hda. zenon_intro zenon_Hd9.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hd9). zenon_intro zenon_H90. zenon_intro zenon_Hdb.
% 37.02/37.20  apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_Hdd. zenon_intro zenon_Hdc.
% 37.02/37.20  apply zenon_Hdc. zenon_intro zenon_Hde.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hde). zenon_intro zenon_He0. zenon_intro zenon_Hdf.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hdf). zenon_intro zenon_He2. zenon_intro zenon_He1.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_He1). zenon_intro zenon_He4. zenon_intro zenon_He3.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_He3). zenon_intro zenon_He6. zenon_intro zenon_He5.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_He5). zenon_intro zenon_He8. zenon_intro zenon_He7.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_He7). zenon_intro zenon_Hea. zenon_intro zenon_He9.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_He9). zenon_intro zenon_Hec. zenon_intro zenon_Heb.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Heb). zenon_intro zenon_Hee. zenon_intro zenon_Hed.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hed). zenon_intro zenon_Hf0. zenon_intro zenon_Hef.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hef). zenon_intro zenon_Hf2. zenon_intro zenon_Hf1.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hf1). zenon_intro zenon_Hf4. zenon_intro zenon_Hf3.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hf3). zenon_intro zenon_Hf6. zenon_intro zenon_Hf5.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hf5). zenon_intro zenon_Hf8. zenon_intro zenon_Hf7.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hf7). zenon_intro zenon_Hfa. zenon_intro zenon_Hf9.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hf9). zenon_intro zenon_Hfc. zenon_intro zenon_Hfb.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hfb). zenon_intro zenon_Hfe. zenon_intro zenon_Hfd.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hfd). zenon_intro zenon_H15. zenon_intro zenon_Hff.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hff). zenon_intro zenon_H101. zenon_intro zenon_H100.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H100). zenon_intro zenon_H103. zenon_intro zenon_H102.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H102). zenon_intro zenon_H105. zenon_intro zenon_H104.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H104). zenon_intro zenon_H107. zenon_intro zenon_H106.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H106). zenon_intro zenon_H98. zenon_intro zenon_H108.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H108). zenon_intro zenon_H10a. zenon_intro zenon_H109.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H109). zenon_intro zenon_H10c. zenon_intro zenon_H10b.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H10b). zenon_intro zenon_H10e. zenon_intro zenon_H10d.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H10d). zenon_intro zenon_H110. zenon_intro zenon_H10f.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H10f). zenon_intro zenon_H112. zenon_intro zenon_H111.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H111). zenon_intro zenon_H114. zenon_intro zenon_H113.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H113). zenon_intro zenon_H116. zenon_intro zenon_H115.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H115). zenon_intro zenon_H118. zenon_intro zenon_H117.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_H11a. zenon_intro zenon_H119.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H119). zenon_intro zenon_H11c. zenon_intro zenon_H11b.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H11b). zenon_intro zenon_H11e. zenon_intro zenon_H11d.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H11d). zenon_intro zenon_H120. zenon_intro zenon_H11f.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H11f). zenon_intro zenon_H122. zenon_intro zenon_H121.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H121). zenon_intro zenon_H124. zenon_intro zenon_H123.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H123). zenon_intro zenon_H126. zenon_intro zenon_H125.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H125). zenon_intro zenon_H37. zenon_intro zenon_H127.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H127). zenon_intro zenon_H46. zenon_intro zenon_H68.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_Hdd). zenon_intro zenon_H129. zenon_intro zenon_H128.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H128). zenon_intro zenon_H12b. zenon_intro zenon_H12a.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H12a). zenon_intro zenon_H12d. zenon_intro zenon_H12c.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H12c). zenon_intro zenon_H12f. zenon_intro zenon_H12e.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H12e). zenon_intro zenon_H35. zenon_intro zenon_H130.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H130). zenon_intro zenon_H62. zenon_intro zenon_H131.
% 37.02/37.20  apply (zenon_and_s _ _ zenon_H131). zenon_intro zenon_H86. zenon_intro zenon_Ha2.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12b); [ zenon_intro zenon_H36 | zenon_intro zenon_H132 ].
% 37.02/37.20  apply (zenon_L14_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H132); [ zenon_intro zenon_H56 | zenon_intro zenon_H133 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H44 | zenon_intro zenon_H134 ].
% 37.02/37.20  apply (zenon_L16_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H134); [ zenon_intro zenon_H50 | zenon_intro zenon_H135 ].
% 37.02/37.20  apply (zenon_L23_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H135); [ zenon_intro zenon_H7f | zenon_intro zenon_Ha7 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H66 | zenon_intro zenon_H136 ].
% 37.02/37.20  apply (zenon_L25_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H136); [ zenon_intro zenon_H74 | zenon_intro zenon_H137 ].
% 37.02/37.20  apply (zenon_L30_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H137); [ zenon_intro zenon_H78 | zenon_intro zenon_H8a ].
% 37.02/37.20  apply (zenon_L37_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L38_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L40_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L41_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L46_); trivial.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((e10) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H30.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e13) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H32.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H31 | zenon_intro zenon_H2f ].
% 37.02/37.20  cut (((e13) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H33.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H31.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((e13) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e13) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H34.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e13)) = ((op1 (e13) (e13)) = (e13))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H33.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_Ha5.
% 37.02/37.20  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L45_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply zenon_H2f. apply refl_equal.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L51_); trivial.
% 37.02/37.20  apply (zenon_L22_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L38_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L53_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  apply (zenon_L54_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L46_); trivial.
% 37.02/37.20  apply (zenon_L55_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L21_); trivial.
% 37.02/37.20  apply (zenon_L59_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H133); [ zenon_intro zenon_Hac | zenon_intro zenon_Hb0 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H44 | zenon_intro zenon_H134 ].
% 37.02/37.20  apply (zenon_L16_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H134); [ zenon_intro zenon_H50 | zenon_intro zenon_H135 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H66 | zenon_intro zenon_H136 ].
% 37.02/37.20  apply (zenon_L25_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H136); [ zenon_intro zenon_H74 | zenon_intro zenon_H137 ].
% 37.02/37.20  apply (zenon_L61_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H137); [ zenon_intro zenon_H78 | zenon_intro zenon_H8a ].
% 37.02/37.20  apply (zenon_L64_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L18_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_L19_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L51_); trivial.
% 37.02/37.20  apply (zenon_L60_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H135); [ zenon_intro zenon_H7f | zenon_intro zenon_Ha7 ].
% 37.02/37.20  apply (zenon_L68_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H66 | zenon_intro zenon_H136 ].
% 37.02/37.20  apply (zenon_L25_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H136); [ zenon_intro zenon_H74 | zenon_intro zenon_H137 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L27_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_L28_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L29_); trivial.
% 37.02/37.20  apply (zenon_L59_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H137); [ zenon_intro zenon_H78 | zenon_intro zenon_H8a ].
% 37.02/37.20  apply (zenon_L64_); trivial.
% 37.02/37.20  apply (zenon_L69_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12d); [ zenon_intro zenon_H44 | zenon_intro zenon_H134 ].
% 37.02/37.20  apply (zenon_L16_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H134); [ zenon_intro zenon_H50 | zenon_intro zenon_H135 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L18_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_L19_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha2); [ zenon_intro zenon_H8c | zenon_intro zenon_Ha3 ].
% 37.02/37.20  apply (zenon_L71_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8e | zenon_intro zenon_Ha4 ].
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((e10) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H16.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e10)) = ((e11) = (e10))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H18.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H10.
% 37.02/37.20  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H17 | zenon_intro zenon_H7 ].
% 37.02/37.20  cut (((e11) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H19.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H17.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((e11) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((e11) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H1a.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 37.02/37.20  congruence.
% 37.02/37.20  cut (((j (e23)) = (e11)) = ((op1 (e13) (e13)) = (e11))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H19.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H8e.
% 37.02/37.20  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 37.02/37.20  cut (((j (e23)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 37.02/37.20  congruence.
% 37.02/37.20  elim (classic ((op1 (e13) (e13)) = (op1 (e13) (e13)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13))) = ((j (e23)) = (op1 (e13) (e13)))).
% 37.02/37.20  intro zenon_D_pnotp.
% 37.02/37.20  apply zenon_H9c.
% 37.02/37.20  rewrite <- zenon_D_pnotp.
% 37.02/37.20  exact zenon_H1b.
% 37.02/37.20  cut (((op1 (e13) (e13)) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 37.02/37.20  cut (((op1 (e13) (e13)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H99].
% 37.02/37.20  congruence.
% 37.02/37.20  apply (zenon_L50_); trivial.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H1c. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H6. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply zenon_H7. apply refl_equal.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_Ha4); [ zenon_intro zenon_H9e | zenon_intro zenon_Ha5 ].
% 37.02/37.20  apply (zenon_L72_); trivial.
% 37.02/37.20  apply (zenon_L73_); trivial.
% 37.02/37.20  apply (zenon_L74_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H135); [ zenon_intro zenon_H7f | zenon_intro zenon_Ha7 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H12f); [ zenon_intro zenon_H66 | zenon_intro zenon_H136 ].
% 37.02/37.20  apply (zenon_L25_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H136); [ zenon_intro zenon_H74 | zenon_intro zenon_H137 ].
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H52 | zenon_intro zenon_H63 ].
% 37.02/37.20  apply (zenon_L27_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H63); [ zenon_intro zenon_H54 | zenon_intro zenon_H64 ].
% 37.02/37.20  apply (zenon_L28_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H64); [ zenon_intro zenon_H58 | zenon_intro zenon_H5d ].
% 37.02/37.20  apply (zenon_L29_); trivial.
% 37.02/37.20  apply (zenon_L74_); trivial.
% 37.02/37.20  apply (zenon_or_s _ _ zenon_H137); [ zenon_intro zenon_H78 | zenon_intro zenon_H8a ].
% 37.02/37.20  apply (zenon_L37_); trivial.
% 37.02/37.20  apply (zenon_L75_); trivial.
% 37.02/37.20  apply (zenon_L76_); trivial.
% 37.02/37.20  Qed.
% 37.02/37.20  % SZS output end Proof
% 37.02/37.20  (* END-PROOF *)
% 37.02/37.20  nodes searched: 649473
% 37.02/37.20  max branch formulas: 2748
% 37.02/37.20  proof nodes created: 1286
% 37.02/37.20  formulas created: 1253442
% 37.02/37.20  
%------------------------------------------------------------------------------