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

View Problem - Process Solution

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

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

% Result   : Theorem 250.49s 250.67s
% Output   : Proof 250.54s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.11  % Problem  : ALG089+1 : TPTP v8.1.0. Released v2.7.0.
% 0.06/0.12  % Command  : run_zenon %s %d
% 0.13/0.31  % Computer : n029.cluster.edu
% 0.13/0.31  % Model    : x86_64 x86_64
% 0.13/0.31  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.31  % Memory   : 8042.1875MB
% 0.13/0.31  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.31  % CPULimit : 300
% 0.13/0.31  % WCLimit  : 600
% 0.13/0.31  % DateTime : Wed Jun  8 10:41:21 EDT 2022
% 0.13/0.32  % CPUTime  : 
% 250.49/250.67  (* PROOF-FOUND *)
% 250.49/250.67  % SZS status Theorem
% 250.49/250.67  (* BEGIN-PROOF *)
% 250.49/250.67  % SZS output start Proof
% 250.49/250.67  Theorem co1 : (((((h (e10)) = (e20))\/(((h (e10)) = (e21))\/(((h (e10)) = (e22))\/(((h (e10)) = (e23))\/((h (e10)) = (e24))))))/\((((h (e11)) = (e20))\/(((h (e11)) = (e21))\/(((h (e11)) = (e22))\/(((h (e11)) = (e23))\/((h (e11)) = (e24))))))/\((((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24))))))/\((((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24))))))/\((((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24))))))/\((((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14))))))/\((((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14))))))/\((((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14))))))/\((((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14))))))/\(((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))))))))))))->(~(((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 (e10) (e14))) = (op2 (h (e10)) (h (e14))))/\(((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 (e11) (e14))) = (op2 (h (e11)) (h (e14))))/\(((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 (e12) (e14))) = (op2 (h (e12)) (h (e14))))/\(((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))))/\(((h (op1 (e13) (e14))) = (op2 (h (e13)) (h (e14))))/\(((h (op1 (e14) (e10))) = (op2 (h (e14)) (h (e10))))/\(((h (op1 (e14) (e11))) = (op2 (h (e14)) (h (e11))))/\(((h (op1 (e14) (e12))) = (op2 (h (e14)) (h (e12))))/\(((h (op1 (e14) (e13))) = (op2 (h (e14)) (h (e13))))/\(((h (op1 (e14) (e14))) = (op2 (h (e14)) (h (e14))))/\(((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 (e20) (e24))) = (op1 (j (e20)) (j (e24))))/\(((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 (e21) (e24))) = (op1 (j (e21)) (j (e24))))/\(((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 (e22) (e24))) = (op1 (j (e22)) (j (e24))))/\(((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))))/\(((j (op2 (e23) (e24))) = (op1 (j (e23)) (j (e24))))/\(((j (op2 (e24) (e20))) = (op1 (j (e24)) (j (e20))))/\(((j (op2 (e24) (e21))) = (op1 (j (e24)) (j (e21))))/\(((j (op2 (e24) (e22))) = (op1 (j (e24)) (j (e22))))/\(((j (op2 (e24) (e23))) = (op1 (j (e24)) (j (e23))))/\(((j (op2 (e24) (e24))) = (op1 (j (e24)) (j (e24))))/\(((h (j (e20))) = (e20))/\(((h (j (e21))) = (e21))/\(((h (j (e22))) = (e22))/\(((h (j (e23))) = (e23))/\(((h (j (e24))) = (e24))/\(((j (h (e10))) = (e10))/\(((j (h (e11))) = (e11))/\(((j (h (e12))) = (e12))/\(((j (h (e13))) = (e13))/\((j (h (e14))) = (e14))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).
% 250.49/250.67  Proof.
% 250.49/250.67  assert (zenon_L1_ : (~((j (h (e12))) = (j (e20)))) -> ((h (e12)) = (e20)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6 zenon_H7.
% 250.49/250.67  cut (((h (e12)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H8].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H8 zenon_H7).
% 250.49/250.67  (* end of lemma zenon_L1_ *)
% 250.49/250.67  assert (zenon_L2_ : (~((e10) = (e10))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H9.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L2_ *)
% 250.49/250.67  assert (zenon_L3_ : (~((e12) = (e12))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Ha.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L3_ *)
% 250.49/250.67  assert (zenon_L4_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hb zenon_Hc zenon_H7 zenon_Hd.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_He.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H10.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_He.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hd.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H13.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L1_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L4_ *)
% 250.49/250.67  assert (zenon_L5_ : (~((e11) = (e11))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H14.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L5_ *)
% 250.49/250.67  assert (zenon_L6_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H15 zenon_Hc zenon_H7 zenon_H16.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H15.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H17.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H19.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H17.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H16.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H13.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L1_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L6_ *)
% 250.49/250.67  assert (zenon_L7_ : (~((j (h (e11))) = (j (e20)))) -> ((h (e11)) = (e20)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1a zenon_H1b.
% 250.49/250.67  cut (((h (e11)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H1c zenon_H1b).
% 250.49/250.67  (* end of lemma zenon_L7_ *)
% 250.49/250.67  assert (zenon_L8_ : (~((e13) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1d.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L8_ *)
% 250.49/250.67  assert (zenon_L9_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e13)) -> (~((e12) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hc zenon_H7 zenon_H1e zenon_H1f.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H21.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H22.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H23.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H22.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H1e.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H13.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L1_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L9_ *)
% 250.49/250.67  assert (zenon_L10_ : (~((e14) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H24.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L10_ *)
% 250.49/250.67  assert (zenon_L11_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e12) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hc zenon_H7 zenon_H25 zenon_H26.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e12) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H26.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e14) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H28.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H29.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H2a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H29.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H25.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e20)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H13].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e20)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H13.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H6].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L1_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L11_ *)
% 250.49/250.67  assert (zenon_L12_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e20)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H2b zenon_Hb zenon_H15 zenon_H1b zenon_H2c zenon_H1f zenon_Hc zenon_H7 zenon_H26.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.67  apply (zenon_L4_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.67  apply (zenon_L6_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((e11) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H15.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H32.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H2c.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H33.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H34.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H33.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H30.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H37.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L7_); trivial.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.67  apply (zenon_L9_); trivial.
% 250.49/250.67  apply (zenon_L11_); trivial.
% 250.49/250.67  (* end of lemma zenon_L12_ *)
% 250.49/250.67  assert (zenon_L13_ : (~((j (h (e13))) = (j (e20)))) -> ((h (e13)) = (e20)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H38 zenon_H39.
% 250.49/250.67  cut (((h (e13)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H3a zenon_H39).
% 250.49/250.67  (* end of lemma zenon_L13_ *)
% 250.49/250.67  assert (zenon_L14_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3b zenon_H3c zenon_H39 zenon_Hd.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hd.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H41.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L13_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L14_ *)
% 250.49/250.67  assert (zenon_L15_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H42 zenon_H3c zenon_H39 zenon_H16.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H42.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H44.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H16.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H41.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L13_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L15_ *)
% 250.49/250.67  assert (zenon_L16_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e12)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1f zenon_H3c zenon_H39 zenon_H30.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H46.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H30.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H41.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L13_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L16_ *)
% 250.49/250.67  assert (zenon_L17_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e11) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H2c zenon_H1b zenon_H25 zenon_H47.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e11) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H47.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e11))) = (e11)) = ((e14) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H48.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H2c.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H49.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H4a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H49.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H25.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H37.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L7_); trivial.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L17_ *)
% 250.49/250.67  assert (zenon_L18_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e13))) -> ((h (e13)) = (e20)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> (~((e11) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H2b zenon_H3b zenon_H39 zenon_H3c zenon_H1f zenon_H42 zenon_H2c zenon_H1b zenon_H47.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.67  apply (zenon_L14_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.67  apply (zenon_L15_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.67  apply (zenon_L16_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e11) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H42.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H4b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H2c.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H4c.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H4d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e20)) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H4c.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H1e.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e20)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e20)) = (j (h (e11))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H37.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H35.
% 250.49/250.67  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.67  cut (((j (h (e11))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H1a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L7_); trivial.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H36. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply (zenon_L17_); trivial.
% 250.49/250.67  (* end of lemma zenon_L18_ *)
% 250.49/250.67  assert (zenon_L19_ : (~((j (h (e13))) = (j (e21)))) -> ((h (e13)) = (e21)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H4e zenon_H4f.
% 250.49/250.67  cut (((h (e13)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H50].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H50 zenon_H4f).
% 250.49/250.67  (* end of lemma zenon_L19_ *)
% 250.49/250.67  assert (zenon_L20_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3b zenon_H3c zenon_H4f zenon_H51.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H51.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H52.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L19_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L20_ *)
% 250.49/250.67  assert (zenon_L21_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H42 zenon_H3c zenon_H4f zenon_H53.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H42.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H44.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H53.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H52.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L19_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L21_ *)
% 250.49/250.67  assert (zenon_L22_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e12)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1f zenon_H3c zenon_H4f zenon_H54.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H46.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H54.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H52.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L19_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L22_ *)
% 250.49/250.67  assert (zenon_L23_ : (~((j (h (e12))) = (j (e21)))) -> ((h (e12)) = (e21)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H55 zenon_H56.
% 250.49/250.67  cut (((h (e12)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H57 zenon_H56).
% 250.49/250.67  (* end of lemma zenon_L23_ *)
% 250.49/250.67  assert (zenon_L24_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e12) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hc zenon_H56 zenon_H58 zenon_H1f.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H21.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H22.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H23.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H22.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H58.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H59.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L23_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L24_ *)
% 250.49/250.67  assert (zenon_L25_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3c zenon_H4f zenon_H5a zenon_H5b.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e13) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e14) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5c.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H5a.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e21)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e21)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H52.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L19_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L25_ *)
% 250.49/250.67  assert (zenon_L26_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H5f zenon_H3b zenon_H42 zenon_H1f zenon_H56 zenon_Hc zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.67  apply (zenon_L20_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.67  apply (zenon_L21_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.67  apply (zenon_L22_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.67  apply (zenon_L24_); trivial.
% 250.49/250.67  apply (zenon_L25_); trivial.
% 250.49/250.67  (* end of lemma zenon_L26_ *)
% 250.49/250.67  assert (zenon_L27_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hb zenon_Hc zenon_H56 zenon_H51.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_He.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H10.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_He.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H51.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H59.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L23_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L27_ *)
% 250.49/250.67  assert (zenon_L28_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H15 zenon_Hc zenon_H56 zenon_H53.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H15.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H17.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H19.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e21)) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H17.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H53.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H59.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H11.
% 250.49/250.67  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.67  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L23_); trivial.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H12. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L28_ *)
% 250.49/250.67  assert (zenon_L29_ : (~((j (h (e13))) = (j (e22)))) -> ((h (e13)) = (e22)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H63 zenon_H64.
% 250.49/250.67  cut (((h (e13)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H65 zenon_H64).
% 250.49/250.67  (* end of lemma zenon_L29_ *)
% 250.49/250.67  assert (zenon_L30_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3b zenon_H3c zenon_H64 zenon_H66.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H66.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H67.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L29_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L30_ *)
% 250.49/250.67  assert (zenon_L31_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H42 zenon_H3c zenon_H64 zenon_H68.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H42.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H44.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H68.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H67.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L29_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L31_ *)
% 250.49/250.67  assert (zenon_L32_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e12)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1f zenon_H3c zenon_H64 zenon_H69.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H46.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H69.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H67.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L29_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L32_ *)
% 250.49/250.67  assert (zenon_L33_ : (~((j (e22)) = (j (op2 (e21) (e21))))) -> ((op2 (e21) (e21)) = (e22)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6a zenon_H6b.
% 250.49/250.67  cut (((e22) = (op2 (e21) (e21)))); [idtac | apply NNPP; zenon_intro zenon_H6c].
% 250.49/250.67  congruence.
% 250.49/250.67  apply zenon_H6c. apply sym_equal. exact zenon_H6b.
% 250.49/250.67  (* end of lemma zenon_L33_ *)
% 250.49/250.67  assert (zenon_L34_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))) -> ((j (e21)) = (e12)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6d zenon_H54.
% 250.49/250.67  cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 250.49/250.67  cut (((j (e21)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H6e].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H6e zenon_H54).
% 250.49/250.67  exact (zenon_H6e zenon_H54).
% 250.49/250.67  (* end of lemma zenon_L34_ *)
% 250.49/250.67  assert (zenon_L35_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6f zenon_H70 zenon_H54 zenon_H71.
% 250.49/250.67  cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H6f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H70.
% 250.49/250.67  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.67  cut (((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H73].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e12) (e12)) = (op1 (j (e21)) (j (e21))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H73.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H74.
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_H6d].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L34_); trivial.
% 250.49/250.67  apply zenon_H75. apply refl_equal.
% 250.49/250.67  apply zenon_H75. apply refl_equal.
% 250.49/250.67  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.67  (* end of lemma zenon_L35_ *)
% 250.49/250.67  assert (zenon_L36_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e12)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H6b zenon_H70 zenon_H71 zenon_H54 zenon_H77.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H77.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H76.
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L33_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply (zenon_L35_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L36_ *)
% 250.49/250.67  assert (zenon_L37_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_H7c zenon_H3b.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H7c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L36_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L37_ *)
% 250.49/250.67  assert (zenon_L38_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3c zenon_H64 zenon_H82 zenon_H5b.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e13) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e14) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5c.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H82.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e22)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e22)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H67.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L29_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L38_ *)
% 250.49/250.67  assert (zenon_L39_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))) -> ((j (e21)) = (e13)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H83 zenon_H58.
% 250.49/250.67  cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 250.49/250.67  cut (((j (e21)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H84 zenon_H58).
% 250.49/250.67  exact (zenon_H84 zenon_H58).
% 250.49/250.67  (* end of lemma zenon_L39_ *)
% 250.49/250.67  assert (zenon_L40_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6f zenon_H85 zenon_H58 zenon_H71.
% 250.49/250.67  cut (((op1 (e13) (e13)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H6f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H85.
% 250.49/250.67  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.67  cut (((op1 (e13) (e13)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H86].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e13) (e13)) = (op1 (j (e21)) (j (e21))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H86.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H74.
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L39_); trivial.
% 250.49/250.67  apply zenon_H75. apply refl_equal.
% 250.49/250.67  apply zenon_H75. apply refl_equal.
% 250.49/250.67  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.67  (* end of lemma zenon_L40_ *)
% 250.49/250.67  assert (zenon_L41_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H6b zenon_H85 zenon_H71 zenon_H58 zenon_H77.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H77.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H76.
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L33_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply (zenon_L40_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L41_ *)
% 250.49/250.67  assert (zenon_L42_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_H68 zenon_H87.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H87.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H88.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H8a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H68.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L41_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L42_ *)
% 250.49/250.67  assert (zenon_L43_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_H7c zenon_H3b.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H7c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L41_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L43_ *)
% 250.49/250.67  assert (zenon_L44_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H8b zenon_H87 zenon_H1f zenon_H3b zenon_H6b zenon_H85 zenon_H71 zenon_H58 zenon_H76 zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.67  apply (zenon_L30_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.67  apply (zenon_L42_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.67  apply (zenon_L32_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.67  apply (zenon_L43_); trivial.
% 250.49/250.67  apply (zenon_L38_); trivial.
% 250.49/250.67  (* end of lemma zenon_L44_ *)
% 250.49/250.67  assert (zenon_L45_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((j (e21)) = (e14)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H6f zenon_H5a.
% 250.49/250.67  cut (((j (e21)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 250.49/250.67  cut (((j (e21)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H8f zenon_H5a).
% 250.49/250.67  exact (zenon_H8f zenon_H5a).
% 250.49/250.67  (* end of lemma zenon_L45_ *)
% 250.49/250.67  assert (zenon_L46_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> (~((op1 (e14) (e14)) = (j (e22)))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H6b zenon_H5a zenon_H77.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H77.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H76.
% 250.49/250.67  cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 250.49/250.67  cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.49/250.67  cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H78.
% 250.49/250.67  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.49/250.67  cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L33_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply (zenon_L45_); trivial.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  apply zenon_H79. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L46_ *)
% 250.49/250.67  assert (zenon_L47_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_H68 zenon_H87.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H87.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H88.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H8a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H68.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L46_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L47_ *)
% 250.49/250.67  assert (zenon_L48_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_H69 zenon_Hb.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H90.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H91.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H92.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H91.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H69.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L46_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L48_ *)
% 250.49/250.67  assert (zenon_L49_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_H7c zenon_H3b.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H7c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L46_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L49_ *)
% 250.49/250.67  assert (zenon_L50_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H8b zenon_H87 zenon_Hb zenon_H3b zenon_H6b zenon_H5a zenon_H76 zenon_H71 zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.67  apply (zenon_L30_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.67  apply (zenon_L47_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.67  apply (zenon_L48_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.67  apply (zenon_L49_); trivial.
% 250.49/250.67  apply (zenon_L38_); trivial.
% 250.49/250.67  (* end of lemma zenon_L50_ *)
% 250.49/250.67  assert (zenon_L51_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e13))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H5f zenon_H56 zenon_Hc zenon_H15 zenon_H70 zenon_H42 zenon_H85 zenon_H1f zenon_H8b zenon_H87 zenon_Hb zenon_H3b zenon_H6b zenon_H76 zenon_H71 zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.67  apply (zenon_L27_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.67  apply (zenon_L28_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.67  apply (zenon_L30_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.67  apply (zenon_L31_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.67  apply (zenon_L32_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.67  apply (zenon_L37_); trivial.
% 250.49/250.67  apply (zenon_L38_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.67  apply (zenon_L44_); trivial.
% 250.49/250.67  apply (zenon_L50_); trivial.
% 250.49/250.67  (* end of lemma zenon_L51_ *)
% 250.49/250.67  assert (zenon_L52_ : (~((j (h (e13))) = (j (e23)))) -> ((h (e13)) = (e23)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H93 zenon_H94.
% 250.49/250.67  cut (((h (e13)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H95].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H95 zenon_H94).
% 250.49/250.67  (* end of lemma zenon_L52_ *)
% 250.49/250.67  assert (zenon_L53_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3b zenon_H3c zenon_H94 zenon_H96.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.67  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hf.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e23)) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H96.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H97.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L52_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L53_ *)
% 250.49/250.67  assert (zenon_L54_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e11)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H42 zenon_H3c zenon_H94 zenon_H98.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H42.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H44.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e23)) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H43.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H98.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H97.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L52_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L54_ *)
% 250.49/250.67  assert (zenon_L55_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e12)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H1f zenon_H3c zenon_H94 zenon_H99.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H1f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H46.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e23)) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H45.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H99.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H97.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L52_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L55_ *)
% 250.49/250.67  assert (zenon_L56_ : (~((j (e23)) = (j (op2 (e22) (e22))))) -> ((op2 (e22) (e22)) = (e23)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H9a zenon_H9b.
% 250.49/250.67  cut (((e23) = (op2 (e22) (e22)))); [idtac | apply NNPP; zenon_intro zenon_H9c].
% 250.49/250.67  congruence.
% 250.49/250.67  apply zenon_H9c. apply sym_equal. exact zenon_H9b.
% 250.49/250.67  (* end of lemma zenon_L56_ *)
% 250.49/250.67  assert (zenon_L57_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e10) (e10)))) -> ((j (e22)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H9d zenon_H66.
% 250.49/250.67  cut (((j (e22)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 250.49/250.67  cut (((j (e22)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 250.49/250.67  congruence.
% 250.49/250.67  exact (zenon_H9e zenon_H66).
% 250.49/250.67  exact (zenon_H9e zenon_H66).
% 250.49/250.67  (* end of lemma zenon_L57_ *)
% 250.49/250.67  assert (zenon_L58_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (e22)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H9f zenon_Ha0 zenon_H66 zenon_H71.
% 250.49/250.67  cut (((op1 (e10) (e10)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H9f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Ha0.
% 250.49/250.67  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.67  cut (((op1 (e10) (e10)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Ha1].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Ha3 ].
% 250.49/250.67  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e10) (e10)) = (op1 (j (e22)) (j (e22))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Ha1.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Ha2.
% 250.49/250.67  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 250.49/250.67  cut (((op1 (j (e22)) (j (e22))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L57_); trivial.
% 250.49/250.67  apply zenon_Ha3. apply refl_equal.
% 250.49/250.67  apply zenon_Ha3. apply refl_equal.
% 250.49/250.67  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.67  (* end of lemma zenon_L58_ *)
% 250.49/250.67  assert (zenon_L59_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e10)) -> (~((op1 (e14) (e14)) = (j (e23)))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Ha4 zenon_H9b zenon_Ha0 zenon_H71 zenon_H66 zenon_Ha5.
% 250.49/250.67  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.67  cut (((j (e23)) = (j (e23))) = ((op1 (e14) (e14)) = (j (e23)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Ha5.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Ha6.
% 250.49/250.67  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.67  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Ha8.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Ha4.
% 250.49/250.67  cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 250.49/250.67  cut (((j (op2 (e22) (e22))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.67  cut (((j (e23)) = (j (e23))) = ((j (op2 (e22) (e22))) = (j (e23)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Ha9.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Ha6.
% 250.49/250.67  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.67  cut (((j (e23)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L56_); trivial.
% 250.49/250.67  apply zenon_Ha7. apply refl_equal.
% 250.49/250.67  apply zenon_Ha7. apply refl_equal.
% 250.49/250.67  apply (zenon_L58_); trivial.
% 250.49/250.67  apply zenon_Ha7. apply refl_equal.
% 250.49/250.67  apply zenon_Ha7. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L59_ *)
% 250.49/250.67  assert (zenon_L60_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Ha4 zenon_H66 zenon_H71 zenon_Ha0 zenon_H9b zenon_Haa zenon_H3b.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H3b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.67  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H20.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7f.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e23)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Haa.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Ha8.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L59_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L60_ *)
% 250.49/250.67  assert (zenon_L61_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H3c zenon_H94 zenon_Hab zenon_H5b.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e13) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5b.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e13))) = (e13)) = ((e14) = (e13))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5c.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3c.
% 250.49/250.67  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5e.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e23)) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H5d.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hab.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e23)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H97].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e23)) = (j (h (e13))))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H97.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H3f.
% 250.49/250.67  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.67  cut (((j (h (e13))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L52_); trivial.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H40. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H1d. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L61_ *)
% 250.49/250.67  assert (zenon_L62_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hac zenon_H42 zenon_H1f zenon_H3b zenon_H9b zenon_Ha0 zenon_H71 zenon_H66 zenon_Ha4 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.67  apply (zenon_L53_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.67  apply (zenon_L54_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.67  apply (zenon_L55_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.67  apply (zenon_L60_); trivial.
% 250.49/250.67  apply (zenon_L61_); trivial.
% 250.49/250.67  (* end of lemma zenon_L62_ *)
% 250.49/250.67  assert (zenon_L63_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_H68 zenon_H87.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H87.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H88.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.67  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H18.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H8a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H89.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H68.
% 250.49/250.67  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L36_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  apply zenon_H14. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L63_ *)
% 250.49/250.67  assert (zenon_L64_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_H69 zenon_Hb.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H90.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.67  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H91.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H31.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H92.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H91.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H69.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L36_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  apply zenon_Ha. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L64_ *)
% 250.49/250.67  assert (zenon_L65_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_H82 zenon_Hb0.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb0.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb1.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H71.
% 250.49/250.67  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb2.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb3.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_Hb2.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H82.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H7a.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H80.
% 250.49/250.67  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.67  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.67  congruence.
% 250.49/250.67  apply (zenon_L36_); trivial.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H81. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H9. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  apply zenon_H24. apply refl_equal.
% 250.49/250.67  (* end of lemma zenon_L65_ *)
% 250.49/250.67  assert (zenon_L66_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e13) = (e14))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_H8b zenon_H5b zenon_H94 zenon_H3c zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_Hb0.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.67  apply (zenon_L62_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.67  apply (zenon_L63_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.67  apply (zenon_L64_); trivial.
% 250.49/250.67  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.67  apply (zenon_L37_); trivial.
% 250.49/250.67  apply (zenon_L65_); trivial.
% 250.49/250.67  (* end of lemma zenon_L66_ *)
% 250.49/250.67  assert (zenon_L67_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e12) = (e14))) -> False).
% 250.49/250.67  do 0 intro. intros zenon_Hc zenon_H56 zenon_H5a zenon_H26.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.67  cut (((e14) = (e14)) = ((e12) = (e14))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H26.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_H27.
% 250.49/250.67  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.67  cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 250.49/250.67  congruence.
% 250.49/250.67  cut (((j (h (e12))) = (e12)) = ((e14) = (e12))).
% 250.49/250.67  intro zenon_D_pnotp.
% 250.49/250.67  apply zenon_H28.
% 250.49/250.67  rewrite <- zenon_D_pnotp.
% 250.49/250.67  exact zenon_Hc.
% 250.49/250.67  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.67  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.67  congruence.
% 250.49/250.67  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H29.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H2a.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e21)) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H29.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H5a.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e21)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H59].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e21)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H59.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H55].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L23_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L67_ *)
% 250.49/250.68  assert (zenon_L68_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_H15 zenon_Hb0 zenon_H6b zenon_H70 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_Hac zenon_H42 zenon_H9b zenon_Ha0 zenon_Ha4 zenon_H3c zenon_H94 zenon_H5b zenon_H8b zenon_H1f zenon_Hc zenon_H56 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L27_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L28_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L66_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L24_); trivial.
% 250.49/250.68  apply (zenon_L67_); trivial.
% 250.49/250.68  (* end of lemma zenon_L68_ *)
% 250.49/250.68  assert (zenon_L69_ : (~((j (h (e14))) = (j (e20)))) -> ((h (e14)) = (e20)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb4 zenon_Hb5.
% 250.49/250.68  cut (((h (e14)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hb6 zenon_Hb5).
% 250.49/250.68  (* end of lemma zenon_L69_ *)
% 250.49/250.68  assert (zenon_L70_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb0 zenon_Hb7 zenon_Hb5 zenon_Hd.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e20)) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hd.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbc.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L69_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L70_ *)
% 250.49/250.68  assert (zenon_L71_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H47 zenon_Hb7 zenon_Hb5 zenon_H16.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e11) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H47.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbe.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e20)) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H16.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbc.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L69_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L71_ *)
% 250.49/250.68  assert (zenon_L72_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H26 zenon_Hb7 zenon_Hb5 zenon_H30.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e20)) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H30.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbc.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L69_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L72_ *)
% 250.49/250.68  assert (zenon_L73_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e20)) -> ((j (e20)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5b zenon_Hb7 zenon_Hb5 zenon_H1e.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e20)) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H1e.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e20)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbc].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e20)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbc.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L69_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L73_ *)
% 250.49/250.68  assert (zenon_L74_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> (~((e11) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H2b zenon_Hb0 zenon_H26 zenon_Hb5 zenon_Hb7 zenon_H5b zenon_H2c zenon_H1b zenon_H47.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.68  apply (zenon_L70_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.68  apply (zenon_L71_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.68  apply (zenon_L72_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.68  apply (zenon_L73_); trivial.
% 250.49/250.68  apply (zenon_L17_); trivial.
% 250.49/250.68  (* end of lemma zenon_L74_ *)
% 250.49/250.68  assert (zenon_L75_ : (~((j (h (e14))) = (j (e21)))) -> ((h (e14)) = (e21)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hc3 zenon_Hc4.
% 250.49/250.68  cut (((h (e14)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_Hc5].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hc5 zenon_Hc4).
% 250.49/250.68  (* end of lemma zenon_L75_ *)
% 250.49/250.68  assert (zenon_L76_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb0 zenon_Hb7 zenon_Hc4 zenon_H51.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e21)) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H51.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc6.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L75_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L76_ *)
% 250.49/250.68  assert (zenon_L77_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H47 zenon_Hb7 zenon_Hc4 zenon_H53.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e11) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H47.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbe.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e21)) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H53.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc6.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L75_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L77_ *)
% 250.49/250.68  assert (zenon_L78_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H26 zenon_Hb7 zenon_Hc4 zenon_H54.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e21)) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H54.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc6.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L75_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L78_ *)
% 250.49/250.68  assert (zenon_L79_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e21)) -> ((j (e21)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5b zenon_Hb7 zenon_Hc4 zenon_H58.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e21)) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H58.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e21)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e21)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc6.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_Hc3].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L75_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L79_ *)
% 250.49/250.68  assert (zenon_L80_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_Hc zenon_H56 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L76_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L77_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L78_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L79_); trivial.
% 250.49/250.68  apply (zenon_L67_); trivial.
% 250.49/250.68  (* end of lemma zenon_L80_ *)
% 250.49/250.68  assert (zenon_L81_ : (~((j (h (e14))) = (j (e22)))) -> ((h (e14)) = (e22)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hc7 zenon_Hc8.
% 250.49/250.68  cut (((h (e14)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_Hc9].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hc9 zenon_Hc8).
% 250.49/250.68  (* end of lemma zenon_L81_ *)
% 250.49/250.68  assert (zenon_L82_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb0 zenon_Hb7 zenon_Hc8 zenon_H66.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H66.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hca.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L81_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L82_ *)
% 250.49/250.68  assert (zenon_L83_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H47 zenon_Hb7 zenon_Hc8 zenon_H68.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e11) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H47.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbe.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H68.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hca.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L81_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L83_ *)
% 250.49/250.68  assert (zenon_L84_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H26 zenon_Hb7 zenon_Hc8 zenon_H69.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H69.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hca.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L81_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L84_ *)
% 250.49/250.68  assert (zenon_L85_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> ((j (e22)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5b zenon_Hb7 zenon_Hc8 zenon_H7c.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H7c.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e22)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hca].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e22)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hca.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L81_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L85_ *)
% 250.49/250.68  assert (zenon_L86_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_H47 zenon_H26 zenon_Hc8 zenon_Hb7 zenon_H5b zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L82_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L83_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L84_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L85_); trivial.
% 250.49/250.68  apply (zenon_L65_); trivial.
% 250.49/250.68  (* end of lemma zenon_L86_ *)
% 250.49/250.68  assert (zenon_L87_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> (~((e11) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_Hb zenon_H15 zenon_Hb0 zenon_H6b zenon_H70 zenon_H71 zenon_H76 zenon_H5b zenon_Hb7 zenon_Hc8 zenon_H47 zenon_H8b zenon_H1f zenon_Hc zenon_H56 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L27_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L28_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L86_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L24_); trivial.
% 250.49/250.68  apply (zenon_L67_); trivial.
% 250.49/250.68  (* end of lemma zenon_L87_ *)
% 250.49/250.68  assert (zenon_L88_ : (~((j (h (e14))) = (j (e23)))) -> ((h (e14)) = (e23)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hcb zenon_Hcc.
% 250.49/250.68  cut (((h (e14)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hcd zenon_Hcc).
% 250.49/250.68  (* end of lemma zenon_L88_ *)
% 250.49/250.68  assert (zenon_L89_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb0 zenon_Hb7 zenon_Hcc zenon_H96.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H96.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hce.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L88_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L89_ *)
% 250.49/250.68  assert (zenon_L90_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H47 zenon_Hb7 zenon_Hcc zenon_H98.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e11) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H47.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbe.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H98.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hce.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L88_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L90_ *)
% 250.49/250.68  assert (zenon_L91_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H66 zenon_H71 zenon_Ha0 zenon_H9b zenon_H99 zenon_Hb.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H90.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H92.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H99.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L59_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L91_ *)
% 250.49/250.68  assert (zenon_L92_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_Hcc zenon_Hb7 zenon_H47 zenon_Hb zenon_H3b zenon_Ha4 zenon_H66 zenon_H71 zenon_Ha0 zenon_H9b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L89_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L90_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L91_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L60_); trivial.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb3.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hab.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L59_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L92_ *)
% 250.49/250.68  assert (zenon_L93_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e12) (e12)))) -> ((j (e22)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hcf zenon_H69.
% 250.49/250.68  cut (((j (e22)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 250.49/250.68  cut (((j (e22)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hd0].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hd0 zenon_H69).
% 250.49/250.68  exact (zenon_Hd0 zenon_H69).
% 250.49/250.68  (* end of lemma zenon_L93_ *)
% 250.49/250.68  assert (zenon_L94_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H9f zenon_H70 zenon_H69 zenon_H71.
% 250.49/250.68  cut (((op1 (e12) (e12)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H9f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H70.
% 250.49/250.68  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.68  cut (((op1 (e12) (e12)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Ha3 ].
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e12) (e12)) = (op1 (j (e22)) (j (e22))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hd1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha2.
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (e12) (e12)))); [idtac | apply NNPP; zenon_intro zenon_Hcf].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L93_); trivial.
% 250.49/250.68  apply zenon_Ha3. apply refl_equal.
% 250.49/250.68  apply zenon_Ha3. apply refl_equal.
% 250.49/250.68  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.68  (* end of lemma zenon_L94_ *)
% 250.49/250.68  assert (zenon_L95_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e12)) -> (~((op1 (e14) (e14)) = (j (e23)))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H9b zenon_H70 zenon_H71 zenon_H69 zenon_Ha5.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((op1 (e14) (e14)) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha5.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha4.
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((j (op2 (e22) (e22))) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L56_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply (zenon_L94_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L95_ *)
% 250.49/250.68  assert (zenon_L96_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_H98 zenon_H87.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H87.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H88.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H89.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H8a.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H89.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H98.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L95_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L96_ *)
% 250.49/250.68  assert (zenon_L97_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_H99 zenon_Hb.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H90.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H92.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H99.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L95_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L97_ *)
% 250.49/250.68  assert (zenon_L98_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_Haa zenon_H3b.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H3b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7d.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Haa.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L95_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L98_ *)
% 250.49/250.68  assert (zenon_L99_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_Hab zenon_Hb0.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb3.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hab.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L95_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L99_ *)
% 250.49/250.68  assert (zenon_L100_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_Hcc zenon_Hb7 zenon_H87 zenon_Hb zenon_H3b zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L89_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L96_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L97_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L98_); trivial.
% 250.49/250.68  apply (zenon_L99_); trivial.
% 250.49/250.68  (* end of lemma zenon_L100_ *)
% 250.49/250.68  assert (zenon_L101_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H26 zenon_Hb7 zenon_Hcc zenon_H99.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H99.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hce.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L88_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L101_ *)
% 250.49/250.68  assert (zenon_L102_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> ((j (e23)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5b zenon_Hb7 zenon_Hcc zenon_Haa.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Haa.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e23)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e23)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hce.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Hcb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L88_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L102_ *)
% 250.49/250.68  assert (zenon_L103_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e13) (e13)))) -> ((j (e22)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hd2 zenon_H7c.
% 250.49/250.68  cut (((j (e22)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd3].
% 250.49/250.68  cut (((j (e22)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hd3].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hd3 zenon_H7c).
% 250.49/250.68  exact (zenon_Hd3 zenon_H7c).
% 250.49/250.68  (* end of lemma zenon_L103_ *)
% 250.49/250.68  assert (zenon_L104_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((op1 (e13) (e13)) = (e10)) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H9f zenon_H85 zenon_H7c zenon_H71.
% 250.49/250.68  cut (((op1 (e13) (e13)) = (e10)) = ((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H9f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H85.
% 250.49/250.68  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.68  cut (((op1 (e13) (e13)) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Hd4].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [ zenon_intro zenon_Ha2 | zenon_intro zenon_Ha3 ].
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22)))) = ((op1 (e13) (e13)) = (op1 (j (e22)) (j (e22))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hd4.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha2.
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (j (e22)) (j (e22))))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (e13) (e13)))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L103_); trivial.
% 250.49/250.68  apply zenon_Ha3. apply refl_equal.
% 250.49/250.68  apply zenon_Ha3. apply refl_equal.
% 250.49/250.68  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.68  (* end of lemma zenon_L104_ *)
% 250.49/250.68  assert (zenon_L105_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e13)) -> (~((op1 (e14) (e14)) = (j (e23)))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H9b zenon_H85 zenon_H71 zenon_H7c zenon_Ha5.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((op1 (e14) (e14)) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha5.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha4.
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((j (op2 (e22) (e22))) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L56_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply (zenon_L104_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L105_ *)
% 250.49/250.68  assert (zenon_L106_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_Hab zenon_Hb0.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb3.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hab.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L105_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L106_ *)
% 250.49/250.68  assert (zenon_L107_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_H47 zenon_H26 zenon_Hcc zenon_Hb7 zenon_H5b zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L89_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L90_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L101_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L102_); trivial.
% 250.49/250.68  apply (zenon_L106_); trivial.
% 250.49/250.68  (* end of lemma zenon_L107_ *)
% 250.49/250.68  assert (zenon_L108_ : (~((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))) -> ((j (e22)) = (e14)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H9f zenon_H82.
% 250.49/250.68  cut (((j (e22)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 250.49/250.68  cut (((j (e22)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hd5].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hd5 zenon_H82).
% 250.49/250.68  exact (zenon_Hd5 zenon_H82).
% 250.49/250.68  (* end of lemma zenon_L108_ *)
% 250.49/250.68  assert (zenon_L109_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e22)) = (e14)) -> (~((op1 (e14) (e14)) = (j (e23)))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H9b zenon_H82 zenon_Ha5.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((op1 (e14) (e14)) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha5.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha4.
% 250.49/250.68  cut (((op1 (j (e22)) (j (e22))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 250.49/250.68  cut (((j (op2 (e22) (e22))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (e23)) = (j (e23)))); [ zenon_intro zenon_Ha6 | zenon_intro zenon_Ha7 ].
% 250.49/250.68  cut (((j (e23)) = (j (e23))) = ((j (op2 (e22) (e22))) = (j (e23)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Ha6.
% 250.49/250.68  cut (((j (e23)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 250.49/250.68  cut (((j (e23)) = (j (op2 (e22) (e22))))); [idtac | apply NNPP; zenon_intro zenon_H9a].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L56_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply (zenon_L108_); trivial.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  apply zenon_Ha7. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L109_ *)
% 250.49/250.68  assert (zenon_L110_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_Haa zenon_H3b.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H3b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7d.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Haa.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L109_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L110_ *)
% 250.49/250.68  assert (zenon_L111_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_Hab zenon_Hb0.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb3.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hab.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L109_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L111_ *)
% 250.49/250.68  assert (zenon_L112_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L89_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L90_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L101_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L110_); trivial.
% 250.49/250.68  apply (zenon_L111_); trivial.
% 250.49/250.68  (* end of lemma zenon_L112_ *)
% 250.49/250.68  assert (zenon_L113_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e12)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_Ha0 zenon_H6b zenon_H54 zenon_H76 zenon_H70 zenon_Hb zenon_H87 zenon_H85 zenon_H5b zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L92_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L63_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L100_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L107_); trivial.
% 250.49/250.68  apply (zenon_L112_); trivial.
% 250.49/250.68  (* end of lemma zenon_L113_ *)
% 250.49/250.68  assert (zenon_L114_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> (~((e11) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e13) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_H15 zenon_Hb0 zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_Hb7 zenon_Hcc zenon_H47 zenon_Hac zenon_H5b zenon_H85 zenon_H87 zenon_Hb zenon_H70 zenon_H76 zenon_H6b zenon_Ha0 zenon_H8b zenon_H1f zenon_Hc zenon_H56 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L27_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L28_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L113_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L24_); trivial.
% 250.49/250.68  apply (zenon_L67_); trivial.
% 250.49/250.68  (* end of lemma zenon_L114_ *)
% 250.49/250.68  assert (zenon_L115_ : (~((j (h (e14))) = (j (e24)))) -> ((h (e14)) = (e24)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hd6 zenon_Hd7.
% 250.49/250.68  cut (((h (e14)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hd8 zenon_Hd7).
% 250.49/250.68  (* end of lemma zenon_L115_ *)
% 250.49/250.68  assert (zenon_L116_ : (~((e10) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb0 zenon_Hb7 zenon_Hd7 zenon_Hd9.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e10) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hb9].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e10) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb9.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e24)) = (e10)) = ((j (h (e14))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hd9.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hda.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L115_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L116_ *)
% 250.49/250.68  assert (zenon_L117_ : (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H47 zenon_Hb7 zenon_Hd7 zenon_Hdb.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e11) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H47.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e11) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbe.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e24)) = (e11)) = ((j (h (e14))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbd.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hdb.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hda.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L115_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L117_ *)
% 250.49/250.68  assert (zenon_L118_ : (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e12)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H26 zenon_Hb7 zenon_Hd7 zenon_Hdc.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e12) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc0.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e24)) = (e12)) = ((j (h (e14))) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hbf.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hdc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hda.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L115_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L118_ *)
% 250.49/250.68  assert (zenon_L119_ : (~((e13) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e24)) -> ((j (e24)) = (e13)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5b zenon_Hb7 zenon_Hd7 zenon_Hdd.
% 250.49/250.68  cut (((j (h (e14))) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hb7.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hc2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((e13) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_Hc1].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e24)) = (e13)) = ((j (h (e14))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hc1.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hdd.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e24)) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e14))) = (j (h (e14))))); [ zenon_intro zenon_Hba | zenon_intro zenon_Hbb ].
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14)))) = ((j (e24)) = (j (h (e14))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hda.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hba.
% 250.49/250.68  cut (((j (h (e14))) = (j (h (e14))))); [idtac | apply NNPP; zenon_intro zenon_Hbb].
% 250.49/250.68  cut (((j (h (e14))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L115_); trivial.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_Hbb. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L119_ *)
% 250.49/250.68  assert (zenon_L120_ : (~((j (h (e13))) = (j (e24)))) -> ((h (e13)) = (e24)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hde zenon_Hdf.
% 250.49/250.68  cut (((h (e13)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_He0 zenon_Hdf).
% 250.49/250.68  (* end of lemma zenon_L120_ *)
% 250.49/250.68  assert (zenon_L121_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H3c zenon_Hdf zenon_He1 zenon_H5b.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e13) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (h (e13))) = (e13)) = ((e14) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5c.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H3c.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5d.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.68  cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H3f.
% 250.49/250.68  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.68  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e24)) = (e14)) = ((j (h (e13))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H5d.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_He1.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_He2].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.68  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_He2.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H3f.
% 250.49/250.68  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.68  cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L120_); trivial.
% 250.49/250.68  apply zenon_H40. apply refl_equal.
% 250.49/250.68  apply zenon_H40. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H40. apply refl_equal.
% 250.49/250.68  apply zenon_H40. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L121_ *)
% 250.49/250.68  assert (zenon_L122_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_He3 zenon_Hb0 zenon_H47 zenon_H26 zenon_Hd7 zenon_Hb7 zenon_H3c zenon_Hdf zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.49/250.68  apply (zenon_L116_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.49/250.68  apply (zenon_L117_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.49/250.68  apply (zenon_L118_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.49/250.68  apply (zenon_L119_); trivial.
% 250.49/250.68  apply (zenon_L121_); trivial.
% 250.49/250.68  (* end of lemma zenon_L122_ *)
% 250.49/250.68  assert (zenon_L123_ : (~((j (h (e12))) = (j (e22)))) -> ((h (e12)) = (e22)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_He7 zenon_He8.
% 250.49/250.68  cut (((h (e12)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_He9].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_He9 zenon_He8).
% 250.49/250.68  (* end of lemma zenon_L123_ *)
% 250.49/250.68  assert (zenon_L124_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb zenon_Hc zenon_He8 zenon_H66.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_He.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H10.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_He.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H66.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hea.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L123_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L124_ *)
% 250.49/250.68  assert (zenon_L125_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_H69 zenon_Hb.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H90.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H92.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H69.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7a.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L41_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L125_ *)
% 250.49/250.68  assert (zenon_L126_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e12) = (e13))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hc zenon_He8 zenon_H7c zenon_H1f.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((e12) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H1f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H21.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H22.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H23.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H22.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H7c.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hea.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L123_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L126_ *)
% 250.49/250.68  assert (zenon_L127_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hc zenon_He8 zenon_H82 zenon_H26.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((e12) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H26.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e14) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H28.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.68  cut (((e14) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H29.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H27.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H2a.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H29.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H82.
% 250.49/250.68  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.68  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hea.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L123_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  apply zenon_H24. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L127_ *)
% 250.49/250.68  assert (zenon_L128_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_H87 zenon_Hb zenon_H6b zenon_H85 zenon_H71 zenon_H58 zenon_H76 zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L124_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L42_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L125_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L126_); trivial.
% 250.49/250.68  apply (zenon_L127_); trivial.
% 250.49/250.68  (* end of lemma zenon_L128_ *)
% 250.49/250.68  assert (zenon_L129_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e14))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_H3b zenon_H42 zenon_H26 zenon_He8 zenon_Hc zenon_H1f zenon_H76 zenon_H71 zenon_H85 zenon_H6b zenon_Hb zenon_H87 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L20_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L21_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L22_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L128_); trivial.
% 250.49/250.68  apply (zenon_L25_); trivial.
% 250.49/250.68  (* end of lemma zenon_L129_ *)
% 250.49/250.68  assert (zenon_L130_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_H3b zenon_H42 zenon_H1f zenon_He8 zenon_Hc zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L30_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L31_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L32_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L126_); trivial.
% 250.49/250.68  apply (zenon_L38_); trivial.
% 250.49/250.68  (* end of lemma zenon_L130_ *)
% 250.49/250.68  assert (zenon_L131_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> ((j (e22)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H15 zenon_Hc zenon_He8 zenon_H68.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H15.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H17.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H19.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e22)) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H17.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H68.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e22)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hea].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e22)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hea.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_He7].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L123_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L131_ *)
% 250.49/250.68  assert (zenon_L132_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e12)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_H42 zenon_Hb zenon_H3b zenon_H9b zenon_H70 zenon_H71 zenon_H69 zenon_Ha4 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L53_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L54_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L97_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L98_); trivial.
% 250.49/250.68  apply (zenon_L61_); trivial.
% 250.49/250.68  (* end of lemma zenon_L132_ *)
% 250.49/250.68  assert (zenon_L133_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_Haa zenon_H3b.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H3b.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e13) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7d.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7f].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e13) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H7e].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e13)) = ((op1 (e14) (e14)) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H7e.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Haa.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L105_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  apply zenon_H1d. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L133_ *)
% 250.49/250.68  assert (zenon_L134_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_H42 zenon_H1f zenon_H3b zenon_H9b zenon_H85 zenon_H71 zenon_H7c zenon_Ha4 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L53_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L54_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L55_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L133_); trivial.
% 250.49/250.68  apply (zenon_L61_); trivial.
% 250.49/250.68  (* end of lemma zenon_L134_ *)
% 250.49/250.68  assert (zenon_L135_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_H98 zenon_H87.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H87.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H88.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H89.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H8a.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H89.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H98.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L109_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L135_ *)
% 250.49/250.68  assert (zenon_L136_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_H99 zenon_Hb.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H90.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H71.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.68  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H31.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H92.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H91.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H99.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Ha8.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H80.
% 250.49/250.68  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.68  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L109_); trivial.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_H81. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L136_ *)
% 250.49/250.68  assert (zenon_L137_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e22)) = (e14)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_H82 zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.68  apply (zenon_L53_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.68  apply (zenon_L135_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.68  apply (zenon_L136_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.68  apply (zenon_L110_); trivial.
% 250.49/250.68  apply (zenon_L61_); trivial.
% 250.49/250.68  (* end of lemma zenon_L137_ *)
% 250.49/250.68  assert (zenon_L138_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e12)) = (e22)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_He8 zenon_Hc zenon_H15 zenon_H70 zenon_H85 zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L124_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L131_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L132_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L134_); trivial.
% 250.49/250.68  apply (zenon_L137_); trivial.
% 250.49/250.68  (* end of lemma zenon_L138_ *)
% 250.49/250.68  assert (zenon_L139_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_H87 zenon_Hb zenon_H3b zenon_H6b zenon_H5a zenon_H76 zenon_H71 zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L124_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L47_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L48_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L49_); trivial.
% 250.49/250.68  apply (zenon_L127_); trivial.
% 250.49/250.68  (* end of lemma zenon_L139_ *)
% 250.49/250.68  assert (zenon_L140_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H87 zenon_Hb zenon_H3b zenon_H6b zenon_H76 zenon_H71 zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.68  apply (zenon_L76_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.68  apply (zenon_L77_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.68  apply (zenon_L78_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.68  apply (zenon_L79_); trivial.
% 250.49/250.68  apply (zenon_L139_); trivial.
% 250.49/250.68  (* end of lemma zenon_L140_ *)
% 250.49/250.68  assert (zenon_L141_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_Hb0 zenon_H47 zenon_Hc8 zenon_Hb7 zenon_H5b zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L82_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L83_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L84_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L85_); trivial.
% 250.49/250.68  apply (zenon_L127_); trivial.
% 250.49/250.68  (* end of lemma zenon_L141_ *)
% 250.49/250.68  assert (zenon_L142_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H8b zenon_H15 zenon_Hb0 zenon_H9b zenon_H70 zenon_H71 zenon_Ha4 zenon_H3b zenon_Hb zenon_H87 zenon_Hb7 zenon_Hcc zenon_Hac zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.68  apply (zenon_L124_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.68  apply (zenon_L131_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.68  apply (zenon_L100_); trivial.
% 250.49/250.68  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.68  apply (zenon_L126_); trivial.
% 250.49/250.68  apply (zenon_L127_); trivial.
% 250.49/250.68  (* end of lemma zenon_L142_ *)
% 250.49/250.68  assert (zenon_L143_ : (~((j (h (e12))) = (j (e23)))) -> ((h (e12)) = (e23)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Heb zenon_Hec.
% 250.49/250.68  cut (((h (e12)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_Hed].
% 250.49/250.68  congruence.
% 250.49/250.68  exact (zenon_Hed zenon_Hec).
% 250.49/250.68  (* end of lemma zenon_L143_ *)
% 250.49/250.68  assert (zenon_L144_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hb zenon_Hc zenon_Hec zenon_H96.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hb.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.68  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_He.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hf.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H10.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e10)) = ((j (h (e12))) = (e10))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_He.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H96.
% 250.49/250.68  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.68  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hee.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L143_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_H9. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L144_ *)
% 250.49/250.68  assert (zenon_L145_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e11)) -> False).
% 250.49/250.68  do 0 intro. intros zenon_H15 zenon_Hc zenon_Hec zenon_H98.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H15.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.68  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H17.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H18.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H19.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (e23)) = (e11)) = ((j (h (e12))) = (e11))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H17.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H98.
% 250.49/250.68  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.68  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_Hee.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H11.
% 250.49/250.68  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.68  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 250.49/250.68  congruence.
% 250.49/250.68  apply (zenon_L143_); trivial.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H12. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_H14. apply refl_equal.
% 250.49/250.68  apply zenon_Ha. apply refl_equal.
% 250.49/250.68  (* end of lemma zenon_L145_ *)
% 250.49/250.68  assert (zenon_L146_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e12) = (e13))) -> False).
% 250.49/250.68  do 0 intro. intros zenon_Hc zenon_Hec zenon_Haa zenon_H1f.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((e12) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H1f.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.68  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 250.49/250.68  congruence.
% 250.49/250.68  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H21.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_Hc.
% 250.49/250.68  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.68  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.68  congruence.
% 250.49/250.68  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.68  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.68  intro zenon_D_pnotp.
% 250.49/250.68  apply zenon_H22.
% 250.49/250.68  rewrite <- zenon_D_pnotp.
% 250.49/250.68  exact zenon_H20.
% 250.49/250.68  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H23.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H22.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Haa.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hee.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L143_); trivial.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L146_ *)
% 250.49/250.69  assert (zenon_L147_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hc zenon_Hec zenon_Hab zenon_H26.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e12) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H26.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e12))) = (e12)) = ((e14) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H28.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hc.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H29.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H2a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H29.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hab.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e23)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e23)) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hee.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Heb].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L143_); trivial.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L147_ *)
% 250.49/250.69  assert (zenon_L148_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H15 zenon_Hb zenon_H9b zenon_Ha0 zenon_H71 zenon_H66 zenon_Ha4 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L144_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L145_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L91_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L146_); trivial.
% 250.49/250.69  apply (zenon_L147_); trivial.
% 250.49/250.69  (* end of lemma zenon_L148_ *)
% 250.49/250.69  assert (zenon_L149_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_H82 zenon_Hb0.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb0.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb1.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb3.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H82.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H7a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L41_); trivial.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L149_ *)
% 250.49/250.69  assert (zenon_L150_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e14))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e11) = (e12))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H26 zenon_Hec zenon_Hc zenon_H1f zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H15 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L148_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L42_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L125_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L43_); trivial.
% 250.49/250.69  apply (zenon_L149_); trivial.
% 250.49/250.69  (* end of lemma zenon_L150_ *)
% 250.49/250.69  assert (zenon_L151_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H42 zenon_Hb0 zenon_H6b zenon_H85 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_Hac zenon_H15 zenon_H9b zenon_Ha0 zenon_Ha4 zenon_H1f zenon_Hc zenon_Hec zenon_H26 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L20_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L21_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L22_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L150_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L151_ *)
% 250.49/250.69  assert (zenon_L152_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_H98 zenon_H87.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H88.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H8a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H98.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Ha8.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L105_); trivial.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L152_ *)
% 250.49/250.69  assert (zenon_L153_ : ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_H99 zenon_Hb.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e12) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H90.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H91.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e12) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H92.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H91].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e12)) = ((op1 (e14) (e14)) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H91.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H99.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Ha8.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L105_); trivial.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L153_ *)
% 250.49/250.69  assert (zenon_L154_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_H85 zenon_H71 zenon_H7c zenon_Ha4 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L144_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L152_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L153_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L146_); trivial.
% 250.49/250.69  apply (zenon_L147_); trivial.
% 250.49/250.69  (* end of lemma zenon_L154_ *)
% 250.49/250.69  assert (zenon_L155_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e14))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H3b zenon_H42 zenon_H26 zenon_Hec zenon_Hc zenon_H1f zenon_Ha4 zenon_H71 zenon_H85 zenon_H9b zenon_Hb zenon_H87 zenon_Hac zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L30_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L31_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L32_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L154_); trivial.
% 250.49/250.69  apply (zenon_L38_); trivial.
% 250.49/250.69  (* end of lemma zenon_L155_ *)
% 250.49/250.69  assert (zenon_L156_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H3b zenon_H42 zenon_H1f zenon_Hec zenon_Hc zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L53_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L54_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L55_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L146_); trivial.
% 250.49/250.69  apply (zenon_L61_); trivial.
% 250.49/250.69  (* end of lemma zenon_L156_ *)
% 250.49/250.69  assert (zenon_L157_ : ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_H82 zenon_Hb0.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb0.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e14) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb1.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e14) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb3.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e14))); [idtac | apply NNPP; zenon_intro zenon_Hb2].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e22)) = (e14)) = ((op1 (e14) (e14)) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H82.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H7a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L46_); trivial.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L157_ *)
% 250.49/250.69  assert (zenon_L158_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e14))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e11) = (e12))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H26 zenon_Hec zenon_Hc zenon_H1f zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H15 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L148_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L47_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L48_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L49_); trivial.
% 250.49/250.69  apply (zenon_L157_); trivial.
% 250.49/250.69  (* end of lemma zenon_L158_ *)
% 250.49/250.69  assert (zenon_L159_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e14))) -> ((h (e12)) = (e23)) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e11) = (e12))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H47 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H26 zenon_Hec zenon_Hc zenon_H1f zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H15 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L78_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L158_); trivial.
% 250.49/250.69  (* end of lemma zenon_L159_ *)
% 250.49/250.69  assert (zenon_L160_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e22)) = (e14)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_H82 zenon_Ha4 zenon_H71 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L144_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L135_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L136_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L146_); trivial.
% 250.49/250.69  apply (zenon_L147_); trivial.
% 250.49/250.69  (* end of lemma zenon_L160_ *)
% 250.49/250.69  assert (zenon_L161_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hb0 zenon_H47 zenon_Hc8 zenon_Hb7 zenon_H5b zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_Ha4 zenon_H71 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L83_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L84_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L85_); trivial.
% 250.49/250.69  apply (zenon_L160_); trivial.
% 250.49/250.69  (* end of lemma zenon_L161_ *)
% 250.49/250.69  assert (zenon_L162_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_Hb0 zenon_H47 zenon_Hcc zenon_Hb7 zenon_H5b zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L89_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L90_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L101_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L102_); trivial.
% 250.49/250.69  apply (zenon_L147_); trivial.
% 250.49/250.69  (* end of lemma zenon_L162_ *)
% 250.49/250.69  assert (zenon_L163_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_H26 zenon_Hc4 zenon_Hb7 zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L78_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L163_ *)
% 250.49/250.69  assert (zenon_L164_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hc8 zenon_Hb7 zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L42_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L125_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L43_); trivial.
% 250.49/250.69  apply (zenon_L149_); trivial.
% 250.49/250.69  (* end of lemma zenon_L164_ *)
% 250.49/250.69  assert (zenon_L165_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H42 zenon_H1f zenon_Hb0 zenon_H6b zenon_H85 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_Hb7 zenon_Hc8 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L20_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L21_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L22_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L164_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L165_ *)
% 250.49/250.69  assert (zenon_L166_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Ha0 zenon_H6b zenon_H58 zenon_H76 zenon_H70 zenon_Hb zenon_H87 zenon_H85 zenon_H5b zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L92_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L42_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L100_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L107_); trivial.
% 250.49/250.69  apply (zenon_L112_); trivial.
% 250.49/250.69  (* end of lemma zenon_L166_ *)
% 250.49/250.69  assert (zenon_L167_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> (~((e11) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H42 zenon_Hb0 zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_H26 zenon_Hb7 zenon_Hcc zenon_H47 zenon_Hac zenon_H85 zenon_H87 zenon_Hb zenon_H70 zenon_H76 zenon_H6b zenon_Ha0 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L20_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L21_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L113_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L166_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L167_ *)
% 250.49/250.69  assert (zenon_L168_ : (~((j (h (e12))) = (j (e24)))) -> ((h (e12)) = (e24)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hef zenon_Hf0.
% 250.49/250.69  cut (((h (e12)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_Hf1].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_Hf1 zenon_Hf0).
% 250.49/250.69  (* end of lemma zenon_L168_ *)
% 250.49/250.69  assert (zenon_L169_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hc zenon_Hf0 zenon_He1 zenon_H26.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e12) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H26.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e12))) = (e12)) = ((e14) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H28.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hc.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H29.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H2a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((e14) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H2a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H29].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e24)) = (e14)) = ((j (h (e12))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H29.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_He1.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hf2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L168_); trivial.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L169_ *)
% 250.49/250.69  assert (zenon_L170_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_He3 zenon_Hb0 zenon_H47 zenon_Hd7 zenon_Hb7 zenon_H5b zenon_Hc zenon_Hf0 zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.49/250.69  apply (zenon_L116_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.49/250.69  apply (zenon_L117_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.49/250.69  apply (zenon_L118_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.49/250.69  apply (zenon_L119_); trivial.
% 250.49/250.69  apply (zenon_L169_); trivial.
% 250.49/250.69  (* end of lemma zenon_L170_ *)
% 250.49/250.69  assert (zenon_L171_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_H26 zenon_Hc4 zenon_Hb7 zenon_H8b zenon_H87 zenon_Hb zenon_H3b zenon_H6b zenon_H76 zenon_H71 zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L78_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L50_); trivial.
% 250.49/250.69  (* end of lemma zenon_L171_ *)
% 250.49/250.69  assert (zenon_L172_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hb0 zenon_H47 zenon_H26 zenon_Hc8 zenon_Hb7 zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L83_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L84_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L85_); trivial.
% 250.49/250.69  apply (zenon_L38_); trivial.
% 250.49/250.69  (* end of lemma zenon_L172_ *)
% 250.49/250.69  assert (zenon_L173_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e13)) = (e22)) -> ((j (h (e13))) = (e13)) -> (~((e11) = (e13))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H64 zenon_H3c zenon_H42 zenon_H70 zenon_Hb zenon_H87 zenon_H85 zenon_H5b zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L30_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L31_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L100_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L107_); trivial.
% 250.49/250.69  apply (zenon_L112_); trivial.
% 250.49/250.69  (* end of lemma zenon_L173_ *)
% 250.49/250.69  assert (zenon_L174_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e13) = (e14))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H5b zenon_H94 zenon_H3c zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L62_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L47_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L48_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L49_); trivial.
% 250.49/250.69  apply (zenon_L157_); trivial.
% 250.49/250.69  (* end of lemma zenon_L174_ *)
% 250.49/250.69  assert (zenon_L175_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e14))) -> ((op1 (e12) (e12)) = (e10)) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e13) = (e14))) -> ((h (e13)) = (e23)) -> ((j (h (e13))) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H47 zenon_H70 zenon_Hc4 zenon_Hb7 zenon_H8b zenon_H5b zenon_H94 zenon_H3c zenon_Ha4 zenon_Ha0 zenon_H9b zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L66_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L174_); trivial.
% 250.49/250.69  (* end of lemma zenon_L175_ *)
% 250.49/250.69  assert (zenon_L176_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hb0 zenon_H47 zenon_H26 zenon_Hc8 zenon_Hb7 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L83_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L84_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L85_); trivial.
% 250.49/250.69  apply (zenon_L137_); trivial.
% 250.49/250.69  (* end of lemma zenon_L176_ *)
% 250.49/250.69  assert (zenon_L177_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_Hb0 zenon_H47 zenon_H26 zenon_Hcc zenon_Hb7 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L89_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L90_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L101_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L102_); trivial.
% 250.49/250.69  apply (zenon_L61_); trivial.
% 250.49/250.69  (* end of lemma zenon_L177_ *)
% 250.49/250.69  assert (zenon_L178_ : (~((e10) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H3b zenon_H3c zenon_Hdf zenon_Hd9.
% 250.49/250.69  cut (((j (h (e13))) = (e13)) = ((e10) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H3b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3c.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.69  cut (((e10) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H3d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hf.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((e10) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H3e].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((e10) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H3e.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H3d].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e24)) = (e10)) = ((j (h (e13))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H3d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hd9.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_He2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_He2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L120_); trivial.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L178_ *)
% 250.49/250.69  assert (zenon_L179_ : (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e11)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H42 zenon_H3c zenon_Hdf zenon_Hdb.
% 250.49/250.69  cut (((j (h (e13))) = (e13)) = ((e11) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H42.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3c.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H43.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H44].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((e11) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H44.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H43].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e24)) = (e11)) = ((j (h (e13))) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H43.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hdb.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_He2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_He2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L120_); trivial.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L179_ *)
% 250.49/250.69  assert (zenon_L180_ : (~((e12) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> ((j (e24)) = (e12)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H1f zenon_H3c zenon_Hdf zenon_Hdc.
% 250.49/250.69  cut (((j (h (e13))) = (e13)) = ((e12) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H1f.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3c.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H45.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((e12) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H46.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e24)) = (e12)) = ((j (h (e13))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H45.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hdc.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e24)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_He2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e24)) = (j (h (e13))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_He2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H3f.
% 250.49/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.49/250.69  cut (((j (h (e13))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L120_); trivial.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_H40. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L180_ *)
% 250.49/250.69  assert (zenon_L181_ : ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e12) = (e13))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hc zenon_Hf0 zenon_Hdd zenon_H1f.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((e12) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H1f.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H21].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e12))) = (e12)) = ((e13) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H21.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hc.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H22.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((e13) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H23.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H22].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e24)) = (e13)) = ((j (h (e12))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H22.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hdd.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hf2.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11.
% 250.49/250.69  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.49/250.69  cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L168_); trivial.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H12. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L181_ *)
% 250.49/250.69  assert (zenon_L182_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((h (e12)) = (e24)) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_He3 zenon_H3b zenon_H42 zenon_H1f zenon_Hf0 zenon_Hc zenon_H3c zenon_Hdf zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.49/250.69  apply (zenon_L178_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.49/250.69  apply (zenon_L179_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.49/250.69  apply (zenon_L180_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.49/250.69  apply (zenon_L181_); trivial.
% 250.49/250.69  apply (zenon_L121_); trivial.
% 250.49/250.69  (* end of lemma zenon_L182_ *)
% 250.49/250.69  assert (zenon_L183_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> (~((e11) = (e12))) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (~((e10) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e20)) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hf3 zenon_H15 zenon_Hf4 zenon_H85 zenon_H26 zenon_Hb7 zenon_H47 zenon_Hb0 zenon_Hac zenon_H8b zenon_H87 zenon_Hb zenon_H9b zenon_Ha4 zenon_H71 zenon_H5f zenon_H70 zenon_Ha0 zenon_H76 zenon_H6b zenon_H2b zenon_H2c zenon_H1b zenon_Hf5 zenon_He3 zenon_H3b zenon_H42 zenon_H1f zenon_Hc zenon_H3c zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.49/250.69  apply (zenon_L12_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.49/250.69  apply (zenon_L18_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.49/250.69  apply (zenon_L26_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.49/250.69  apply (zenon_L51_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.49/250.69  apply (zenon_L68_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L80_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L87_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L114_); trivial.
% 250.49/250.69  apply (zenon_L122_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.49/250.69  apply (zenon_L18_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.49/250.69  apply (zenon_L129_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.49/250.69  apply (zenon_L130_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.49/250.69  apply (zenon_L138_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L140_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L141_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L142_); trivial.
% 250.49/250.69  apply (zenon_L122_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.49/250.69  apply (zenon_L18_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.49/250.69  apply (zenon_L151_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.49/250.69  apply (zenon_L155_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.49/250.69  apply (zenon_L156_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L159_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L161_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L162_); trivial.
% 250.49/250.69  apply (zenon_L122_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.49/250.69  apply (zenon_L18_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L163_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L165_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L167_); trivial.
% 250.49/250.69  apply (zenon_L170_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L171_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L172_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L173_); trivial.
% 250.49/250.69  apply (zenon_L170_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.49/250.69  apply (zenon_L74_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.49/250.69  apply (zenon_L175_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.49/250.69  apply (zenon_L176_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.49/250.69  apply (zenon_L177_); trivial.
% 250.49/250.69  apply (zenon_L170_); trivial.
% 250.49/250.69  apply (zenon_L182_); trivial.
% 250.49/250.69  (* end of lemma zenon_L183_ *)
% 250.49/250.69  assert (zenon_L184_ : (~((j (h (e10))) = (j (e20)))) -> ((h (e10)) = (e20)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hff zenon_H100.
% 250.49/250.69  cut (((h (e10)) = (e20))); [idtac | apply NNPP; zenon_intro zenon_H101].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_H101 zenon_H100).
% 250.49/250.69  (* end of lemma zenon_L184_ *)
% 250.49/250.69  assert (zenon_L185_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e20)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2b zenon_H15 zenon_Hb zenon_H100 zenon_H102 zenon_H1f zenon_Hc zenon_H7 zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.69  apply (zenon_L4_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.69  apply (zenon_L6_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e10))) = (e10)) = ((e12) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H90.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H102.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((j (h (e10))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H103.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H104.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e20)) = (e12)) = ((j (h (e10))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H103.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H30.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H107.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L184_); trivial.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.69  apply (zenon_L9_); trivial.
% 250.49/250.69  apply (zenon_L11_); trivial.
% 250.49/250.69  (* end of lemma zenon_L185_ *)
% 250.49/250.69  assert (zenon_L186_ : (~((j (h (e11))) = (j (e21)))) -> ((h (e11)) = (e21)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H108 zenon_H109.
% 250.49/250.69  cut (((h (e11)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H10a].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_H10a zenon_H109).
% 250.49/250.69  (* end of lemma zenon_L186_ *)
% 250.49/250.69  assert (zenon_L187_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e12)) -> (~((e11) = (e12))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H109 zenon_H54 zenon_H15.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((e11) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H15.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H32.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H34.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e21)) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H54.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L186_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L187_ *)
% 250.49/250.69  assert (zenon_L188_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e13)) -> (~((e11) = (e13))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H109 zenon_H58 zenon_H42.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((e11) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H42.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e21)) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H58.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L186_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L188_ *)
% 250.49/250.69  assert (zenon_L189_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e14)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H109 zenon_H5a zenon_H47.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e11) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H47.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e14) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H48.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H49.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e21)) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H49.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H5a.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L186_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L189_ *)
% 250.49/250.69  assert (zenon_L190_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e12))) -> ((h (e12)) = (e21)) -> ((j (h (e12))) = (e12)) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb zenon_H56 zenon_Hc zenon_H15 zenon_H42 zenon_H2c zenon_H109 zenon_H47.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L27_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L28_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L187_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L188_); trivial.
% 250.49/250.69  apply (zenon_L189_); trivial.
% 250.49/250.69  (* end of lemma zenon_L190_ *)
% 250.49/250.69  assert (zenon_L191_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H102 zenon_H100 zenon_H25 zenon_Hb0.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb0.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e10))) = (e10)) = ((e14) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_Hb1.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H102.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((j (h (e10))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e20)) = (e14)) = ((j (h (e10))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H25.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H107.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L184_); trivial.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L191_ *)
% 250.49/250.69  assert (zenon_L192_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e13))) -> ((h (e13)) = (e20)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2b zenon_H42 zenon_H39 zenon_H3c zenon_H1f zenon_H3b zenon_H102 zenon_H100 zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.69  apply (zenon_L14_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.69  apply (zenon_L15_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.69  apply (zenon_L16_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H3b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e10))) = (e10)) = ((e13) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H7d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H102.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((j (h (e10))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10e.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10f.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e20)) = (e13)) = ((j (h (e10))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10e.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H1e.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e20)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H107].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e20)) = (j (h (e10))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H107.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H105.
% 250.49/250.69  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.49/250.69  cut (((j (h (e10))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L184_); trivial.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H106. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply (zenon_L191_); trivial.
% 250.49/250.69  (* end of lemma zenon_L192_ *)
% 250.49/250.69  assert (zenon_L193_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H3b zenon_H1f zenon_H42 zenon_H109 zenon_H2c zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L20_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L21_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L22_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L188_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L193_ *)
% 250.49/250.69  assert (zenon_L194_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> ((j (e21)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H87 zenon_H2c zenon_H109 zenon_H51.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.69  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hf.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H111.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e21)) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H51.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (e21)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H10b].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e21)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H10b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L186_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L194_ *)
% 250.49/250.69  assert (zenon_L195_ : (~((op1 (j (e23)) (j (e23))) = (op1 (e10) (e10)))) -> ((j (e23)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H112 zenon_H96.
% 250.49/250.69  cut (((j (e23)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 250.49/250.69  cut (((j (e23)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H113].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_H113 zenon_H96).
% 250.49/250.69  exact (zenon_H113 zenon_H96).
% 250.49/250.69  (* end of lemma zenon_L195_ *)
% 250.49/250.69  assert (zenon_L196_ : (~((op1 (j (e23)) (j (e23))) = (op1 (e14) (e14)))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (e23)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H114 zenon_Ha0 zenon_H96 zenon_H71.
% 250.49/250.69  cut (((op1 (e10) (e10)) = (e10)) = ((op1 (j (e23)) (j (e23))) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H114.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Ha0.
% 250.49/250.69  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.49/250.69  cut (((op1 (e10) (e10)) = (op1 (j (e23)) (j (e23))))); [idtac | apply NNPP; zenon_intro zenon_H115].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (j (e23)) (j (e23))) = (op1 (j (e23)) (j (e23))))); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 250.49/250.69  cut (((op1 (j (e23)) (j (e23))) = (op1 (j (e23)) (j (e23)))) = ((op1 (e10) (e10)) = (op1 (j (e23)) (j (e23))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H115.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H116.
% 250.49/250.69  cut (((op1 (j (e23)) (j (e23))) = (op1 (j (e23)) (j (e23))))); [idtac | apply NNPP; zenon_intro zenon_H117].
% 250.49/250.69  cut (((op1 (j (e23)) (j (e23))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H112].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L195_); trivial.
% 250.49/250.69  apply zenon_H117. apply refl_equal.
% 250.49/250.69  apply zenon_H117. apply refl_equal.
% 250.49/250.69  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.49/250.69  (* end of lemma zenon_L196_ *)
% 250.49/250.69  assert (zenon_L197_ : ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> ((j (e23)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e23) (e23)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H118 zenon_H96 zenon_H71 zenon_Ha0 zenon_H119 zenon_H53 zenon_H87.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H88.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H8a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e21)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H53.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H11a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e21)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H11a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H11b].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H11c | zenon_intro zenon_H11d ].
% 250.49/250.69  cut (((j (e21)) = (j (e21))) = ((op1 (e14) (e14)) = (j (e21)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H11b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11c.
% 250.49/250.69  cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 250.49/250.69  cut (((j (e21)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H11a].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) = ((j (e21)) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H11a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H118.
% 250.49/250.69  cut (((op1 (j (e23)) (j (e23))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H114].
% 250.49/250.69  cut (((j (op2 (e23) (e23))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H11e].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (e21)) = (j (e21)))); [ zenon_intro zenon_H11c | zenon_intro zenon_H11d ].
% 250.49/250.69  cut (((j (e21)) = (j (e21))) = ((j (op2 (e23) (e23))) = (j (e21)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H11e.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H11c.
% 250.49/250.69  cut (((j (e21)) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H11d].
% 250.49/250.69  cut (((j (e21)) = (j (op2 (e23) (e23))))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((e21) = (op2 (e23) (e23)))); [idtac | apply NNPP; zenon_intro zenon_H120].
% 250.49/250.69  congruence.
% 250.49/250.69  apply zenon_H120. apply sym_equal. exact zenon_H119.
% 250.49/250.69  apply zenon_H11d. apply refl_equal.
% 250.49/250.69  apply zenon_H11d. apply refl_equal.
% 250.49/250.69  apply (zenon_L196_); trivial.
% 250.49/250.69  apply zenon_H11d. apply refl_equal.
% 250.49/250.69  apply zenon_H11d. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H81. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L197_ *)
% 250.49/250.69  assert (zenon_L198_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (e21)) = (e11)) -> ((op2 (e23) (e23)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H53 zenon_H119 zenon_Ha0 zenon_H118 zenon_H87 zenon_Hb zenon_H3b zenon_Ha4 zenon_H7c zenon_H71 zenon_H85 zenon_H9b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L197_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L152_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L153_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L133_); trivial.
% 250.49/250.69  apply (zenon_L106_); trivial.
% 250.49/250.69  (* end of lemma zenon_L198_ *)
% 250.49/250.69  assert (zenon_L199_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e13) = (e14))) -> ((h (e13)) = (e22)) -> ((j (h (e13))) = (e13)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op2 (e23) (e23)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> (~((e12) = (e13))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H5b zenon_H64 zenon_H3c zenon_Hac zenon_H119 zenon_Ha0 zenon_H118 zenon_H87 zenon_Hb zenon_H3b zenon_Ha4 zenon_H71 zenon_H85 zenon_H9b zenon_Hb0 zenon_H1f zenon_H8b zenon_H15 zenon_H42 zenon_H2c zenon_H109 zenon_H47.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L194_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L30_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L31_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L32_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L198_); trivial.
% 250.49/250.69  apply (zenon_L38_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L187_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L188_); trivial.
% 250.49/250.69  apply (zenon_L189_); trivial.
% 250.49/250.69  (* end of lemma zenon_L199_ *)
% 250.49/250.69  assert (zenon_L200_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e20)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2b zenon_H47 zenon_H26 zenon_Hb5 zenon_Hb7 zenon_H5b zenon_H102 zenon_H100 zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.69  apply (zenon_L70_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.69  apply (zenon_L71_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.69  apply (zenon_L72_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.69  apply (zenon_L73_); trivial.
% 250.49/250.69  apply (zenon_L191_); trivial.
% 250.49/250.69  (* end of lemma zenon_L200_ *)
% 250.49/250.69  assert (zenon_L201_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H26 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H2c zenon_H109 zenon_H47.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L78_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L189_); trivial.
% 250.49/250.69  (* end of lemma zenon_L201_ *)
% 250.49/250.69  assert (zenon_L202_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (e21)) = (e11)) -> ((op2 (e23) (e23)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e14)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H53 zenon_H119 zenon_Ha0 zenon_H118 zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_Ha4 zenon_H82 zenon_H9b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L197_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L135_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L136_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L110_); trivial.
% 250.49/250.69  apply (zenon_L111_); trivial.
% 250.49/250.69  (* end of lemma zenon_L202_ *)
% 250.49/250.69  assert (zenon_L203_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hc8 zenon_Hb7 zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L47_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L48_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L49_); trivial.
% 250.49/250.69  apply (zenon_L157_); trivial.
% 250.49/250.69  (* end of lemma zenon_L203_ *)
% 250.49/250.69  assert (zenon_L204_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((h (e11)) = (e21)) -> ((j (h (e11))) = (e11)) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e23) (e23)) = (e21)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e13) = (e14))) -> (~((e12) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H109 zenon_H2c zenon_H9b zenon_Ha4 zenon_H118 zenon_Ha0 zenon_H119 zenon_Hac zenon_H70 zenon_H5b zenon_H26 zenon_H47 zenon_H85 zenon_H8b zenon_Hc8 zenon_Hb7 zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L194_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L82_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L83_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L84_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L198_); trivial.
% 250.49/250.69  apply (zenon_L202_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L86_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L164_); trivial.
% 250.49/250.69  apply (zenon_L203_); trivial.
% 250.49/250.69  (* end of lemma zenon_L204_ *)
% 250.49/250.69  assert (zenon_L205_ : (~((j (h (e11))) = (j (e22)))) -> ((h (e11)) = (e22)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H121 zenon_H122.
% 250.49/250.69  cut (((h (e11)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H123].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_H123 zenon_H122).
% 250.49/250.69  (* end of lemma zenon_L205_ *)
% 250.49/250.69  assert (zenon_L206_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H87 zenon_H2c zenon_H122 zenon_H66.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.69  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hf.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H111.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e22)) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H66.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H124.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L205_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L206_ *)
% 250.49/250.69  assert (zenon_L207_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L63_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L64_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L37_); trivial.
% 250.49/250.69  apply (zenon_L65_); trivial.
% 250.49/250.69  (* end of lemma zenon_L207_ *)
% 250.49/250.69  assert (zenon_L208_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H15 zenon_Hb0 zenon_H6b zenon_H70 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_H2c zenon_H122 zenon_H8b zenon_H1f zenon_Hc zenon_H56 zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L27_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L28_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L207_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L24_); trivial.
% 250.49/250.69  apply (zenon_L67_); trivial.
% 250.49/250.69  (* end of lemma zenon_L208_ *)
% 250.49/250.69  assert (zenon_L209_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e12)) -> (~((e11) = (e12))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H122 zenon_H69 zenon_H15.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((e11) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H15.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H32.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H34.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e22)) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H69.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H124.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L205_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L209_ *)
% 250.49/250.69  assert (zenon_L210_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_Hb zenon_H15 zenon_H122 zenon_H2c zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L124_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L131_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L209_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L126_); trivial.
% 250.49/250.69  apply (zenon_L127_); trivial.
% 250.49/250.69  (* end of lemma zenon_L210_ *)
% 250.49/250.69  assert (zenon_L211_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e12)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_H70 zenon_H71 zenon_H69 zenon_Ha4 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L144_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  apply (zenon_L96_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.49/250.69  apply (zenon_L97_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.49/250.69  apply (zenon_L146_); trivial.
% 250.49/250.69  apply (zenon_L147_); trivial.
% 250.49/250.69  (* end of lemma zenon_L211_ *)
% 250.49/250.69  assert (zenon_L212_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H5a zenon_H76 zenon_H70 zenon_H85 zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_Ha4 zenon_H71 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L47_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L211_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L154_); trivial.
% 250.49/250.69  apply (zenon_L160_); trivial.
% 250.49/250.69  (* end of lemma zenon_L212_ *)
% 250.49/250.69  assert (zenon_L213_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H76 zenon_H70 zenon_H85 zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_Ha4 zenon_H71 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L78_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L212_); trivial.
% 250.49/250.69  (* end of lemma zenon_L213_ *)
% 250.49/250.69  assert (zenon_L214_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_Hb0.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L42_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L125_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L43_); trivial.
% 250.49/250.69  apply (zenon_L149_); trivial.
% 250.49/250.69  (* end of lemma zenon_L214_ *)
% 250.49/250.69  assert (zenon_L215_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_H42 zenon_H1f zenon_Hb0 zenon_H6b zenon_H85 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_H2c zenon_H122 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L20_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L21_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L22_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L214_); trivial.
% 250.49/250.69  apply (zenon_L25_); trivial.
% 250.49/250.69  (* end of lemma zenon_L215_ *)
% 250.49/250.69  assert (zenon_L216_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e13)) -> (~((e11) = (e13))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H122 zenon_H7c zenon_H42.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((e11) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H42.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e22)) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H7c.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H124.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L205_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L216_ *)
% 250.49/250.69  assert (zenon_L217_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H3b zenon_H1f zenon_H42 zenon_H122 zenon_H2c zenon_H3c zenon_H64 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L30_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L31_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L32_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L216_); trivial.
% 250.49/250.69  apply (zenon_L38_); trivial.
% 250.49/250.69  (* end of lemma zenon_L217_ *)
% 250.49/250.69  assert (zenon_L218_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e12)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H54 zenon_H76 zenon_H70 zenon_H85 zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L63_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L132_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L134_); trivial.
% 250.49/250.69  apply (zenon_L137_); trivial.
% 250.49/250.69  (* end of lemma zenon_L218_ *)
% 250.49/250.69  assert (zenon_L219_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H5a zenon_H76 zenon_H85 zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L47_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L48_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L134_); trivial.
% 250.49/250.69  apply (zenon_L137_); trivial.
% 250.49/250.69  (* end of lemma zenon_L219_ *)
% 250.49/250.69  assert (zenon_L220_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((op1 (e12) (e12)) = (e10)) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_H70 zenon_Hc4 zenon_Hb7 zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H76 zenon_H85 zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.49/250.69  apply (zenon_L76_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.49/250.69  apply (zenon_L77_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.49/250.69  apply (zenon_L218_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.49/250.69  apply (zenon_L79_); trivial.
% 250.49/250.69  apply (zenon_L219_); trivial.
% 250.49/250.69  (* end of lemma zenon_L220_ *)
% 250.49/250.69  assert (zenon_L221_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e14))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e13))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H47 zenon_H70 zenon_H42 zenon_Hc8 zenon_Hb7 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.49/250.69  apply (zenon_L206_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.49/250.69  apply (zenon_L83_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.49/250.69  apply (zenon_L132_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.49/250.69  apply (zenon_L85_); trivial.
% 250.49/250.69  apply (zenon_L137_); trivial.
% 250.49/250.69  (* end of lemma zenon_L221_ *)
% 250.49/250.69  assert (zenon_L222_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> ((h (e13)) = (e20)) -> ((j (h (e13))) = (e13)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2b zenon_H3b zenon_H42 zenon_H39 zenon_H3c zenon_H1f zenon_Hc zenon_H7 zenon_H26.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.49/250.69  apply (zenon_L14_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.49/250.69  apply (zenon_L15_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.49/250.69  apply (zenon_L16_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.49/250.69  apply (zenon_L9_); trivial.
% 250.49/250.69  apply (zenon_L11_); trivial.
% 250.49/250.69  (* end of lemma zenon_L222_ *)
% 250.49/250.69  assert (zenon_L223_ : (~((j (h (e11))) = (j (e23)))) -> ((h (e11)) = (e23)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H125 zenon_H126.
% 250.49/250.69  cut (((h (e11)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H127].
% 250.49/250.69  congruence.
% 250.49/250.69  exact (zenon_H127 zenon_H126).
% 250.49/250.69  (* end of lemma zenon_L223_ *)
% 250.49/250.69  assert (zenon_L224_ : (~((e10) = (e11))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e10)) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H87 zenon_H2c zenon_H126 zenon_H96.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.49/250.69  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hf.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H111.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e10)) = ((j (h (e11))) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H110.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H96.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H128.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L223_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H9. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L224_ *)
% 250.49/250.69  assert (zenon_L225_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e11) = (e12))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H126 zenon_H99 zenon_H15.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((e11) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H15.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H32.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.49/250.69  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H31.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H34.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e12)) = ((j (h (e11))) = (e12))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H33.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H99.
% 250.49/250.69  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.49/250.69  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H128.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L223_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  apply zenon_Ha. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L225_ *)
% 250.49/250.69  assert (zenon_L226_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e11) = (e13))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H126 zenon_Haa zenon_H42.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((e11) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H42.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4b.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.49/250.69  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H20.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4d.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e13)) = ((j (h (e11))) = (e13))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4c.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Haa.
% 250.49/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.49/250.69  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H128.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L223_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  apply zenon_H1d. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L226_ *)
% 250.49/250.69  assert (zenon_L227_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_H2c zenon_H126 zenon_Hab zenon_H47.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((e11) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H47.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (h (e11))) = (e11)) = ((e14) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H48.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H2c.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.49/250.69  cut (((e14) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H49.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H27.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H4a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e14)) = ((j (h (e11))) = (e14))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H49.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_Hab.
% 250.49/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.49/250.69  cut (((j (e23)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e23)) = (j (h (e11))))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H128.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H35.
% 250.49/250.69  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.49/250.69  cut (((j (h (e11))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H125].
% 250.49/250.69  congruence.
% 250.49/250.69  apply (zenon_L223_); trivial.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H36. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H14. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  apply zenon_H24. apply refl_equal.
% 250.49/250.69  (* end of lemma zenon_L227_ *)
% 250.49/250.69  assert (zenon_L228_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.49/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_H9b zenon_Ha0 zenon_H71 zenon_H66 zenon_Ha4 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.49/250.69  apply (zenon_L224_); trivial.
% 250.49/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H87.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H88.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H71.
% 250.49/250.69  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.49/250.69  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H18.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H8a.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H80.
% 250.49/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.49/250.69  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.49/250.69  congruence.
% 250.49/250.69  cut (((j (e23)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.49/250.69  intro zenon_D_pnotp.
% 250.49/250.69  apply zenon_H89.
% 250.49/250.69  rewrite <- zenon_D_pnotp.
% 250.49/250.69  exact zenon_H98.
% 250.49/250.69  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.49/250.69  cut (((j (e23)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 250.49/250.69  congruence.
% 250.49/250.69  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.54/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e23)) = (op1 (e14) (e14)))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_Ha8.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H80.
% 250.54/250.69  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.54/250.69  cut (((op1 (e14) (e14)) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 250.54/250.69  congruence.
% 250.54/250.69  apply (zenon_L59_); trivial.
% 250.54/250.69  apply zenon_H81. apply refl_equal.
% 250.54/250.69  apply zenon_H81. apply refl_equal.
% 250.54/250.69  apply zenon_H14. apply refl_equal.
% 250.54/250.69  apply zenon_H81. apply refl_equal.
% 250.54/250.69  apply zenon_H81. apply refl_equal.
% 250.54/250.69  apply zenon_H14. apply refl_equal.
% 250.54/250.69  apply zenon_H14. apply refl_equal.
% 250.54/250.69  apply zenon_H9. apply refl_equal.
% 250.54/250.69  apply zenon_H14. apply refl_equal.
% 250.54/250.69  apply zenon_H14. apply refl_equal.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L225_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L226_); trivial.
% 250.54/250.69  apply (zenon_L227_); trivial.
% 250.54/250.69  (* end of lemma zenon_L228_ *)
% 250.54/250.69  assert (zenon_L229_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e13))) -> (~((e11) = (e12))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e13)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H8b zenon_H47 zenon_H126 zenon_H2c zenon_H42 zenon_H15 zenon_Ha4 zenon_Ha0 zenon_H9b zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H76 zenon_H58 zenon_H71 zenon_H85 zenon_H6b zenon_Hb0.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.69  apply (zenon_L228_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.69  apply (zenon_L42_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.69  apply (zenon_L125_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.69  apply (zenon_L43_); trivial.
% 250.54/250.69  apply (zenon_L149_); trivial.
% 250.54/250.69  (* end of lemma zenon_L229_ *)
% 250.54/250.69  assert (zenon_L230_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e12) = (e13))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e21)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H5f zenon_H1f zenon_Hb0 zenon_H6b zenon_H85 zenon_H71 zenon_H76 zenon_H3b zenon_Hb zenon_H87 zenon_Hac zenon_H9b zenon_Ha0 zenon_Ha4 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47 zenon_H8b zenon_H3c zenon_H4f zenon_H5b.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.69  apply (zenon_L20_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.69  apply (zenon_L21_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.69  apply (zenon_L22_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.69  apply (zenon_L229_); trivial.
% 250.54/250.69  apply (zenon_L25_); trivial.
% 250.54/250.69  (* end of lemma zenon_L230_ *)
% 250.54/250.69  assert (zenon_L231_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e13)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_H9b zenon_H85 zenon_H71 zenon_H7c zenon_Ha4 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L224_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L152_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L225_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L226_); trivial.
% 250.54/250.69  apply (zenon_L227_); trivial.
% 250.54/250.69  (* end of lemma zenon_L231_ *)
% 250.54/250.69  assert (zenon_L232_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e14))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e13))) -> (~((e11) = (e12))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H8b zenon_H3b zenon_H1f zenon_H47 zenon_H126 zenon_H2c zenon_H42 zenon_H15 zenon_Ha4 zenon_H71 zenon_H85 zenon_H9b zenon_H87 zenon_Hac zenon_H3c zenon_H64 zenon_H5b.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.69  apply (zenon_L30_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.69  apply (zenon_L31_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.69  apply (zenon_L32_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.69  apply (zenon_L231_); trivial.
% 250.54/250.69  apply (zenon_L38_); trivial.
% 250.54/250.69  (* end of lemma zenon_L232_ *)
% 250.54/250.69  assert (zenon_L233_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_H3b zenon_H1f zenon_H42 zenon_H126 zenon_H2c zenon_H3c zenon_H94 zenon_H5b.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L53_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L54_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L55_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L226_); trivial.
% 250.54/250.69  apply (zenon_L61_); trivial.
% 250.54/250.69  (* end of lemma zenon_L233_ *)
% 250.54/250.69  assert (zenon_L234_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e20)) -> (~((e12) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H2b zenon_Hb0 zenon_H47 zenon_Hb5 zenon_Hb7 zenon_H5b zenon_Hc zenon_H7 zenon_H26.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.54/250.69  apply (zenon_L70_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.54/250.69  apply (zenon_L71_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.54/250.69  apply (zenon_L72_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.54/250.69  apply (zenon_L73_); trivial.
% 250.54/250.69  apply (zenon_L11_); trivial.
% 250.54/250.69  (* end of lemma zenon_L234_ *)
% 250.54/250.69  assert (zenon_L235_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e13))) -> (~((e11) = (e12))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H8b zenon_H47 zenon_H126 zenon_H2c zenon_H42 zenon_H15 zenon_Ha4 zenon_Ha0 zenon_H9b zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_Hb0.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.69  apply (zenon_L228_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.69  apply (zenon_L47_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.69  apply (zenon_L48_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.69  apply (zenon_L49_); trivial.
% 250.54/250.69  apply (zenon_L157_); trivial.
% 250.54/250.69  (* end of lemma zenon_L235_ *)
% 250.54/250.69  assert (zenon_L236_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e13))) -> (~((e11) = (e12))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H5f zenon_H26 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H47 zenon_H126 zenon_H2c zenon_H42 zenon_H15 zenon_Ha4 zenon_Ha0 zenon_H9b zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H6b zenon_Hb0.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.69  apply (zenon_L76_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.69  apply (zenon_L77_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.69  apply (zenon_L78_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.69  apply (zenon_L79_); trivial.
% 250.54/250.69  apply (zenon_L235_); trivial.
% 250.54/250.69  (* end of lemma zenon_L236_ *)
% 250.54/250.69  assert (zenon_L237_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (e22)) = (e14)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_H9b zenon_H82 zenon_Ha4 zenon_H71 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L224_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L135_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L225_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L226_); trivial.
% 250.54/250.69  apply (zenon_L227_); trivial.
% 250.54/250.69  (* end of lemma zenon_L237_ *)
% 250.54/250.69  assert (zenon_L238_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H8b zenon_Hb0 zenon_H26 zenon_Hc8 zenon_Hb7 zenon_H5b zenon_Hac zenon_H87 zenon_H9b zenon_Ha4 zenon_H71 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.69  apply (zenon_L82_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.69  apply (zenon_L83_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.69  apply (zenon_L84_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.69  apply (zenon_L85_); trivial.
% 250.54/250.69  apply (zenon_L237_); trivial.
% 250.54/250.69  (* end of lemma zenon_L238_ *)
% 250.54/250.69  assert (zenon_L239_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_Hb0 zenon_H26 zenon_Hcc zenon_Hb7 zenon_H5b zenon_H2c zenon_H126 zenon_H47.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L89_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L90_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L101_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L102_); trivial.
% 250.54/250.69  apply (zenon_L227_); trivial.
% 250.54/250.69  (* end of lemma zenon_L239_ *)
% 250.54/250.69  assert (zenon_L240_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e22)) = (e12)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (~((e11) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_H87 zenon_H9b zenon_H70 zenon_H71 zenon_H69 zenon_Ha4 zenon_H15 zenon_H42 zenon_H2c zenon_H126 zenon_H47.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L224_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L96_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L225_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L226_); trivial.
% 250.54/250.69  apply (zenon_L227_); trivial.
% 250.54/250.69  (* end of lemma zenon_L240_ *)
% 250.54/250.69  assert (zenon_L241_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e14))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e11) = (e13))) -> (~((e11) = (e12))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H8b zenon_Hb zenon_H47 zenon_H126 zenon_H2c zenon_H42 zenon_H15 zenon_Ha4 zenon_H71 zenon_H70 zenon_H9b zenon_H87 zenon_Hac zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.69  apply (zenon_L124_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.69  apply (zenon_L131_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.69  apply (zenon_L240_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.69  apply (zenon_L126_); trivial.
% 250.54/250.69  apply (zenon_L127_); trivial.
% 250.54/250.69  (* end of lemma zenon_L241_ *)
% 250.54/250.69  assert (zenon_L242_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e23)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hac zenon_Hb zenon_H15 zenon_H126 zenon_H2c zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.69  apply (zenon_L144_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.69  apply (zenon_L145_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.69  apply (zenon_L225_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.69  apply (zenon_L146_); trivial.
% 250.54/250.69  apply (zenon_L147_); trivial.
% 250.54/250.69  (* end of lemma zenon_L242_ *)
% 250.54/250.69  assert (zenon_L243_ : ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> ((j (e20)) = (e14)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H3c zenon_H39 zenon_H25 zenon_H5b.
% 250.54/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.69  cut (((e14) = (e14)) = ((e13) = (e14))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H5b.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H27.
% 250.54/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.69  cut (((e14) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 250.54/250.69  congruence.
% 250.54/250.69  cut (((j (h (e13))) = (e13)) = ((e14) = (e13))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H5c.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H3c.
% 250.54/250.69  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.69  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.54/250.69  congruence.
% 250.54/250.69  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.69  cut (((e14) = (e14)) = ((j (h (e13))) = (e14))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H5d.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H27.
% 250.54/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.69  cut (((e14) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 250.54/250.69  congruence.
% 250.54/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.54/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((e14) = (j (h (e13))))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H5e.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H3f.
% 250.54/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.54/250.69  cut (((j (h (e13))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 250.54/250.69  congruence.
% 250.54/250.69  cut (((j (e20)) = (e14)) = ((j (h (e13))) = (e14))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H5d.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H25.
% 250.54/250.69  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.69  cut (((j (e20)) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H41].
% 250.54/250.69  congruence.
% 250.54/250.69  elim (classic ((j (h (e13))) = (j (h (e13))))); [ zenon_intro zenon_H3f | zenon_intro zenon_H40 ].
% 250.54/250.69  cut (((j (h (e13))) = (j (h (e13)))) = ((j (e20)) = (j (h (e13))))).
% 250.54/250.69  intro zenon_D_pnotp.
% 250.54/250.69  apply zenon_H41.
% 250.54/250.69  rewrite <- zenon_D_pnotp.
% 250.54/250.69  exact zenon_H3f.
% 250.54/250.69  cut (((j (h (e13))) = (j (h (e13))))); [idtac | apply NNPP; zenon_intro zenon_H40].
% 250.54/250.69  cut (((j (h (e13))) = (j (e20)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 250.54/250.69  congruence.
% 250.54/250.69  apply (zenon_L13_); trivial.
% 250.54/250.69  apply zenon_H40. apply refl_equal.
% 250.54/250.69  apply zenon_H40. apply refl_equal.
% 250.54/250.69  apply zenon_H24. apply refl_equal.
% 250.54/250.69  apply zenon_H40. apply refl_equal.
% 250.54/250.69  apply zenon_H40. apply refl_equal.
% 250.54/250.69  apply zenon_H24. apply refl_equal.
% 250.54/250.69  apply zenon_H24. apply refl_equal.
% 250.54/250.69  apply zenon_H1d. apply refl_equal.
% 250.54/250.69  apply zenon_H24. apply refl_equal.
% 250.54/250.69  apply zenon_H24. apply refl_equal.
% 250.54/250.69  (* end of lemma zenon_L243_ *)
% 250.54/250.69  assert (zenon_L244_ : (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e20)) -> ((j (h (e14))) = (e14)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e20)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_H2b zenon_Hb0 zenon_H47 zenon_H26 zenon_Hb5 zenon_Hb7 zenon_H3c zenon_H39 zenon_H5b.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2b); [ zenon_intro zenon_Hd | zenon_intro zenon_H2d ].
% 250.54/250.69  apply (zenon_L70_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2d); [ zenon_intro zenon_H16 | zenon_intro zenon_H2e ].
% 250.54/250.69  apply (zenon_L71_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 250.54/250.69  apply (zenon_L72_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_H2f); [ zenon_intro zenon_H1e | zenon_intro zenon_H25 ].
% 250.54/250.69  apply (zenon_L73_); trivial.
% 250.54/250.69  apply (zenon_L243_); trivial.
% 250.54/250.69  (* end of lemma zenon_L244_ *)
% 250.54/250.69  assert (zenon_L245_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> ((op1 (e12) (e12)) = (e10)) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> ((op1 (e10) (e10)) = (e10)) -> (~((e10) = (e12))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e11))) -> ((op2 (e22) (e22)) = (e23)) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> (~((e11) = (e12))) -> (~((e11) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False).
% 250.54/250.69  do 0 intro. intros zenon_Hf3 zenon_H70 zenon_Hf4 zenon_H26 zenon_Hb7 zenon_H2b zenon_Hf5 zenon_Ha0 zenon_Hb zenon_H76 zenon_H6b zenon_Hb0 zenon_H5f zenon_H87 zenon_H9b zenon_H85 zenon_H71 zenon_Ha4 zenon_H15 zenon_H47 zenon_H8b zenon_H2c zenon_H126 zenon_Hac zenon_He3 zenon_H3b zenon_H42 zenon_H1f zenon_Hc zenon_H3c zenon_H5b.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.69  apply (zenon_L222_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.69  apply (zenon_L230_); trivial.
% 250.54/250.69  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.69  apply (zenon_L232_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L233_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L236_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L238_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L239_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L27_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L28_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L228_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L63_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L64_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L37_); trivial.
% 250.54/250.70  apply (zenon_L65_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L229_); trivial.
% 250.54/250.70  apply (zenon_L235_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L241_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_L242_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L236_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L238_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L239_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L230_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L232_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L233_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  (* end of lemma zenon_L245_ *)
% 250.54/250.70  assert (zenon_L246_ : (~((j (h (e11))) = (j (e24)))) -> ((h (e11)) = (e24)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H129 zenon_H12a.
% 250.54/250.70  cut (((h (e11)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_H12b].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H12b zenon_H12a).
% 250.54/250.70  (* end of lemma zenon_L246_ *)
% 250.54/250.70  assert (zenon_L247_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H2c zenon_H12a zenon_He1 zenon_H47.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((e11) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H47.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e11))) = (e11)) = ((e14) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H48.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H2c.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((j (h (e11))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H49.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4a.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e14)) = ((j (h (e11))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H49.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_He1.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L246_); trivial.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L247_ *)
% 250.54/250.70  assert (zenon_L248_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_Hb0 zenon_H26 zenon_Hd7 zenon_Hb7 zenon_H5b zenon_H2c zenon_H12a zenon_H47.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L116_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L117_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L118_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L119_); trivial.
% 250.54/250.70  apply (zenon_L247_); trivial.
% 250.54/250.70  (* end of lemma zenon_L248_ *)
% 250.54/250.70  assert (zenon_L249_ : (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> ((h (e12)) = (e20)) -> ((j (h (e12))) = (e12)) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e13))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hf5 zenon_H7 zenon_Hc zenon_H2b zenon_H76 zenon_H6b zenon_H5f zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_Hac zenon_H85 zenon_H87 zenon_Hb zenon_H70 zenon_H42 zenon_H3c zenon_H64 zenon_H8b zenon_He3 zenon_Hb0 zenon_H26 zenon_Hb7 zenon_H5b zenon_H2c zenon_H12a zenon_H47.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L171_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L172_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L173_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  (* end of lemma zenon_L249_ *)
% 250.54/250.70  assert (zenon_L250_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e11) = (e13))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H2c zenon_H12a zenon_Hdd zenon_H42.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((e11) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H42.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e11))) = (e11)) = ((e13) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4b.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H2c.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((j (h (e11))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((e13) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e13)) = ((j (h (e11))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdd.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L246_); trivial.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L250_ *)
% 250.54/250.70  assert (zenon_L251_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_H3b zenon_H1f zenon_H42 zenon_H12a zenon_H2c zenon_H3c zenon_Hdf zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L178_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L179_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L180_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L250_); trivial.
% 250.54/250.70  apply (zenon_L121_); trivial.
% 250.54/250.70  (* end of lemma zenon_L251_ *)
% 250.54/250.70  assert (zenon_L252_ : (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (~((e11) = (e14))) -> ((j (h (e14))) = (e14)) -> (~((e10) = (e14))) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (~((e12) = (e14))) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e13))) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> ((j (h (e13))) = (e13)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hf4 zenon_H47 zenon_Hb7 zenon_Hb0 zenon_H2b zenon_Hf5 zenon_H6b zenon_H76 zenon_H26 zenon_H5f zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb zenon_H87 zenon_Hac zenon_H85 zenon_H70 zenon_H15 zenon_Hc zenon_He8 zenon_H8b zenon_He3 zenon_H3b zenon_H1f zenon_H42 zenon_H12a zenon_H2c zenon_H3c zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L140_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L141_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L142_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L129_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L130_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L138_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  (* end of lemma zenon_L252_ *)
% 250.54/250.70  assert (zenon_L253_ : (~((e10) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e10)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hb zenon_Hc zenon_Hf0 zenon_Hd9.
% 250.54/250.70  cut (((j (h (e12))) = (e12)) = ((e10) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hc.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.54/250.70  cut (((e10) = (e10)) = ((j (h (e12))) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_He.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hf.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((e10) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12)))) = ((e10) = (j (h (e12))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H11.
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.54/250.70  cut (((j (h (e12))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_He].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e10)) = ((j (h (e12))) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_He.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hd9.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hf2.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H11.
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.54/250.70  cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L168_); trivial.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L253_ *)
% 250.54/250.70  assert (zenon_L254_ : (~((e11) = (e12))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> ((j (e24)) = (e11)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H15 zenon_Hc zenon_Hf0 zenon_Hdb.
% 250.54/250.70  cut (((j (h (e12))) = (e12)) = ((e11) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H15.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hc.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((j (h (e12))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H17.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12)))) = ((e11) = (j (h (e12))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H19.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H11.
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.54/250.70  cut (((j (h (e12))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e11)) = ((j (h (e12))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H17.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdb.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e24)) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_Hf2].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e12))) = (j (h (e12))))); [ zenon_intro zenon_H11 | zenon_intro zenon_H12 ].
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12)))) = ((j (e24)) = (j (h (e12))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hf2.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H11.
% 250.54/250.70  cut (((j (h (e12))) = (j (h (e12))))); [idtac | apply NNPP; zenon_intro zenon_H12].
% 250.54/250.70  cut (((j (h (e12))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L168_); trivial.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H12. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L254_ *)
% 250.54/250.70  assert (zenon_L255_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e24)) -> ((j (e24)) = (e12)) -> (~((e11) = (e12))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H2c zenon_H12a zenon_Hdc zenon_H15.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((e11) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H15.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e11))) = (e11)) = ((e12) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H32.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H2c.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((j (h (e11))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H33.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((e12) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H34.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e12)) = ((j (h (e11))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H33.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdc.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L246_); trivial.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L255_ *)
% 250.54/250.70  assert (zenon_L256_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_Hb zenon_H15 zenon_H12a zenon_H2c zenon_H1f zenon_Hc zenon_Hf0 zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L253_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L254_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L255_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L181_); trivial.
% 250.54/250.70  apply (zenon_L169_); trivial.
% 250.54/250.70  (* end of lemma zenon_L256_ *)
% 250.54/250.70  assert (zenon_L257_ : (((h (e12)) = (e20))\/(((h (e12)) = (e21))\/(((h (e12)) = (e22))\/(((h (e12)) = (e23))\/((h (e12)) = (e24)))))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e13) = (e14))) -> ((j (h (e13))) = (e13)) -> (~((e11) = (e13))) -> (~((e10) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e11))) -> (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e10) (e10)) = (e10)) -> (((h (e14)) = (e20))\/(((h (e14)) = (e21))\/(((h (e14)) = (e22))\/(((h (e14)) = (e23))\/((h (e14)) = (e24)))))) -> (((j (e20)) = (e10))\/(((j (e20)) = (e11))\/(((j (e20)) = (e12))\/(((j (e20)) = (e13))\/((j (e20)) = (e14)))))) -> ((j (h (e14))) = (e14)) -> (~((e11) = (e14))) -> (((h (e13)) = (e20))\/(((h (e13)) = (e21))\/(((h (e13)) = (e22))\/(((h (e13)) = (e23))\/((h (e13)) = (e24)))))) -> (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e10) = (e12))) -> (~((e11) = (e12))) -> ((h (e11)) = (e24)) -> ((j (h (e11))) = (e11)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hf3 zenon_H70 zenon_H5b zenon_H3c zenon_H42 zenon_H3b zenon_Hac zenon_H8b zenon_Ha4 zenon_H71 zenon_H85 zenon_H9b zenon_H87 zenon_H5f zenon_Hb0 zenon_H6b zenon_H76 zenon_Ha0 zenon_Hf5 zenon_H2b zenon_Hb7 zenon_H47 zenon_Hf4 zenon_He3 zenon_Hb zenon_H15 zenon_H12a zenon_H2c zenon_H1f zenon_Hc zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L163_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L165_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L167_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L249_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L175_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L176_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L87_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L114_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L26_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L51_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L68_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L252_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L159_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L161_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L151_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L155_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  apply (zenon_L256_); trivial.
% 250.54/250.70  (* end of lemma zenon_L257_ *)
% 250.54/250.70  assert (zenon_L258_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e21)) -> ((j (e21)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H12d zenon_H53 zenon_H87.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H87.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e11) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H88.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e21)) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H53.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e21)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H130].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e21)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H130.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e21)))); [idtac | apply NNPP; zenon_intro zenon_H131].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((h (e10)) = (e21))); [idtac | apply NNPP; zenon_intro zenon_H132].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H132 zenon_H12d).
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L258_ *)
% 250.54/250.70  assert (zenon_L259_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e10) (e10)))) -> ((j (e21)) = (e10)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H133 zenon_H51.
% 250.54/250.70  cut (((j (e21)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 250.54/250.70  cut (((j (e21)) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H134].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H134 zenon_H51).
% 250.54/250.70  exact (zenon_H134 zenon_H51).
% 250.54/250.70  (* end of lemma zenon_L259_ *)
% 250.54/250.70  assert (zenon_L260_ : (~((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))) -> ((op1 (e10) (e10)) = (e10)) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H6f zenon_Ha0 zenon_H51 zenon_H71.
% 250.54/250.70  cut (((op1 (e10) (e10)) = (e10)) = ((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H6f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Ha0.
% 250.54/250.70  cut (((e10) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 250.54/250.70  cut (((op1 (e10) (e10)) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H135].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 250.54/250.70  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21)))) = ((op1 (e10) (e10)) = (op1 (j (e21)) (j (e21))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H135.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H74.
% 250.54/250.70  cut (((op1 (j (e21)) (j (e21))) = (op1 (j (e21)) (j (e21))))); [idtac | apply NNPP; zenon_intro zenon_H75].
% 250.54/250.70  cut (((op1 (j (e21)) (j (e21))) = (op1 (e10) (e10)))); [idtac | apply NNPP; zenon_intro zenon_H133].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L259_); trivial.
% 250.54/250.70  apply zenon_H75. apply refl_equal.
% 250.54/250.70  apply zenon_H75. apply refl_equal.
% 250.54/250.70  apply zenon_H72. apply sym_equal. exact zenon_H71.
% 250.54/250.70  (* end of lemma zenon_L260_ *)
% 250.54/250.70  assert (zenon_L261_ : ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H76 zenon_H51 zenon_H71 zenon_Ha0 zenon_H6b zenon_H68 zenon_H87.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H87.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((op1 (e14) (e14)) = (e10)) = ((e11) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H88.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H71.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H89.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H8a].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.54/250.70  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((e11) = (op1 (e14) (e14)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H8a.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H80.
% 250.54/250.70  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.54/250.70  cut (((op1 (e14) (e14)) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H89].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e22)) = (e11)) = ((op1 (e14) (e14)) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H89.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H68.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((op1 (e14) (e14)) = (op1 (e14) (e14)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H81 ].
% 250.54/250.70  cut (((op1 (e14) (e14)) = (op1 (e14) (e14))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H7a.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H80.
% 250.54/250.70  cut (((op1 (e14) (e14)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H81].
% 250.54/250.70  cut (((op1 (e14) (e14)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H77].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.54/250.70  cut (((j (e22)) = (j (e22))) = ((op1 (e14) (e14)) = (j (e22)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H77.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H78.
% 250.54/250.70  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.54/250.70  cut (((j (e22)) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H7a].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) = ((j (e22)) = (op1 (e14) (e14)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H7a.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H76.
% 250.54/250.70  cut (((op1 (j (e21)) (j (e21))) = (op1 (e14) (e14)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 250.54/250.70  cut (((j (op2 (e21) (e21))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H7b].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (e22)) = (j (e22)))); [ zenon_intro zenon_H78 | zenon_intro zenon_H79 ].
% 250.54/250.70  cut (((j (e22)) = (j (e22))) = ((j (op2 (e21) (e21))) = (j (e22)))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H7b.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H78.
% 250.54/250.70  cut (((j (e22)) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H79].
% 250.54/250.70  cut (((j (e22)) = (j (op2 (e21) (e21))))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L33_); trivial.
% 250.54/250.70  apply zenon_H79. apply refl_equal.
% 250.54/250.70  apply zenon_H79. apply refl_equal.
% 250.54/250.70  apply (zenon_L260_); trivial.
% 250.54/250.70  apply zenon_H79. apply refl_equal.
% 250.54/250.70  apply zenon_H79. apply refl_equal.
% 250.54/250.70  apply zenon_H81. apply refl_equal.
% 250.54/250.70  apply zenon_H81. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H81. apply refl_equal.
% 250.54/250.70  apply zenon_H81. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L261_ *)
% 250.54/250.70  assert (zenon_L262_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((h (e10)) = (e21)) -> ((j (h (e10))) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e12) = (e13))) -> (~((e11) = (e13))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_Ha0 zenon_H12d zenon_H102 zenon_H70 zenon_Hb0 zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H76 zenon_H85 zenon_H1f zenon_H42 zenon_Hac zenon_H87 zenon_Hb zenon_H3b zenon_H9b zenon_Ha4 zenon_H71 zenon_H3c zenon_H94 zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L261_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L132_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L134_); trivial.
% 250.54/250.70  apply (zenon_L137_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L258_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L218_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L214_); trivial.
% 250.54/250.70  apply (zenon_L219_); trivial.
% 250.54/250.70  (* end of lemma zenon_L262_ *)
% 250.54/250.70  assert (zenon_L263_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e14)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H5a zenon_H6b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L47_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L48_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L49_); trivial.
% 250.54/250.70  apply (zenon_L157_); trivial.
% 250.54/250.70  (* end of lemma zenon_L263_ *)
% 250.54/250.70  assert (zenon_L264_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_H47 zenon_H26 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H3b zenon_H71 zenon_H76 zenon_H6b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L76_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L77_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L78_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L79_); trivial.
% 250.54/250.70  apply (zenon_L263_); trivial.
% 250.54/250.70  (* end of lemma zenon_L264_ *)
% 250.54/250.70  assert (zenon_L265_ : ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> ((j (e22)) = (e14)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H2c zenon_H122 zenon_H82 zenon_H47.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((e11) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H47.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H48].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e11))) = (e11)) = ((e14) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H48.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H2c.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((j (h (e11))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H49.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H4a].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((e14) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H4a.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H49].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e22)) = (e14)) = ((j (h (e11))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H49.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H82.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((j (e22)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H124].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e22)) = (j (h (e11))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H124.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H35.
% 250.54/250.70  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.70  cut (((j (h (e11))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H121].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L205_); trivial.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H36. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L265_ *)
% 250.54/250.70  assert (zenon_L266_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e10) = (e11))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H87 zenon_Hc8 zenon_Hb7 zenon_H26 zenon_H42 zenon_H2c zenon_H122 zenon_H47.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L83_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L84_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L216_); trivial.
% 250.54/250.70  apply (zenon_L265_); trivial.
% 250.54/250.70  (* end of lemma zenon_L266_ *)
% 250.54/250.70  assert (zenon_L267_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((j (e21)) = (e12)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_Hb zenon_H87 zenon_H6b zenon_H70 zenon_H54 zenon_H76 zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L63_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L100_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L37_); trivial.
% 250.54/250.70  apply (zenon_L112_); trivial.
% 250.54/250.70  (* end of lemma zenon_L267_ *)
% 250.54/250.70  assert (zenon_L268_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e13) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H58 zenon_H76 zenon_H70 zenon_Hb zenon_H87 zenon_H85 zenon_H5b zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L42_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L100_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L107_); trivial.
% 250.54/250.70  apply (zenon_L112_); trivial.
% 250.54/250.70  (* end of lemma zenon_L268_ *)
% 250.54/250.70  assert (zenon_L269_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H6b zenon_H5a zenon_H76 zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L47_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L48_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L49_); trivial.
% 250.54/250.70  apply (zenon_L112_); trivial.
% 250.54/250.70  (* end of lemma zenon_L269_ *)
% 250.54/250.70  assert (zenon_L270_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((op1 (e10) (e10)) = (e10)) -> ((h (e10)) = (e21)) -> ((j (h (e10))) = (e10)) -> (~((e13) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((op1 (e14) (e14)) = (e10)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_Ha0 zenon_H12d zenon_H102 zenon_H5b zenon_H85 zenon_H70 zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H6b zenon_H76 zenon_Hac zenon_H47 zenon_Hcc zenon_Hb7 zenon_H26 zenon_H3b zenon_H71 zenon_Ha4 zenon_H9b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L92_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L261_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L100_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L107_); trivial.
% 250.54/250.70  apply (zenon_L112_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L258_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L267_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L268_); trivial.
% 250.54/250.70  apply (zenon_L269_); trivial.
% 250.54/250.70  (* end of lemma zenon_L270_ *)
% 250.54/250.70  assert (zenon_L271_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e13)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e13) (e13)) = (e10)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H6b zenon_H58 zenon_H76 zenon_H70 zenon_H85 zenon_Hac zenon_H87 zenon_Hb zenon_H9b zenon_Ha4 zenon_H71 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L42_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L211_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L154_); trivial.
% 250.54/250.70  apply (zenon_L160_); trivial.
% 250.54/250.70  (* end of lemma zenon_L271_ *)
% 250.54/250.70  assert (zenon_L272_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> ((j (e22)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H136 zenon_H68 zenon_H87.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H87.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e11) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H88.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e22)) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H68.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e22)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e22)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H137.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e22)))); [idtac | apply NNPP; zenon_intro zenon_H138].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((h (e10)) = (e22))); [idtac | apply NNPP; zenon_intro zenon_H139].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H139 zenon_H136).
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L272_ *)
% 250.54/250.70  assert (zenon_L273_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> (~((e10) = (e12))) -> (~((e10) = (e11))) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> ((op1 (e10) (e10)) = (e10)) -> ((op2 (e23) (e23)) = (e21)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((op1 (e13) (e13)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> (~((e12) = (e13))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e11) = (e13))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_Hb zenon_H87 zenon_H118 zenon_Ha0 zenon_H119 zenon_Hac zenon_H85 zenon_H70 zenon_H3c zenon_H94 zenon_H5b zenon_H102 zenon_H136 zenon_H1f zenon_H8b zenon_H15 zenon_H42 zenon_H2c zenon_H109 zenon_H47.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L62_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L272_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L132_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L198_); trivial.
% 250.54/250.70  apply (zenon_L202_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L187_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L188_); trivial.
% 250.54/250.70  apply (zenon_L189_); trivial.
% 250.54/250.70  (* end of lemma zenon_L273_ *)
% 250.54/250.70  assert (zenon_L274_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> ((op2 (e23) (e23)) = (e21)) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e22)) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> (~((e12) = (e14))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e13) = (e14))) -> ((op1 (e13) (e13)) = (e10)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op1 (e12) (e12)) = (e10)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e10) (e10)) = (e10)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e21)) -> (~((e11) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_H118 zenon_H119 zenon_H102 zenon_H136 zenon_Hb0 zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_H26 zenon_Hb7 zenon_Hcc zenon_Hac zenon_H5b zenon_H85 zenon_H87 zenon_Hb zenon_H70 zenon_H76 zenon_H6b zenon_Ha0 zenon_H8b zenon_H2c zenon_H109 zenon_H47.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L92_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L272_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L100_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L198_); trivial.
% 250.54/250.70  apply (zenon_L202_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L113_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L166_); trivial.
% 250.54/250.70  apply (zenon_L189_); trivial.
% 250.54/250.70  (* end of lemma zenon_L274_ *)
% 250.54/250.70  assert (zenon_L275_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (e21)) = (e11)) -> ((op2 (e23) (e23)) = (e21)) -> ((op1 (e10) (e10)) = (e10)) -> ((j (op2 (e23) (e23))) = (op1 (j (e23)) (j (e23)))) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> (~((e10) = (e13))) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((j (e22)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e22) (e22)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hac zenon_H53 zenon_H119 zenon_Ha0 zenon_H118 zenon_H87 zenon_Hb zenon_H3b zenon_Ha4 zenon_H69 zenon_H71 zenon_H70 zenon_H9b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L197_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L96_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L97_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L98_); trivial.
% 250.54/250.70  apply (zenon_L99_); trivial.
% 250.54/250.70  (* end of lemma zenon_L275_ *)
% 250.54/250.70  assert (zenon_L276_ : (~((j (h (e10))) = (j (e23)))) -> ((h (e10)) = (e23)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H13a zenon_H13b.
% 250.54/250.70  cut (((h (e10)) = (e23))); [idtac | apply NNPP; zenon_intro zenon_H13c].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H13c zenon_H13b).
% 250.54/250.70  (* end of lemma zenon_L276_ *)
% 250.54/250.70  assert (zenon_L277_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> ((j (e23)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13b zenon_Haa zenon_H3b.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H3b.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e13) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H7d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((j (h (e10))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e23)) = (e13)) = ((j (h (e10))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Haa.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H13d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L276_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L277_ *)
% 250.54/250.70  assert (zenon_L278_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((h (e10)) = (e23)) -> ((j (h (e10))) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e23)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hac zenon_H42 zenon_H1f zenon_H3b zenon_H13b zenon_H102 zenon_H3c zenon_H94 zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L53_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L54_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L55_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L277_); trivial.
% 250.54/250.70  apply (zenon_L61_); trivial.
% 250.54/250.70  (* end of lemma zenon_L278_ *)
% 250.54/250.70  assert (zenon_L279_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> ((j (e23)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13b zenon_Hab zenon_Hb0.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb0.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e14) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb1.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((j (h (e10))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e23)) = (e14)) = ((j (h (e10))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hab.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H13d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L276_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L279_ *)
% 250.54/250.70  assert (zenon_L280_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e23)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hac zenon_H47 zenon_H26 zenon_Hcc zenon_Hb7 zenon_H5b zenon_H102 zenon_H13b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L89_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L90_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L101_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L102_); trivial.
% 250.54/250.70  apply (zenon_L279_); trivial.
% 250.54/250.70  (* end of lemma zenon_L280_ *)
% 250.54/250.70  assert (zenon_L281_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> ((j (e23)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13b zenon_H99 zenon_Hb.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e12) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H90.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((j (h (e10))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H103.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H104.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e23)) = (e12)) = ((j (h (e10))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H103.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H99.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H13d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L276_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L281_ *)
% 250.54/250.70  assert (zenon_L282_ : (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e23)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e23)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_Hac zenon_H15 zenon_Hb zenon_H13b zenon_H102 zenon_H1f zenon_Hc zenon_Hec zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L144_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L145_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L281_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L146_); trivial.
% 250.54/250.70  apply (zenon_L147_); trivial.
% 250.54/250.70  (* end of lemma zenon_L282_ *)
% 250.54/250.70  assert (zenon_L283_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e23)) -> ((j (e23)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13b zenon_H98 zenon_H87.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H87.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e11) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H88.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e23)) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H98.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e23)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H13d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e23)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H13d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e23)))); [idtac | apply NNPP; zenon_intro zenon_H13a].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L276_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L283_ *)
% 250.54/250.70  assert (zenon_L284_ : (~((j (h (e10))) = (j (e24)))) -> ((h (e10)) = (e24)) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H13e zenon_H13f.
% 250.54/250.70  cut (((h (e10)) = (e24))); [idtac | apply NNPP; zenon_intro zenon_H140].
% 250.54/250.70  congruence.
% 250.54/250.70  exact (zenon_H140 zenon_H13f).
% 250.54/250.70  (* end of lemma zenon_L284_ *)
% 250.54/250.70  assert (zenon_L285_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e14)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13f zenon_He1 zenon_Hb0.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((e10) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb0.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (e10))); [idtac | apply NNPP; zenon_intro zenon_Hb1].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e14) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb1.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e14) = (e14))); [ zenon_intro zenon_H27 | zenon_intro zenon_H24 ].
% 250.54/250.70  cut (((e14) = (e14)) = ((j (h (e10))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H27.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((e14) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10d].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e14) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H10c].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e14)) = ((j (h (e10))) = (e14))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10c.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_He1.
% 250.54/250.70  cut (((e14) = (e14))); [idtac | apply NNPP; zenon_intro zenon_H24].
% 250.54/250.70  cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H141.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H13e].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L284_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  apply zenon_H24. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L285_ *)
% 250.54/250.70  assert (zenon_L286_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e14))) -> (~((e12) = (e14))) -> ((h (e14)) = (e24)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_H47 zenon_H26 zenon_Hd7 zenon_Hb7 zenon_H5b zenon_H102 zenon_H13f zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L116_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L117_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L118_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L119_); trivial.
% 250.54/250.70  apply (zenon_L285_); trivial.
% 250.54/250.70  (* end of lemma zenon_L286_ *)
% 250.54/250.70  assert (zenon_L287_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e13)) -> (~((e10) = (e13))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13f zenon_Hdd zenon_H3b.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((e10) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H3b.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e13) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H7d.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e13) = (e13))); [ zenon_intro zenon_H20 | zenon_intro zenon_H1d ].
% 250.54/250.70  cut (((e13) = (e13)) = ((j (h (e10))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H20.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((e13) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H10f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e13) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H10e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e13)) = ((j (h (e10))) = (e13))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H10e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdd.
% 250.54/250.70  cut (((e13) = (e13))); [idtac | apply NNPP; zenon_intro zenon_H1d].
% 250.54/250.70  cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H141.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H13e].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L284_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  apply zenon_H1d. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L287_ *)
% 250.54/250.70  assert (zenon_L288_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e13))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((h (e10)) = (e24)) -> ((j (h (e10))) = (e10)) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e24)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_H42 zenon_H1f zenon_H3b zenon_H13f zenon_H102 zenon_H3c zenon_Hdf zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L178_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L179_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L180_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L287_); trivial.
% 250.54/250.70  apply (zenon_L121_); trivial.
% 250.54/250.70  (* end of lemma zenon_L288_ *)
% 250.54/250.70  assert (zenon_L289_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e12)) -> (~((e10) = (e12))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13f zenon_Hdc zenon_Hb.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((e10) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_Hb.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e12) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H90.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e12) = (e12))); [ zenon_intro zenon_H31 | zenon_intro zenon_Ha ].
% 250.54/250.70  cut (((e12) = (e12)) = ((j (h (e10))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H103.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H31.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((e12) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H104].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e12) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H104.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e12))); [idtac | apply NNPP; zenon_intro zenon_H103].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e12)) = ((j (h (e10))) = (e12))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H103.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdc.
% 250.54/250.70  cut (((e12) = (e12))); [idtac | apply NNPP; zenon_intro zenon_Ha].
% 250.54/250.70  cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H141.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H13e].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L284_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  apply zenon_Ha. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L289_ *)
% 250.54/250.70  assert (zenon_L290_ : (((j (e24)) = (e10))\/(((j (e24)) = (e11))\/(((j (e24)) = (e12))\/(((j (e24)) = (e13))\/((j (e24)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e12))) -> ((h (e10)) = (e24)) -> ((j (h (e10))) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e24)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_He3 zenon_H15 zenon_Hb zenon_H13f zenon_H102 zenon_H1f zenon_Hc zenon_Hf0 zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.70  apply (zenon_L253_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.70  apply (zenon_L254_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.70  apply (zenon_L289_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.70  apply (zenon_L181_); trivial.
% 250.54/250.70  apply (zenon_L169_); trivial.
% 250.54/250.70  (* end of lemma zenon_L290_ *)
% 250.54/250.70  assert (zenon_L291_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> ((h (e14)) = (e22)) -> ((j (h (e14))) = (e14)) -> (~((e12) = (e14))) -> (~((e10) = (e13))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (e21)) = (e12)) -> ((op1 (e14) (e14)) = (e10)) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hc8 zenon_Hb7 zenon_H26 zenon_H3b zenon_H76 zenon_H54 zenon_H71 zenon_H70 zenon_H6b zenon_Hb0.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L63_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L84_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L37_); trivial.
% 250.54/250.70  apply (zenon_L65_); trivial.
% 250.54/250.70  (* end of lemma zenon_L291_ *)
% 250.54/250.70  assert (zenon_L292_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e11) = (e12))) -> (~((e10) = (e14))) -> ((op2 (e22) (e22)) = (e23)) -> ((j (op2 (e22) (e22))) = (op1 (j (e22)) (j (e22)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e10) = (e13))) -> ((j (h (e14))) = (e14)) -> ((h (e14)) = (e23)) -> (~((e11) = (e14))) -> (((j (e23)) = (e10))\/(((j (e23)) = (e11))\/(((j (e23)) = (e12))\/(((j (e23)) = (e13))\/((j (e23)) = (e14)))))) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e12) (e12)) = (e10)) -> ((op2 (e21) (e21)) = (e22)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((j (h (e11))) = (e11)) -> ((h (e11)) = (e22)) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e21)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_H15 zenon_Hb0 zenon_H9b zenon_Ha4 zenon_H71 zenon_H3b zenon_Hb7 zenon_Hcc zenon_H47 zenon_Hac zenon_H76 zenon_H70 zenon_H6b zenon_H87 zenon_Hb zenon_H2c zenon_H122 zenon_H8b zenon_H1f zenon_Hc zenon_H56 zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L27_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L28_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L267_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L24_); trivial.
% 250.54/250.70  apply (zenon_L67_); trivial.
% 250.54/250.70  (* end of lemma zenon_L292_ *)
% 250.54/250.70  assert (zenon_L293_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e12) = (e13))) -> (~((e10) = (e13))) -> ((op2 (e21) (e21)) = (e22)) -> ((op1 (e12) (e12)) = (e10)) -> ((op1 (e14) (e14)) = (e10)) -> ((j (e21)) = (e12)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((j (h (e13))) = (e13)) -> ((h (e13)) = (e22)) -> (~((e13) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_H1f zenon_H3b zenon_H6b zenon_H70 zenon_H71 zenon_H54 zenon_H76 zenon_H3c zenon_H64 zenon_H5b.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L63_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L32_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L37_); trivial.
% 250.54/250.70  apply (zenon_L38_); trivial.
% 250.54/250.70  (* end of lemma zenon_L293_ *)
% 250.54/250.70  assert (zenon_L294_ : (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (e21)) = (e14)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H6b zenon_H5a zenon_H76 zenon_H71 zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L47_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L48_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L126_); trivial.
% 250.54/250.70  apply (zenon_L127_); trivial.
% 250.54/250.70  (* end of lemma zenon_L294_ *)
% 250.54/250.70  assert (zenon_L295_ : (((j (e21)) = (e10))\/(((j (e21)) = (e11))\/(((j (e21)) = (e12))\/(((j (e21)) = (e13))\/((j (e21)) = (e14)))))) -> (~((e10) = (e14))) -> (~((e11) = (e14))) -> ((h (e14)) = (e21)) -> ((j (h (e14))) = (e14)) -> (~((e13) = (e14))) -> (((j (e22)) = (e10))\/(((j (e22)) = (e11))\/(((j (e22)) = (e12))\/(((j (e22)) = (e13))\/((j (e22)) = (e14)))))) -> ((h (e11)) = (e22)) -> ((j (h (e11))) = (e11)) -> (~((e10) = (e11))) -> (~((e10) = (e12))) -> ((op2 (e21) (e21)) = (e22)) -> ((j (op2 (e21) (e21))) = (op1 (j (e21)) (j (e21)))) -> ((op1 (e14) (e14)) = (e10)) -> (~((e12) = (e13))) -> ((j (h (e12))) = (e12)) -> ((h (e12)) = (e22)) -> (~((e12) = (e14))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H5f zenon_Hb0 zenon_H47 zenon_Hc4 zenon_Hb7 zenon_H5b zenon_H8b zenon_H122 zenon_H2c zenon_H87 zenon_Hb zenon_H6b zenon_H76 zenon_H71 zenon_H1f zenon_Hc zenon_He8 zenon_H26.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L76_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L77_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L78_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L79_); trivial.
% 250.54/250.70  apply (zenon_L294_); trivial.
% 250.54/250.70  (* end of lemma zenon_L295_ *)
% 250.54/250.70  assert (zenon_L296_ : ((j (h (e10))) = (e10)) -> ((h (e10)) = (e24)) -> ((j (e24)) = (e11)) -> (~((e10) = (e11))) -> False).
% 250.54/250.70  do 0 intro. intros zenon_H102 zenon_H13f zenon_Hdb zenon_H87.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((e10) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H87.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (h (e10))) = (e10)) = ((e11) = (e10))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H88.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H102.
% 250.54/250.70  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((e11) = (e11))); [ zenon_intro zenon_H18 | zenon_intro zenon_H14 ].
% 250.54/250.70  cut (((e11) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H18.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((e11) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((e11) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12f.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H12e].
% 250.54/250.70  congruence.
% 250.54/250.70  cut (((j (e24)) = (e11)) = ((j (h (e10))) = (e11))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H12e.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_Hdb.
% 250.54/250.70  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.70  cut (((j (e24)) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H141].
% 250.54/250.70  congruence.
% 250.54/250.70  elim (classic ((j (h (e10))) = (j (h (e10))))); [ zenon_intro zenon_H105 | zenon_intro zenon_H106 ].
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10)))) = ((j (e24)) = (j (h (e10))))).
% 250.54/250.70  intro zenon_D_pnotp.
% 250.54/250.70  apply zenon_H141.
% 250.54/250.70  rewrite <- zenon_D_pnotp.
% 250.54/250.70  exact zenon_H105.
% 250.54/250.70  cut (((j (h (e10))) = (j (h (e10))))); [idtac | apply NNPP; zenon_intro zenon_H106].
% 250.54/250.70  cut (((j (h (e10))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H13e].
% 250.54/250.70  congruence.
% 250.54/250.70  apply (zenon_L284_); trivial.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H106. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H9. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  apply zenon_H14. apply refl_equal.
% 250.54/250.70  (* end of lemma zenon_L296_ *)
% 250.54/250.70  apply NNPP. intro zenon_G.
% 250.54/250.70  apply (zenon_and_s _ _ ax1). zenon_intro zenon_H87. zenon_intro zenon_H142.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H142). zenon_intro zenon_Hb. zenon_intro zenon_H143.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H143). zenon_intro zenon_H3b. zenon_intro zenon_H144.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H144). zenon_intro zenon_Hb0. zenon_intro zenon_H145.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H145). zenon_intro zenon_H15. zenon_intro zenon_H146.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H146). zenon_intro zenon_H42. zenon_intro zenon_H147.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H147). zenon_intro zenon_H47. zenon_intro zenon_H148.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H148). zenon_intro zenon_H1f. zenon_intro zenon_H149.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H149). zenon_intro zenon_H26. zenon_intro zenon_H5b.
% 250.54/250.70  apply (zenon_and_s _ _ ax4). zenon_intro zenon_Ha0. zenon_intro zenon_H14a.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H14a). zenon_intro zenon_H14c. zenon_intro zenon_H14b.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H14b). zenon_intro zenon_H14e. zenon_intro zenon_H14d.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H14d). zenon_intro zenon_H150. zenon_intro zenon_H14f.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H14f). zenon_intro zenon_H152. zenon_intro zenon_H151.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H151). zenon_intro zenon_H154. zenon_intro zenon_H153.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H153). zenon_intro zenon_H156. zenon_intro zenon_H155.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H155). zenon_intro zenon_H158. zenon_intro zenon_H157.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H157). zenon_intro zenon_H15a. zenon_intro zenon_H159.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H159). zenon_intro zenon_H15c. zenon_intro zenon_H15b.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H15b). zenon_intro zenon_H15e. zenon_intro zenon_H15d.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H15d). zenon_intro zenon_H160. zenon_intro zenon_H15f.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H15f). zenon_intro zenon_H70. zenon_intro zenon_H161.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H161). zenon_intro zenon_H163. zenon_intro zenon_H162.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H162). zenon_intro zenon_H165. zenon_intro zenon_H164.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H164). zenon_intro zenon_H167. zenon_intro zenon_H166.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H166). zenon_intro zenon_H169. zenon_intro zenon_H168.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H168). zenon_intro zenon_H16b. zenon_intro zenon_H16a.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H16a). zenon_intro zenon_H85. zenon_intro zenon_H16c.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H16d.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H16d). zenon_intro zenon_H170. zenon_intro zenon_H16f.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H16f). zenon_intro zenon_H172. zenon_intro zenon_H171.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H171). zenon_intro zenon_H174. zenon_intro zenon_H173.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H173). zenon_intro zenon_H175. zenon_intro zenon_H71.
% 250.54/250.70  apply (zenon_and_s _ _ ax5). zenon_intro zenon_H177. zenon_intro zenon_H176.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H176). zenon_intro zenon_H179. zenon_intro zenon_H178.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H178). zenon_intro zenon_H17b. zenon_intro zenon_H17a.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H17a). zenon_intro zenon_H17d. zenon_intro zenon_H17c.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H17c). zenon_intro zenon_H17f. zenon_intro zenon_H17e.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_H181. zenon_intro zenon_H180.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H180). zenon_intro zenon_H6b. zenon_intro zenon_H182.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_H184. zenon_intro zenon_H183.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H183). zenon_intro zenon_H186. zenon_intro zenon_H185.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H185). zenon_intro zenon_H188. zenon_intro zenon_H187.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H187). zenon_intro zenon_H18a. zenon_intro zenon_H189.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_H18c. zenon_intro zenon_H18b.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H18b). zenon_intro zenon_H9b. zenon_intro zenon_H18d.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H18d). zenon_intro zenon_H18f. zenon_intro zenon_H18e.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H18e). zenon_intro zenon_H191. zenon_intro zenon_H190.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_H193. zenon_intro zenon_H192.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H192). zenon_intro zenon_H195. zenon_intro zenon_H194.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_H197. zenon_intro zenon_H196.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H196). zenon_intro zenon_H119. zenon_intro zenon_H198.
% 250.54/250.70  apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_H19a. zenon_intro zenon_H199.
% 250.54/250.70  apply zenon_H199. zenon_intro zenon_H19b.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H19b). zenon_intro zenon_H19d. zenon_intro zenon_H19c.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H19c). zenon_intro zenon_H19f. zenon_intro zenon_H19e.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H19e). zenon_intro zenon_H1a1. zenon_intro zenon_H1a0.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1a0). zenon_intro zenon_H1a3. zenon_intro zenon_H1a2.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1a2). zenon_intro zenon_H1a5. zenon_intro zenon_H1a4.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1a4). zenon_intro zenon_H1a7. zenon_intro zenon_H1a6.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1a6). zenon_intro zenon_H1a9. zenon_intro zenon_H1a8.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1a8). zenon_intro zenon_H1ab. zenon_intro zenon_H1aa.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1aa). zenon_intro zenon_H1ad. zenon_intro zenon_H1ac.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ac). zenon_intro zenon_H1af. zenon_intro zenon_H1ae.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ae). zenon_intro zenon_H1b1. zenon_intro zenon_H1b0.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1b0). zenon_intro zenon_H1b3. zenon_intro zenon_H1b2.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1b2). zenon_intro zenon_H1b5. zenon_intro zenon_H1b4.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1b4). zenon_intro zenon_H1b7. zenon_intro zenon_H1b6.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1b6). zenon_intro zenon_H1b9. zenon_intro zenon_H1b8.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1b8). zenon_intro zenon_H1bb. zenon_intro zenon_H1ba.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ba). zenon_intro zenon_H1bd. zenon_intro zenon_H1bc.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1bc). zenon_intro zenon_H1bf. zenon_intro zenon_H1be.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1be). zenon_intro zenon_H1c1. zenon_intro zenon_H1c0.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1c0). zenon_intro zenon_H1c3. zenon_intro zenon_H1c2.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1c2). zenon_intro zenon_H1c5. zenon_intro zenon_H1c4.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1c4). zenon_intro zenon_H1c7. zenon_intro zenon_H1c6.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1c6). zenon_intro zenon_H1c9. zenon_intro zenon_H1c8.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1c8). zenon_intro zenon_H1cb. zenon_intro zenon_H1ca.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ca). zenon_intro zenon_H1cd. zenon_intro zenon_H1cc.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1cc). zenon_intro zenon_H1cf. zenon_intro zenon_H1ce.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ce). zenon_intro zenon_H1d1. zenon_intro zenon_H1d0.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1d0). zenon_intro zenon_H1d3. zenon_intro zenon_H1d2.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1d2). zenon_intro zenon_H1d5. zenon_intro zenon_H1d4.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1d4). zenon_intro zenon_H1d7. zenon_intro zenon_H1d6.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1d6). zenon_intro zenon_H1d9. zenon_intro zenon_H1d8.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1d8). zenon_intro zenon_H76. zenon_intro zenon_H1da.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1da). zenon_intro zenon_H1dc. zenon_intro zenon_H1db.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1db). zenon_intro zenon_H1de. zenon_intro zenon_H1dd.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1dd). zenon_intro zenon_H1e0. zenon_intro zenon_H1df.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1df). zenon_intro zenon_H1e2. zenon_intro zenon_H1e1.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1e1). zenon_intro zenon_H1e4. zenon_intro zenon_H1e3.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1e3). zenon_intro zenon_Ha4. zenon_intro zenon_H1e5.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1e5). zenon_intro zenon_H1e7. zenon_intro zenon_H1e6.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1e6). zenon_intro zenon_H1e9. zenon_intro zenon_H1e8.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1e8). zenon_intro zenon_H1eb. zenon_intro zenon_H1ea.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ea). zenon_intro zenon_H1ed. zenon_intro zenon_H1ec.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ec). zenon_intro zenon_H1ef. zenon_intro zenon_H1ee.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ee). zenon_intro zenon_H118. zenon_intro zenon_H1f0.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1f1.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f1). zenon_intro zenon_H1f4. zenon_intro zenon_H1f3.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f3). zenon_intro zenon_H1f6. zenon_intro zenon_H1f5.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_H1f8. zenon_intro zenon_H1f7.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f7). zenon_intro zenon_H1fa. zenon_intro zenon_H1f9.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1f9). zenon_intro zenon_H1fc. zenon_intro zenon_H1fb.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1fb). zenon_intro zenon_H1fe. zenon_intro zenon_H1fd.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1fd). zenon_intro zenon_H200. zenon_intro zenon_H1ff.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H1ff). zenon_intro zenon_H202. zenon_intro zenon_H201.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H201). zenon_intro zenon_H204. zenon_intro zenon_H203.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H203). zenon_intro zenon_H206. zenon_intro zenon_H205.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H205). zenon_intro zenon_H102. zenon_intro zenon_H207.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H207). zenon_intro zenon_H2c. zenon_intro zenon_H208.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H208). zenon_intro zenon_Hc. zenon_intro zenon_H209.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H209). zenon_intro zenon_H3c. zenon_intro zenon_Hb7.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H19a). zenon_intro zenon_H20b. zenon_intro zenon_H20a.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H20a). zenon_intro zenon_H20d. zenon_intro zenon_H20c.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H20c). zenon_intro zenon_Hf3. zenon_intro zenon_H20e.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H20e). zenon_intro zenon_Hf4. zenon_intro zenon_H20f.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H20f). zenon_intro zenon_Hf5. zenon_intro zenon_H210.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H210). zenon_intro zenon_H2b. zenon_intro zenon_H211.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H211). zenon_intro zenon_H5f. zenon_intro zenon_H212.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H212). zenon_intro zenon_H8b. zenon_intro zenon_H213.
% 250.54/250.70  apply (zenon_and_s _ _ zenon_H213). zenon_intro zenon_Hac. zenon_intro zenon_He3.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20b); [ zenon_intro zenon_H100 | zenon_intro zenon_H214 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1b | zenon_intro zenon_H215 ].
% 250.54/250.70  apply (zenon_L183_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H109 | zenon_intro zenon_H216 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_L185_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L190_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L192_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L138_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L200_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L142_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L192_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L200_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L192_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L200_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L175_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L176_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H122 | zenon_intro zenon_H217 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_L185_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L208_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L210_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L192_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L151_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L155_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L200_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L213_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L161_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L192_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L217_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L200_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L220_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L221_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H126 | zenon_intro zenon_H12a ].
% 250.54/250.70  apply (zenon_L245_); trivial.
% 250.54/250.70  apply (zenon_L257_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H214); [ zenon_intro zenon_H12d | zenon_intro zenon_H218 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1b | zenon_intro zenon_H215 ].
% 250.54/250.70  apply (zenon_L183_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H109 | zenon_intro zenon_H216 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L258_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L187_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L188_); trivial.
% 250.54/250.70  apply (zenon_L189_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H122 | zenon_intro zenon_H217 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L217_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L262_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L264_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L266_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L270_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L208_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L210_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L261_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L209_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L216_); trivial.
% 250.54/250.70  apply (zenon_L265_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L258_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L207_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L271_); trivial.
% 250.54/250.70  apply (zenon_L212_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L264_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L266_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L270_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L217_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L262_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H126 | zenon_intro zenon_H12a ].
% 250.54/250.70  apply (zenon_L245_); trivial.
% 250.54/250.70  apply (zenon_L257_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H218); [ zenon_intro zenon_H136 | zenon_intro zenon_H219 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1b | zenon_intro zenon_H215 ].
% 250.54/250.70  apply (zenon_L183_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H109 | zenon_intro zenon_H216 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L273_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L274_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L190_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L124_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L272_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L275_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L198_); trivial.
% 250.54/250.70  apply (zenon_L202_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L187_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L128_); trivial.
% 250.54/250.70  apply (zenon_L139_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L148_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L272_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L211_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L198_); trivial.
% 250.54/250.70  apply (zenon_L202_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L187_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L150_); trivial.
% 250.54/250.70  apply (zenon_L158_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L274_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L273_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H122 | zenon_intro zenon_H217 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L272_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L209_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L216_); trivial.
% 250.54/250.70  apply (zenon_L265_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H126 | zenon_intro zenon_H12a ].
% 250.54/250.70  apply (zenon_L245_); trivial.
% 250.54/250.70  apply (zenon_L257_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H219); [ zenon_intro zenon_H13b | zenon_intro zenon_H13f ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1b | zenon_intro zenon_H215 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_L12_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L26_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L51_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L87_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L129_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L130_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L138_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L140_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L141_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_L282_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L163_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L165_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L171_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L172_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H109 | zenon_intro zenon_H216 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L190_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L194_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L197_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L283_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L281_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L277_); trivial.
% 250.54/250.70  apply (zenon_L279_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L187_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L128_); trivial.
% 250.54/250.70  apply (zenon_L139_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_L282_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L204_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L199_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H122 | zenon_intro zenon_H217 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L217_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L264_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L266_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L122_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L208_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L210_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_L282_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L264_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L266_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L170_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L217_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_L182_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H126 | zenon_intro zenon_H12a ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hac); [ zenon_intro zenon_H96 | zenon_intro zenon_Had ].
% 250.54/250.70  apply (zenon_L224_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_H98 | zenon_intro zenon_Hae ].
% 250.54/250.70  apply (zenon_L283_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_H99 | zenon_intro zenon_Haf ].
% 250.54/250.70  apply (zenon_L225_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Haf); [ zenon_intro zenon_Haa | zenon_intro zenon_Hab ].
% 250.54/250.70  apply (zenon_L226_); trivial.
% 250.54/250.70  apply (zenon_L227_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L163_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L165_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L249_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L87_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L280_); trivial.
% 250.54/250.70  apply (zenon_L248_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L26_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L51_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L278_); trivial.
% 250.54/250.70  apply (zenon_L251_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_L252_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_L282_); trivial.
% 250.54/250.70  apply (zenon_L256_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H20d); [ zenon_intro zenon_H1b | zenon_intro zenon_H215 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_L12_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L26_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L172_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L173_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L176_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L129_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L130_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L138_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L18_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L74_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L163_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L161_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L155_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_L290_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H215); [ zenon_intro zenon_H109 | zenon_intro zenon_H216 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L172_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L173_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L176_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_L190_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L141_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L142_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L129_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L130_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L138_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L201_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L161_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L193_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L155_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_L290_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H216); [ zenon_intro zenon_H122 | zenon_intro zenon_H217 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_L222_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L215_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L171_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L172_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L31_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L100_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L107_); trivial.
% 250.54/250.70  apply (zenon_L112_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L234_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L220_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L221_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L177_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L80_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L27_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L28_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L291_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L24_); trivial.
% 250.54/250.70  apply (zenon_L67_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L292_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L26_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L27_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L28_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L293_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L24_); trivial.
% 250.54/250.70  apply (zenon_L67_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L27_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L28_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L218_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L24_); trivial.
% 250.54/250.70  apply (zenon_L67_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L295_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L141_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L142_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_L129_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L130_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8b); [ zenon_intro zenon_H66 | zenon_intro zenon_H8c ].
% 250.54/250.70  apply (zenon_L206_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8c); [ zenon_intro zenon_H68 | zenon_intro zenon_H8d ].
% 250.54/250.70  apply (zenon_L131_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8d); [ zenon_intro zenon_H69 | zenon_intro zenon_H8e ].
% 250.54/250.70  apply (zenon_L132_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H8e); [ zenon_intro zenon_H7c | zenon_intro zenon_H82 ].
% 250.54/250.70  apply (zenon_L126_); trivial.
% 250.54/250.70  apply (zenon_L127_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.70  apply (zenon_L244_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.70  apply (zenon_L213_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.70  apply (zenon_L161_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.70  apply (zenon_L162_); trivial.
% 250.54/250.70  apply (zenon_L286_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H5f); [ zenon_intro zenon_H51 | zenon_intro zenon_H60 ].
% 250.54/250.70  apply (zenon_L20_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H53 | zenon_intro zenon_H61 ].
% 250.54/250.70  apply (zenon_L21_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H54 | zenon_intro zenon_H62 ].
% 250.54/250.70  apply (zenon_L22_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H62); [ zenon_intro zenon_H58 | zenon_intro zenon_H5a ].
% 250.54/250.70  apply (zenon_L271_); trivial.
% 250.54/250.70  apply (zenon_L25_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.70  apply (zenon_L155_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.70  apply (zenon_L156_); trivial.
% 250.54/250.70  apply (zenon_L288_); trivial.
% 250.54/250.70  apply (zenon_L290_); trivial.
% 250.54/250.70  apply (zenon_or_s _ _ zenon_H217); [ zenon_intro zenon_H126 | zenon_intro zenon_H12a ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf3); [ zenon_intro zenon_H7 | zenon_intro zenon_Hf6 ].
% 250.54/250.70  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.71  apply (zenon_L222_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.71  apply (zenon_L234_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.71  apply (zenon_L163_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.71  apply (zenon_L238_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.71  apply (zenon_L239_); trivial.
% 250.54/250.71  apply (zenon_L286_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.71  apply (zenon_L232_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.71  apply (zenon_L233_); trivial.
% 250.54/250.71  apply (zenon_L288_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_H56 | zenon_intro zenon_Hf7 ].
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_H39 | zenon_intro zenon_Hf8 ].
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hfb ].
% 250.54/250.71  apply (zenon_L244_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hfc ].
% 250.54/250.71  apply (zenon_L80_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfc); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hfd ].
% 250.54/250.71  apply (zenon_L238_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfd); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hd7 ].
% 250.54/250.71  apply (zenon_L239_); trivial.
% 250.54/250.71  apply (zenon_L286_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf8); [ zenon_intro zenon_H4f | zenon_intro zenon_Hf9 ].
% 250.54/250.71  apply (zenon_L26_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_H64 | zenon_intro zenon_Hfa ].
% 250.54/250.71  apply (zenon_L232_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfa); [ zenon_intro zenon_H94 | zenon_intro zenon_Hdf ].
% 250.54/250.71  apply (zenon_L233_); trivial.
% 250.54/250.71  apply (zenon_L288_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hf7); [ zenon_intro zenon_He8 | zenon_intro zenon_Hfe ].
% 250.54/250.71  apply (zenon_L241_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_Hfe); [ zenon_intro zenon_Hec | zenon_intro zenon_Hf0 ].
% 250.54/250.71  apply (zenon_L242_); trivial.
% 250.54/250.71  apply (zenon_L290_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_He3); [ zenon_intro zenon_Hd9 | zenon_intro zenon_He4 ].
% 250.54/250.71  cut (((j (h (e11))) = (e11)) = ((e10) = (e11))).
% 250.54/250.71  intro zenon_D_pnotp.
% 250.54/250.71  apply zenon_H87.
% 250.54/250.71  rewrite <- zenon_D_pnotp.
% 250.54/250.71  exact zenon_H2c.
% 250.54/250.71  cut (((e11) = (e11))); [idtac | apply NNPP; zenon_intro zenon_H14].
% 250.54/250.71  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.54/250.71  congruence.
% 250.54/250.71  elim (classic ((e10) = (e10))); [ zenon_intro zenon_Hf | zenon_intro zenon_H9 ].
% 250.54/250.71  cut (((e10) = (e10)) = ((j (h (e11))) = (e10))).
% 250.54/250.71  intro zenon_D_pnotp.
% 250.54/250.71  apply zenon_H110.
% 250.54/250.71  rewrite <- zenon_D_pnotp.
% 250.54/250.71  exact zenon_Hf.
% 250.54/250.71  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.71  cut (((e10) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H111].
% 250.54/250.71  congruence.
% 250.54/250.71  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.71  cut (((j (h (e11))) = (j (h (e11)))) = ((e10) = (j (h (e11))))).
% 250.54/250.71  intro zenon_D_pnotp.
% 250.54/250.71  apply zenon_H111.
% 250.54/250.71  rewrite <- zenon_D_pnotp.
% 250.54/250.71  exact zenon_H35.
% 250.54/250.71  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.71  cut (((j (h (e11))) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H110].
% 250.54/250.71  congruence.
% 250.54/250.71  cut (((j (e24)) = (e10)) = ((j (h (e11))) = (e10))).
% 250.54/250.71  intro zenon_D_pnotp.
% 250.54/250.71  apply zenon_H110.
% 250.54/250.71  rewrite <- zenon_D_pnotp.
% 250.54/250.71  exact zenon_Hd9.
% 250.54/250.71  cut (((e10) = (e10))); [idtac | apply NNPP; zenon_intro zenon_H9].
% 250.54/250.71  cut (((j (e24)) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H12c].
% 250.54/250.71  congruence.
% 250.54/250.71  elim (classic ((j (h (e11))) = (j (h (e11))))); [ zenon_intro zenon_H35 | zenon_intro zenon_H36 ].
% 250.54/250.71  cut (((j (h (e11))) = (j (h (e11)))) = ((j (e24)) = (j (h (e11))))).
% 250.54/250.71  intro zenon_D_pnotp.
% 250.54/250.71  apply zenon_H12c.
% 250.54/250.71  rewrite <- zenon_D_pnotp.
% 250.54/250.71  exact zenon_H35.
% 250.54/250.71  cut (((j (h (e11))) = (j (h (e11))))); [idtac | apply NNPP; zenon_intro zenon_H36].
% 250.54/250.71  cut (((j (h (e11))) = (j (e24)))); [idtac | apply NNPP; zenon_intro zenon_H129].
% 250.54/250.71  congruence.
% 250.54/250.71  apply (zenon_L246_); trivial.
% 250.54/250.71  apply zenon_H36. apply refl_equal.
% 250.54/250.71  apply zenon_H36. apply refl_equal.
% 250.54/250.71  apply zenon_H9. apply refl_equal.
% 250.54/250.71  apply zenon_H36. apply refl_equal.
% 250.54/250.71  apply zenon_H36. apply refl_equal.
% 250.54/250.71  apply zenon_H9. apply refl_equal.
% 250.54/250.71  apply zenon_H9. apply refl_equal.
% 250.54/250.71  apply zenon_H14. apply refl_equal.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_He4); [ zenon_intro zenon_Hdb | zenon_intro zenon_He5 ].
% 250.54/250.71  apply (zenon_L296_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_He5); [ zenon_intro zenon_Hdc | zenon_intro zenon_He6 ].
% 250.54/250.71  apply (zenon_L255_); trivial.
% 250.54/250.71  apply (zenon_or_s _ _ zenon_He6); [ zenon_intro zenon_Hdd | zenon_intro zenon_He1 ].
% 250.54/250.71  apply (zenon_L250_); trivial.
% 250.54/250.71  apply (zenon_L247_); trivial.
% 250.54/250.71  Qed.
% 250.54/250.71  % SZS output end Proof
% 250.54/250.71  (* END-PROOF *)
% 250.54/250.71  nodes searched: 3650952
% 250.54/250.71  max branch formulas: 5779
% 250.54/250.71  proof nodes created: 3295
% 250.54/250.71  formulas created: 7443186
% 250.54/250.71  
%------------------------------------------------------------------------------