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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : SWV188+1 : TPTP v8.1.0. Bugfixed v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n022.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 : Wed Jul 20 23:03:15 EDT 2022

% Result   : Theorem 28.56s 28.72s
% Output   : Proof 28.63s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SWV188+1 : TPTP v8.1.0. Bugfixed v3.3.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.13/0.34  % Computer : n022.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Tue Jun 14 21:35:18 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 28.56/28.72  (* PROOF-FOUND *)
% 28.56/28.72  % SZS status Theorem
% 28.56/28.72  (* BEGIN-PROOF *)
% 28.56/28.72  % SZS output start Proof
% 28.56/28.72  Theorem cl5_nebula_init_0116 : (((forall A : zenon_U, (((leq (n0) A)/\(leq A (n135299)))->(forall B : zenon_U, (((leq (n0) B)/\(leq B (n4)))->((a_select3 (q_init) A B) = (init))))))/\((forall C : zenon_U, (((leq (n0) C)/\(leq C (n4)))->((a_select2 (rho_init) C) = (init))))/\((forall D : zenon_U, (((leq (n0) D)/\(leq D (n4)))->((a_select3 (center_init) D (n0)) = (init))))/\(((gt (loopcounter) (n1))->(forall E : zenon_U, (((leq (n0) E)/\(leq E (n4)))->((a_select2 (muold_init) E) = (init)))))/\(((gt (loopcounter) (n1))->(forall F : zenon_U, (((leq (n0) F)/\(leq F (n4)))->((a_select2 (rhoold_init) F) = (init)))))/\((gt (loopcounter) (n1))->(forall G : zenon_U, (((leq (n0) G)/\(leq G (n4)))->((a_select2 (sigmaold_init) G) = (init))))))))))->(forall H : zenon_U, (((leq (n0) H)/\(leq H (tptp_minus_1)))->((a_select2 (mu_init) H) = (init))))).
% 28.56/28.72  Proof.
% 28.56/28.72  assert (zenon_L1_ : (~((n3) = (n3))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H5c.
% 28.56/28.72  apply zenon_H5c. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L1_ *)
% 28.56/28.72  assert (zenon_L2_ : (~((n2) = (n2))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H5d.
% 28.56/28.72  apply zenon_H5d. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L2_ *)
% 28.56/28.72  assert (zenon_L3_ : (~((n1) = (n1))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H5e.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L3_ *)
% 28.56/28.72  assert (zenon_L4_ : (~(gt (n1) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H5f.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H5f.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact gt_1_0.
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply zenon_H61. apply sym_equal. exact succ_tptp_minus_1.
% 28.56/28.72  (* end of lemma zenon_L4_ *)
% 28.56/28.72  assert (zenon_L5_ : (~(gt (succ (n0)) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H62.
% 28.56/28.72  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H5f ].
% 28.56/28.72  cut ((gt (n1) (succ (tptp_minus_1))) = (gt (succ (n0)) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H62.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H63.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H65.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H66.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply (zenon_L4_); trivial.
% 28.56/28.72  (* end of lemma zenon_L5_ *)
% 28.56/28.72  assert (zenon_L6_ : (~((n0) = (n0))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H69.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L6_ *)
% 28.56/28.72  assert (zenon_L7_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (~(leq (n0) zenon_TH_ee)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H6a zenon_H6b.
% 28.56/28.72  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.56/28.72  generalize (zenon_H6d zenon_TH_ee). zenon_intro zenon_H6e.
% 28.56/28.72  apply (zenon_equiv_s _ _ zenon_H6e); [ zenon_intro zenon_H6b; zenon_intro zenon_H70 | zenon_intro zenon_H6f; zenon_intro zenon_H6a ].
% 28.56/28.72  exact (zenon_H70 zenon_H6a).
% 28.56/28.72  exact (zenon_H6b zenon_H6f).
% 28.56/28.72  (* end of lemma zenon_L7_ *)
% 28.56/28.72  assert (zenon_L8_ : (~((n4) = (n4))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H71.
% 28.56/28.72  apply zenon_H71. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L8_ *)
% 28.56/28.72  assert (zenon_L9_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H72 zenon_H73.
% 28.56/28.72  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H5f ].
% 28.56/28.72  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.72  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.72  generalize (zenon_H75 (succ (tptp_minus_1))). zenon_intro zenon_H76.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H76); [ zenon_intro zenon_H78 | zenon_intro zenon_H77 ].
% 28.56/28.72  exact (zenon_H78 gt_2_1).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H77); [ zenon_intro zenon_H5f | zenon_intro zenon_H79 ].
% 28.56/28.72  exact (zenon_H5f zenon_H63).
% 28.56/28.72  exact (zenon_H73 zenon_H79).
% 28.56/28.72  apply (zenon_L4_); trivial.
% 28.56/28.72  (* end of lemma zenon_L9_ *)
% 28.56/28.72  assert (zenon_L10_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H72 zenon_H7a.
% 28.56/28.72  elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H79 | zenon_intro zenon_H73 ].
% 28.56/28.72  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.56/28.72  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.56/28.72  generalize (zenon_H7c (succ (tptp_minus_1))). zenon_intro zenon_H7d.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H7d); [ zenon_intro zenon_H7f | zenon_intro zenon_H7e ].
% 28.56/28.72  exact (zenon_H7f gt_3_2).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H7e); [ zenon_intro zenon_H73 | zenon_intro zenon_H80 ].
% 28.56/28.72  exact (zenon_H73 zenon_H79).
% 28.56/28.72  exact (zenon_H7a zenon_H80).
% 28.56/28.72  apply (zenon_L9_); trivial.
% 28.56/28.72  (* end of lemma zenon_L10_ *)
% 28.56/28.72  assert (zenon_L11_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n4) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H72 zenon_H81.
% 28.56/28.72  elim (classic (gt (n3) (succ (tptp_minus_1)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H7a ].
% 28.56/28.72  generalize (zenon_H72 (n4)). zenon_intro zenon_H82.
% 28.56/28.72  generalize (zenon_H82 (n3)). zenon_intro zenon_H83.
% 28.56/28.72  generalize (zenon_H83 (succ (tptp_minus_1))). zenon_intro zenon_H84.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H84); [ zenon_intro zenon_H86 | zenon_intro zenon_H85 ].
% 28.56/28.72  exact (zenon_H86 gt_4_3).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H85); [ zenon_intro zenon_H7a | zenon_intro zenon_H87 ].
% 28.56/28.72  exact (zenon_H7a zenon_H80).
% 28.56/28.72  exact (zenon_H81 zenon_H87).
% 28.56/28.72  apply (zenon_L10_); trivial.
% 28.56/28.72  (* end of lemma zenon_L11_ *)
% 28.56/28.72  assert (zenon_L12_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n3)) (succ (tptp_minus_1)))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_H72 zenon_H88.
% 28.56/28.72  elim (classic (gt (n4) (succ (tptp_minus_1)))); [ zenon_intro zenon_H87 | zenon_intro zenon_H81 ].
% 28.56/28.72  elim (classic (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))); [ zenon_intro zenon_H89 | zenon_intro zenon_H8a ].
% 28.56/28.72  cut ((gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1))) = (gt (succ (n3)) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H88.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H89.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (succ (succ (succ (n0))))) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8b].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ].
% 28.56/28.72  cut (((succ (n3)) = (succ (n3))) = ((succ (succ (succ (succ (n0))))) = (succ (n3)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H8b.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H8c.
% 28.56/28.72  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 28.56/28.72  cut (((succ (n3)) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H8e].
% 28.56/28.72  congruence.
% 28.56/28.72  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H8f. apply sym_equal. exact successor_3.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  cut ((gt (n4) (succ (tptp_minus_1))) = (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H8a.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H87.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((n4) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [ zenon_intro zenon_H91 | zenon_intro zenon_H92 ].
% 28.56/28.72  cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0)))))) = ((n4) = (succ (succ (succ (succ (n0))))))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H90.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H91.
% 28.56/28.72  cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H92].
% 28.56/28.72  cut (((succ (succ (succ (succ (n0))))) = (n4))); [idtac | apply NNPP; zenon_intro zenon_H93].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H93 successor_4).
% 28.56/28.72  apply zenon_H92. apply refl_equal.
% 28.56/28.72  apply zenon_H92. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply (zenon_L11_); trivial.
% 28.56/28.72  (* end of lemma zenon_L12_ *)
% 28.56/28.72  assert (zenon_L13_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(leq zenon_TH_ee (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H94 zenon_H95.
% 28.56/28.72  generalize (leq_succ_gt_equiv zenon_TH_ee). zenon_intro zenon_H96.
% 28.56/28.72  generalize (zenon_H96 (n3)). zenon_intro zenon_H97.
% 28.56/28.72  apply (zenon_equiv_s _ _ zenon_H97); [ zenon_intro zenon_H95; zenon_intro zenon_H9a | zenon_intro zenon_H99; zenon_intro zenon_H98 ].
% 28.56/28.72  elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ].
% 28.56/28.72  apply (zenon_and_s _ _ zenon_H9b). zenon_intro zenon_H9d. zenon_intro zenon_H88.
% 28.56/28.72  apply (zenon_L12_); trivial.
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n3)) zenon_TH_ee)).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H9a.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H94.
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_H9c); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha0 ].
% 28.56/28.72  apply zenon_Ha1. zenon_intro zenon_Ha2.
% 28.56/28.72  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ].
% 28.56/28.72  cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H9f.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H8c.
% 28.56/28.72  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 28.56/28.72  cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H9d zenon_Ha2).
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_Ha0. zenon_intro zenon_Ha3.
% 28.56/28.72  generalize (zenon_H72 (succ (n3))). zenon_intro zenon_Ha4.
% 28.56/28.72  generalize (zenon_Ha4 (succ (tptp_minus_1))). zenon_intro zenon_Ha5.
% 28.56/28.72  generalize (zenon_Ha5 zenon_TH_ee). zenon_intro zenon_Ha6.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_H88 | zenon_intro zenon_Ha7 ].
% 28.56/28.72  exact (zenon_H88 zenon_Ha3).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Ha7); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H98 ].
% 28.56/28.72  exact (zenon_Ha8 zenon_H94).
% 28.56/28.72  exact (zenon_H9a zenon_H98).
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_H95 zenon_H99).
% 28.56/28.72  (* end of lemma zenon_L13_ *)
% 28.56/28.72  assert (zenon_L14_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n0))) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H6a zenon_H94 zenon_Ha9 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.72  generalize (finite_domain_3 zenon_TH_ee). zenon_intro zenon_Had.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Had); [ zenon_intro zenon_Haf | zenon_intro zenon_Hae ].
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_Haf); [ zenon_intro zenon_H6b | zenon_intro zenon_H95 ].
% 28.56/28.72  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_L13_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb0 ].
% 28.56/28.72  exact (zenon_Ha9 zenon_Hb1).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb2 ].
% 28.56/28.72  exact (zenon_Haa zenon_Hb3).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb4 ].
% 28.56/28.72  exact (zenon_Hab zenon_Hb5).
% 28.56/28.72  exact (zenon_Hac zenon_Hb4).
% 28.56/28.72  (* end of lemma zenon_L14_ *)
% 28.56/28.72  assert (zenon_L15_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hb6 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.72  elim (classic (zenon_TH_ee = (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Ha9 ].
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hb6.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H94.
% 28.56/28.72  cut ((zenon_TH_ee = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  exact (zenon_Ha9 zenon_Hb1).
% 28.56/28.72  apply (zenon_L14_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L15_ *)
% 28.56/28.72  assert (zenon_L16_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_Hb7 zenon_H72.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) (n0)) = (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hb7.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb8.
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply (zenon_L15_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L16_ *)
% 28.56/28.72  assert (zenon_L17_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (tptp_minus_1)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_Hbb zenon_H72.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.72  elim (classic (gt (n0) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbd | zenon_intro zenon_Hbe ].
% 28.56/28.72  cut ((gt (n0) (succ (tptp_minus_1))) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hbb.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hbd.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee) = ((n0) = zenon_TH_ee)).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hbf.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc0.
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  cut ((zenon_TH_ee = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_L14_ zenon_TH_ee); trivial.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (n0) (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hbe.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hbc.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.72  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hba.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc1.
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L17_ *)
% 28.56/28.72  assert (zenon_L18_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hc2 zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.72  cut ((gt zenon_TH_ee (succ (tptp_minus_1))) = (gt zenon_TH_ee (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hc2.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc3.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply (zenon_L17_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L18_ *)
% 28.56/28.72  assert (zenon_L19_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hc4 zenon_Hc5 zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ].
% 28.56/28.72  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.72  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.72  generalize (zenon_Hc9 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hca.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Hca); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hcb ].
% 28.56/28.72  exact (zenon_Ha8 zenon_H94).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Hcb); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hcc ].
% 28.56/28.72  exact (zenon_Hc7 zenon_Hc6).
% 28.56/28.72  exact (zenon_Hc4 zenon_Hcc).
% 28.56/28.72  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.72  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.72  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hc7.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hcf.
% 28.56/28.72  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_Hce zenon_Hcd).
% 28.56/28.72  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hce.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd0.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L19_ *)
% 28.56/28.72  assert (zenon_L20_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_Hc5 zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.72  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hd3.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd4.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hce.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd0.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hc4 ].
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hd5.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hcc.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.72  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hba.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc1.
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  apply (zenon_L19_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L20_ *)
% 28.56/28.72  assert (zenon_L21_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H72 zenon_Hd6 zenon_Hc5.
% 28.56/28.72  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.72  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.72  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hd6.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd7.
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.72  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hd2.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc1.
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hce zenon_Hcd).
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hd3 ].
% 28.56/28.72  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hd8.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd9.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.72  apply (zenon_L20_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hce.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hd0.
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.72  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  apply zenon_Hd1. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L21_ *)
% 28.56/28.72  assert (zenon_L22_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((succ (n0)) = (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hda zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.56/28.72  congruence.
% 28.56/28.72  generalize (finite_domain_3 zenon_TH_ee). zenon_intro zenon_Had.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Had); [ zenon_intro zenon_Haf | zenon_intro zenon_Hae ].
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_Haf); [ zenon_intro zenon_H6b | zenon_intro zenon_H95 ].
% 28.56/28.72  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_L13_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb0 ].
% 28.56/28.72  apply zenon_Hbf. apply sym_equal. exact zenon_Hb1.
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb2 ].
% 28.56/28.72  exact (zenon_Haa zenon_Hb3).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb4 ].
% 28.56/28.72  exact (zenon_Hab zenon_Hb5).
% 28.56/28.72  exact (zenon_Hac zenon_Hb4).
% 28.56/28.72  (* end of lemma zenon_L22_ *)
% 28.56/28.72  assert (zenon_L23_ : (~((tptp_minus_1) = (tptp_minus_1))) -> False).
% 28.56/28.72  do 0 intro. intros zenon_Hdb.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L23_ *)
% 28.56/28.72  assert (zenon_L24_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n0))) -> (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_Hdc zenon_Hdd zenon_Hde zenon_Hdf.
% 28.56/28.72  generalize (finite_domain_3 zenon_TH_ee). zenon_intro zenon_Had.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Had); [ zenon_intro zenon_Haf | zenon_intro zenon_Hae ].
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_Haf); [ zenon_intro zenon_H6b | zenon_intro zenon_H95 ].
% 28.56/28.72  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_L13_ zenon_TH_ee); trivial.
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb0 ].
% 28.56/28.72  generalize (finite_domain_3 (tptp_minus_1)). zenon_intro zenon_He0.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_He0); [ zenon_intro zenon_He2 | zenon_intro zenon_He1 ].
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_He2); [ zenon_intro zenon_He4 | zenon_intro zenon_He3 ].
% 28.56/28.72  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.56/28.72  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.56/28.72  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.56/28.72  apply (zenon_L15_ zenon_TH_ee); trivial.
% 28.56/28.72  exact (zenon_He4 zenon_He6).
% 28.56/28.72  generalize (leq_succ_gt_equiv (tptp_minus_1)). zenon_intro zenon_He7.
% 28.56/28.72  generalize (zenon_He7 (n3)). zenon_intro zenon_He8.
% 28.56/28.72  apply (zenon_equiv_s _ _ zenon_He8); [ zenon_intro zenon_He3; zenon_intro zenon_Heb | zenon_intro zenon_Hea; zenon_intro zenon_He9 ].
% 28.56/28.72  elim (classic ((~((succ (n3)) = (n0)))/\(~(gt (succ (n3)) (n0))))); [ zenon_intro zenon_Hec | zenon_intro zenon_Hed ].
% 28.56/28.72  apply (zenon_and_s _ _ zenon_Hec). zenon_intro zenon_Hef. zenon_intro zenon_Hee.
% 28.56/28.72  elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H9b | zenon_intro zenon_H9c ].
% 28.56/28.72  apply (zenon_and_s _ _ zenon_H9b). zenon_intro zenon_H9d. zenon_intro zenon_H88.
% 28.56/28.72  apply (zenon_L12_); trivial.
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n3)) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hee.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H94.
% 28.56/28.72  cut ((zenon_TH_ee = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H9f].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_H9c); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha0 ].
% 28.56/28.72  apply zenon_Ha1. zenon_intro zenon_Ha2.
% 28.56/28.72  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ].
% 28.56/28.72  cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H9f.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H8c.
% 28.56/28.72  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 28.56/28.72  cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H9d].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H9d zenon_Ha2).
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_Ha0. zenon_intro zenon_Ha3.
% 28.56/28.72  generalize (zenon_H72 (succ (n3))). zenon_intro zenon_Ha4.
% 28.56/28.72  generalize (zenon_Ha4 (succ (tptp_minus_1))). zenon_intro zenon_Ha5.
% 28.56/28.72  generalize (zenon_Ha5 zenon_TH_ee). zenon_intro zenon_Ha6.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_H88 | zenon_intro zenon_Ha7 ].
% 28.56/28.72  exact (zenon_H88 zenon_Ha3).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Ha7); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H98 ].
% 28.56/28.72  exact (zenon_Ha8 zenon_H94).
% 28.56/28.72  cut ((gt (succ (n3)) zenon_TH_ee) = (gt (succ (n3)) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hee.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H98.
% 28.56/28.72  cut ((zenon_TH_ee = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 28.56/28.72  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  exact (zenon_Ha9 zenon_Hb1).
% 28.56/28.72  exact (zenon_Ha9 zenon_Hb1).
% 28.56/28.72  cut ((gt (n0) (tptp_minus_1)) = (gt (succ (n3)) (tptp_minus_1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Heb.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact gt_0_tptp_minus_1.
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.72  cut (((n0) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_Hed); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf1 ].
% 28.56/28.72  apply zenon_Hf2. zenon_intro zenon_Hf3.
% 28.56/28.72  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H8c | zenon_intro zenon_H8d ].
% 28.56/28.72  cut (((succ (n3)) = (succ (n3))) = ((n0) = (succ (n3)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hf0.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H8c.
% 28.56/28.72  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 28.56/28.72  cut (((succ (n3)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hef zenon_Hf3).
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_H8d. apply refl_equal.
% 28.56/28.72  apply zenon_Hf1. zenon_intro zenon_Hf4.
% 28.56/28.72  generalize (zenon_H72 (succ (n3))). zenon_intro zenon_Ha4.
% 28.56/28.72  generalize (zenon_Ha4 (n0)). zenon_intro zenon_Hf5.
% 28.56/28.72  generalize (zenon_Hf5 (tptp_minus_1)). zenon_intro zenon_Hf6.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Hf6); [ zenon_intro zenon_Hee | zenon_intro zenon_Hf7 ].
% 28.56/28.72  exact (zenon_Hee zenon_Hf4).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_Hf7); [ zenon_intro zenon_Hf8 | zenon_intro zenon_He9 ].
% 28.56/28.72  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.72  exact (zenon_Heb zenon_He9).
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  exact (zenon_He3 zenon_Hea).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_He1); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hf9 ].
% 28.56/28.72  exact (zenon_Hdc zenon_Hfa).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hf9); [ zenon_intro zenon_Hfc | zenon_intro zenon_Hfb ].
% 28.56/28.72  exact (zenon_Hdd zenon_Hfc).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hfb); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfd ].
% 28.56/28.72  exact (zenon_Hde zenon_Hfe).
% 28.56/28.72  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb2 ].
% 28.56/28.72  exact (zenon_Haa zenon_Hb3).
% 28.56/28.72  apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb4 ].
% 28.56/28.72  exact (zenon_Hab zenon_Hb5).
% 28.56/28.72  exact (zenon_Hac zenon_Hb4).
% 28.56/28.72  (* end of lemma zenon_L24_ *)
% 28.56/28.72  assert (zenon_L25_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((succ (tptp_minus_1)) = (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hff zenon_Hdf zenon_Hde zenon_Hdd zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_L24_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L25_ *)
% 28.56/28.72  assert (zenon_L26_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H100 zenon_Hdd zenon_Hde zenon_Hdf zenon_H72.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.72  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.72  cut ((gt zenon_TH_ee (succ (tptp_minus_1))) = (gt zenon_TH_ee (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H100.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc3.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  apply (zenon_L25_ zenon_TH_ee); trivial.
% 28.56/28.72  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hbb.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hcf.
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L26_ *)
% 28.56/28.72  assert (zenon_L27_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H101 zenon_Hdd zenon_Hde zenon_Hdf zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.72  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.72  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.72  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.56/28.72  exact (zenon_Ha8 zenon_H94).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.56/28.72  exact (zenon_H100 zenon_H102).
% 28.56/28.72  exact (zenon_H101 zenon_H105).
% 28.56/28.72  apply (zenon_L26_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L27_ *)
% 28.56/28.72  assert (zenon_L28_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (tptp_minus_1) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_Hdd zenon_Hde zenon_Hdf zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H106 zenon_H72.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.72  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.72  cut ((gt (n0) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H106.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H107.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((n0) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H109].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n0) = (tptp_minus_1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H109.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H10a.
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.72  cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_L24_ zenon_TH_ee); trivial.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H108.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H105.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.72  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hba.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hc1.
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply (zenon_L27_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L28_ *)
% 28.56/28.72  assert (zenon_L29_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H108 zenon_Hdf zenon_Hde zenon_Hdd zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.72  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.72  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.72  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.72  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.72  exact (zenon_H106 zenon_H10b).
% 28.56/28.72  exact (zenon_H108 zenon_H107).
% 28.56/28.72  apply (zenon_L28_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L29_ *)
% 28.56/28.72  assert (zenon_L30_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_Hdf zenon_Hde zenon_Hdd zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H72 zenon_H110.
% 28.56/28.72  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.72  elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H112 | zenon_intro zenon_H113 ].
% 28.56/28.72  cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H110.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H112.
% 28.56/28.72  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.72  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H68.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H114.
% 28.56/28.72  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H65 zenon_H111).
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H116 ].
% 28.56/28.72  cut ((gt (succ (n0)) (succ (n0))) = (gt (succ (n0)) (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H113.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H115.
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  elim (classic ((~((succ (n0)) = (succ zenon_TH_ee)))/\(~(gt (succ (n0)) (succ zenon_TH_ee))))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 28.56/28.72  apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_Hda. zenon_intro zenon_H119.
% 28.56/28.72  apply (zenon_L22_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.72  generalize (zenon_H72 (succ zenon_TH_ee)). zenon_intro zenon_H11a.
% 28.56/28.72  generalize (zenon_H11a (n0)). zenon_intro zenon_H11b.
% 28.56/28.72  generalize (zenon_H11b (succ (n0))). zenon_intro zenon_H11c.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H11c); [ zenon_intro zenon_H70 | zenon_intro zenon_H11d ].
% 28.56/28.72  exact (zenon_H70 zenon_H6a).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H11d); [ zenon_intro zenon_H108 | zenon_intro zenon_H11e ].
% 28.56/28.72  exact (zenon_H108 zenon_H107).
% 28.56/28.72  cut ((gt (succ zenon_TH_ee) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H116.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H11e.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ zenon_TH_ee) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H11f].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_notand_s _ _ zenon_H118); [ zenon_intro zenon_H121 | zenon_intro zenon_H120 ].
% 28.56/28.72  apply zenon_H121. zenon_intro zenon_H122.
% 28.56/28.72  apply zenon_H11f. apply sym_equal. exact zenon_H122.
% 28.56/28.72  apply zenon_H120. zenon_intro zenon_H123.
% 28.56/28.72  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.72  generalize (zenon_H124 (succ zenon_TH_ee)). zenon_intro zenon_H125.
% 28.56/28.72  generalize (zenon_H125 (succ (n0))). zenon_intro zenon_H126.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H126); [ zenon_intro zenon_H119 | zenon_intro zenon_H127 ].
% 28.56/28.72  exact (zenon_H119 zenon_H123).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H127); [ zenon_intro zenon_H128 | zenon_intro zenon_H115 ].
% 28.56/28.72  exact (zenon_H128 zenon_H11e).
% 28.56/28.72  exact (zenon_H116 zenon_H115).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply (zenon_L29_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H65.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H66.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L30_ *)
% 28.56/28.72  assert (zenon_L31_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n1))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H129 zenon_Hdf zenon_Hde zenon_Hdd zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.72  cut ((gt (tptp_minus_1) (succ (n0))) = (gt (tptp_minus_1) (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H129.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H10b.
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply (zenon_L28_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L31_ *)
% 28.56/28.72  assert (zenon_L32_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n1))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H12a zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_Hde zenon_Hdf.
% 28.56/28.72  elim (classic ((tptp_minus_1) = (n1))); [ zenon_intro zenon_Hfc | zenon_intro zenon_Hdd ].
% 28.56/28.72  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H12a.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact gt_0_tptp_minus_1.
% 28.56/28.72  cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 28.56/28.72  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H69. apply refl_equal.
% 28.56/28.72  exact (zenon_Hdd zenon_Hfc).
% 28.56/28.72  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H12b | zenon_intro zenon_H129 ].
% 28.56/28.72  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.72  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.72  generalize (zenon_H10d (n1)). zenon_intro zenon_H12c.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H12c); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H12d ].
% 28.56/28.72  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H12d); [ zenon_intro zenon_H129 | zenon_intro zenon_H12e ].
% 28.56/28.72  exact (zenon_H129 zenon_H12b).
% 28.56/28.72  exact (zenon_H12a zenon_H12e).
% 28.56/28.72  apply (zenon_L31_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L32_ *)
% 28.56/28.72  assert (zenon_L33_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H110 zenon_Hdf zenon_Hde zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.56/28.72  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.72  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.56/28.72  generalize (zenon_H130 (n1)). zenon_intro zenon_H131.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H131); [ zenon_intro zenon_H133 | zenon_intro zenon_H132 ].
% 28.56/28.72  exact (zenon_H133 gt_1_0).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_H12a | zenon_intro zenon_H134 ].
% 28.56/28.72  exact (zenon_H12a zenon_H12e).
% 28.56/28.72  exact (zenon_H110 zenon_H134).
% 28.56/28.72  apply (zenon_L32_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L33_ *)
% 28.56/28.72  assert (zenon_L34_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H116 zenon_Hdf zenon_Hde zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.72  cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H116.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H135.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H65.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H66.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.72  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.72  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H136.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H134.
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  exact (zenon_H65 zenon_H111).
% 28.56/28.72  apply (zenon_L33_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H65.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H66.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L34_ *)
% 28.56/28.72  assert (zenon_L35_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H108 zenon_Hdf zenon_Hde zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.72  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.72  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.72  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.72  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.72  exact (zenon_H106 zenon_H10b).
% 28.56/28.72  exact (zenon_H108 zenon_H107).
% 28.56/28.72  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.72  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H12b | zenon_intro zenon_H129 ].
% 28.56/28.72  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H106.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H12b.
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  exact (zenon_H65 zenon_H111).
% 28.56/28.72  elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H116 ].
% 28.56/28.72  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.72  cut ((gt (n1) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H106.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H135.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((n1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H137].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n1) = (tptp_minus_1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H137.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H10a.
% 28.56/28.72  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.72  cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hdd].
% 28.56/28.72  congruence.
% 28.56/28.72  apply (zenon_L31_ zenon_TH_ee); trivial.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  apply zenon_Hdb. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  cut ((gt (succ (n0)) (succ (n0))) = (gt (n1) (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H136.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H115.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.72  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H68.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H114.
% 28.56/28.72  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.72  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H65 zenon_H111).
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  apply zenon_H5e. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply (zenon_L34_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.72  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H65.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H66.
% 28.56/28.72  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  apply zenon_H67. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L35_ *)
% 28.56/28.72  assert (zenon_L36_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_Hde zenon_Hdf zenon_H101 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.72  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.72  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.72  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.72  generalize (zenon_H138 (succ (n0))). zenon_intro zenon_H139.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H139); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H13a ].
% 28.56/28.72  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H13a); [ zenon_intro zenon_H108 | zenon_intro zenon_H105 ].
% 28.56/28.72  exact (zenon_H108 zenon_H107).
% 28.56/28.72  exact (zenon_H101 zenon_H105).
% 28.56/28.72  apply (zenon_L35_ zenon_TH_ee); trivial.
% 28.56/28.72  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hb6.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hbc.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L36_ *)
% 28.56/28.72  assert (zenon_L37_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.72  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H100 zenon_Hde zenon_Hdf zenon_H72.
% 28.56/28.72  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.72  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.72  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.72  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.72  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.72  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.72  generalize (zenon_H13c (succ (n0))). zenon_intro zenon_H13d.
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_Hbb | zenon_intro zenon_H13e ].
% 28.56/28.72  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.72  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H101 | zenon_intro zenon_H102 ].
% 28.56/28.72  exact (zenon_H101 zenon_H105).
% 28.56/28.72  exact (zenon_H100 zenon_H102).
% 28.56/28.72  apply (zenon_L36_ zenon_TH_ee); trivial.
% 28.56/28.72  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_Hbb.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hcf.
% 28.56/28.72  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_H61 zenon_H60).
% 28.56/28.72  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.72  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H61.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_Hb9.
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.72  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.72  congruence.
% 28.56/28.72  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  apply zenon_H64. apply refl_equal.
% 28.56/28.72  (* end of lemma zenon_L37_ *)
% 28.56/28.72  assert (zenon_L38_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.72  do 1 intro. intros zenon_H72 zenon_H13f zenon_Hde zenon_Hdf zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.72  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.72  cut ((gt zenon_TH_ee (succ (n0))) = (gt zenon_TH_ee (n1))).
% 28.56/28.72  intro zenon_D_pnotp.
% 28.56/28.72  apply zenon_H13f.
% 28.56/28.72  rewrite <- zenon_D_pnotp.
% 28.56/28.72  exact zenon_H102.
% 28.56/28.72  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.72  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.72  congruence.
% 28.56/28.72  apply zenon_H9e. apply refl_equal.
% 28.56/28.72  exact (zenon_H68 successor_1).
% 28.56/28.72  apply (zenon_L37_ zenon_TH_ee); trivial.
% 28.56/28.72  (* end of lemma zenon_L38_ *)
% 28.56/28.72  assert (zenon_L39_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n2))) -> (~(gt zenon_TH_ee (n1))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H140 zenon_H13f zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_Hdf.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (n2))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hde ].
% 28.56/28.73  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n2))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H140.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_0_tptp_minus_1.
% 28.56/28.73  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  exact (zenon_Hde zenon_Hfe).
% 28.56/28.73  apply (zenon_L38_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L39_ *)
% 28.56/28.73  assert (zenon_L40_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H141 zenon_Hdf zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.73  elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H142 | zenon_intro zenon_H140 ].
% 28.56/28.73  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.73  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.56/28.73  generalize (zenon_H130 (n2)). zenon_intro zenon_H143.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H143); [ zenon_intro zenon_H133 | zenon_intro zenon_H144 ].
% 28.56/28.73  exact (zenon_H133 gt_1_0).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H144); [ zenon_intro zenon_H140 | zenon_intro zenon_H145 ].
% 28.56/28.73  exact (zenon_H140 zenon_H142).
% 28.56/28.73  exact (zenon_H141 zenon_H145).
% 28.56/28.73  apply (zenon_L39_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L40_ *)
% 28.56/28.73  assert (zenon_L41_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hdf zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H72 zenon_H110.
% 28.56/28.73  elim (classic ((~((n1) = (n2)))/\(~(gt (n1) (n2))))); [ zenon_intro zenon_H146 | zenon_intro zenon_H147 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H146). zenon_intro zenon_H148. zenon_intro zenon_H141.
% 28.56/28.73  apply (zenon_L40_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n2) (n1)) = (gt (n1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H110.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_2_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n2) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H149].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H147); [ zenon_intro zenon_H14b | zenon_intro zenon_H14a ].
% 28.56/28.73  apply zenon_H14b. zenon_intro zenon_H14c.
% 28.56/28.73  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.73  cut (((n1) = (n1)) = ((n2) = (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H149.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H114.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H148 zenon_H14c).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H14a. zenon_intro zenon_H145.
% 28.56/28.73  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.73  generalize (zenon_H12f (n2)). zenon_intro zenon_H14d.
% 28.56/28.73  generalize (zenon_H14d (n1)). zenon_intro zenon_H14e.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H14e); [ zenon_intro zenon_H141 | zenon_intro zenon_H14f ].
% 28.56/28.73  exact (zenon_H141 zenon_H145).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H14f); [ zenon_intro zenon_H78 | zenon_intro zenon_H134 ].
% 28.56/28.73  exact (zenon_H78 gt_2_1).
% 28.56/28.73  exact (zenon_H110 zenon_H134).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L41_ *)
% 28.56/28.73  assert (zenon_L42_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hdd zenon_H72 zenon_H129 zenon_Hdf zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H150). zenon_intro zenon_Hde. zenon_intro zenon_H152.
% 28.56/28.73  apply (zenon_L31_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H129.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_2_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H151); [ zenon_intro zenon_H155 | zenon_intro zenon_H154 ].
% 28.56/28.73  apply zenon_H155. zenon_intro zenon_Hfe.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H153.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hde zenon_Hfe).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H154. zenon_intro zenon_H156.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n2)). zenon_intro zenon_H158.
% 28.56/28.73  generalize (zenon_H158 (n1)). zenon_intro zenon_H159.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H159); [ zenon_intro zenon_H152 | zenon_intro zenon_H15a ].
% 28.56/28.73  exact (zenon_H152 zenon_H156).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H15a); [ zenon_intro zenon_H78 | zenon_intro zenon_H12b ].
% 28.56/28.73  exact (zenon_H78 gt_2_1).
% 28.56/28.73  exact (zenon_H129 zenon_H12b).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L42_ *)
% 28.56/28.73  assert (zenon_L43_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H108 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_Hdf zenon_H13f.
% 28.56/28.73  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.73  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.73  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.73  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.73  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.73  exact (zenon_H106 zenon_H10b).
% 28.56/28.73  exact (zenon_H108 zenon_H107).
% 28.56/28.73  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.73  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H12b | zenon_intro zenon_H129 ].
% 28.56/28.73  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H106.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H12b.
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  exact (zenon_H65 zenon_H111).
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H150). zenon_intro zenon_Hde. zenon_intro zenon_H152.
% 28.56/28.73  apply (zenon_L38_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H129.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_2_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H151); [ zenon_intro zenon_H155 | zenon_intro zenon_H154 ].
% 28.56/28.73  apply zenon_H155. zenon_intro zenon_Hfe.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H153.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hde zenon_Hfe).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H154. zenon_intro zenon_H156.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n2)). zenon_intro zenon_H158.
% 28.56/28.73  generalize (zenon_H158 (n1)). zenon_intro zenon_H159.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H159); [ zenon_intro zenon_H152 | zenon_intro zenon_H15a ].
% 28.56/28.73  exact (zenon_H152 zenon_H156).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H15a); [ zenon_intro zenon_H78 | zenon_intro zenon_H12b ].
% 28.56/28.73  exact (zenon_H78 gt_2_1).
% 28.56/28.73  exact (zenon_H129 zenon_H12b).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L43_ *)
% 28.56/28.73  assert (zenon_L44_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H13f zenon_Hdf zenon_H101 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.73  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.73  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.73  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.73  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.73  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.73  generalize (zenon_H138 (succ (n0))). zenon_intro zenon_H139.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H139); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H13a ].
% 28.56/28.73  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H13a); [ zenon_intro zenon_H108 | zenon_intro zenon_H105 ].
% 28.56/28.73  exact (zenon_H108 zenon_H107).
% 28.56/28.73  exact (zenon_H101 zenon_H105).
% 28.56/28.73  apply (zenon_L43_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_Hb6.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hbc.
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.73  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L44_ *)
% 28.56/28.73  assert (zenon_L45_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (~(gt zenon_TH_ee (n1))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H100 zenon_H13f zenon_Hdf zenon_H72.
% 28.56/28.73  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.73  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.73  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.73  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.73  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.73  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.73  generalize (zenon_H13c (succ (n0))). zenon_intro zenon_H13d.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_Hbb | zenon_intro zenon_H13e ].
% 28.56/28.73  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H101 | zenon_intro zenon_H102 ].
% 28.56/28.73  exact (zenon_H101 zenon_H105).
% 28.56/28.73  exact (zenon_H100 zenon_H102).
% 28.56/28.73  apply (zenon_L44_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_Hbb.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hcf.
% 28.56/28.73  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.73  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H9e. apply refl_equal.
% 28.56/28.73  exact (zenon_H61 zenon_H60).
% 28.56/28.73  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.73  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H61.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hb9.
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L45_ *)
% 28.56/28.73  assert (zenon_L46_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H13f zenon_Hdf zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.73  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.73  cut ((gt zenon_TH_ee (succ (n0))) = (gt zenon_TH_ee (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H13f.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H102.
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H9e. apply refl_equal.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply (zenon_L45_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L46_ *)
% 28.56/28.73  assert (zenon_L47_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H15b zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hfd | zenon_intro zenon_Hdf ].
% 28.56/28.73  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H15b.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_0_tptp_minus_1.
% 28.56/28.73  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.73  apply (zenon_L46_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L47_ *)
% 28.56/28.73  assert (zenon_L48_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H15c zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.73  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.56/28.73  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.73  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.56/28.73  generalize (zenon_H130 (n3)). zenon_intro zenon_H15e.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H15e); [ zenon_intro zenon_H133 | zenon_intro zenon_H15f ].
% 28.56/28.73  exact (zenon_H133 gt_1_0).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H15f); [ zenon_intro zenon_H15b | zenon_intro zenon_H160 ].
% 28.56/28.73  exact (zenon_H15b zenon_H15d).
% 28.56/28.73  exact (zenon_H15c zenon_H160).
% 28.56/28.73  apply (zenon_L47_ zenon_TH_ee); trivial.
% 28.56/28.73  (* end of lemma zenon_L48_ *)
% 28.56/28.73  assert (zenon_L49_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H72 zenon_H110.
% 28.56/28.73  elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H161 | zenon_intro zenon_H162 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H161). zenon_intro zenon_H163. zenon_intro zenon_H15c.
% 28.56/28.73  apply (zenon_L48_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n3) (n1)) = (gt (n1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H110.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_3_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H164].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H162); [ zenon_intro zenon_H166 | zenon_intro zenon_H165 ].
% 28.56/28.73  apply zenon_H166. zenon_intro zenon_H167.
% 28.56/28.73  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.73  cut (((n1) = (n1)) = ((n3) = (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H164.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H114.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H163 zenon_H167).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H165. zenon_intro zenon_H160.
% 28.56/28.73  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.73  generalize (zenon_H12f (n3)). zenon_intro zenon_H168.
% 28.56/28.73  generalize (zenon_H168 (n1)). zenon_intro zenon_H169.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H169); [ zenon_intro zenon_H15c | zenon_intro zenon_H16a ].
% 28.56/28.73  exact (zenon_H15c zenon_H160).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H16a); [ zenon_intro zenon_H16b | zenon_intro zenon_H134 ].
% 28.56/28.73  exact (zenon_H16b gt_3_1).
% 28.56/28.73  exact (zenon_H110 zenon_H134).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L49_ *)
% 28.56/28.73  assert (zenon_L50_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72 zenon_H110.
% 28.56/28.73  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.73  elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H112 | zenon_intro zenon_H113 ].
% 28.56/28.73  cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H110.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H112.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.73  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H68.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H114.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H65 zenon_H111).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.56/28.73  apply (zenon_L5_); trivial.
% 28.56/28.73  elim (classic (zenon_TH_ee = (n1))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Haa ].
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H113.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H94.
% 28.56/28.73  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.56/28.73  apply zenon_H170. zenon_intro zenon_H171.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_Hff.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H16e zenon_H171).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H16f. zenon_intro zenon_H172.
% 28.56/28.73  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.73  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.56/28.73  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.56/28.73  exact (zenon_H62 zenon_H172).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.56/28.73  exact (zenon_Ha8 zenon_H94).
% 28.56/28.73  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H113.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H176.
% 28.56/28.73  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  exact (zenon_Haa zenon_Hb3).
% 28.56/28.73  exact (zenon_Haa zenon_Hb3).
% 28.56/28.73  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.56/28.73  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.73  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.73  generalize (zenon_Hc9 (n1)). zenon_intro zenon_H178.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H178); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H179 ].
% 28.56/28.73  exact (zenon_Ha8 zenon_H94).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H179); [ zenon_intro zenon_H13f | zenon_intro zenon_H17a ].
% 28.56/28.73  exact (zenon_H13f zenon_H177).
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (n0)) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H113.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H17a.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.56/28.73  apply zenon_H170. zenon_intro zenon_H171.
% 28.56/28.73  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.56/28.73  apply zenon_H16f. zenon_intro zenon_H172.
% 28.56/28.73  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.73  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.56/28.73  generalize (zenon_H173 (n1)). zenon_intro zenon_H17b.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H17b); [ zenon_intro zenon_H62 | zenon_intro zenon_H17c ].
% 28.56/28.73  exact (zenon_H62 zenon_H172).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H17c); [ zenon_intro zenon_H17d | zenon_intro zenon_H112 ].
% 28.56/28.73  exact (zenon_H17d zenon_H17a).
% 28.56/28.73  exact (zenon_H113 zenon_H112).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  apply (zenon_L49_ zenon_TH_ee); trivial.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L50_ *)
% 28.56/28.73  assert (zenon_L51_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hdd zenon_H72 zenon_H129 zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_Hdf. zenon_intro zenon_H180.
% 28.56/28.73  apply (zenon_L42_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H129.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_3_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H183 | zenon_intro zenon_H182 ].
% 28.56/28.73  apply zenon_H183. zenon_intro zenon_Hfd.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H181.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H182. zenon_intro zenon_H184.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n3)). zenon_intro zenon_H185.
% 28.56/28.73  generalize (zenon_H185 (n1)). zenon_intro zenon_H186.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H186); [ zenon_intro zenon_H180 | zenon_intro zenon_H187 ].
% 28.56/28.73  exact (zenon_H180 zenon_H184).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H187); [ zenon_intro zenon_H16b | zenon_intro zenon_H12b ].
% 28.56/28.73  exact (zenon_H16b gt_3_1).
% 28.56/28.73  exact (zenon_H129 zenon_H12b).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L51_ *)
% 28.56/28.73  assert (zenon_L52_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(gt (tptp_minus_1) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f zenon_H106 zenon_H72.
% 28.56/28.73  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.73  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H12b | zenon_intro zenon_H129 ].
% 28.56/28.73  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H106.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H12b.
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  exact (zenon_H65 zenon_H111).
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_Hdf. zenon_intro zenon_H180.
% 28.56/28.73  apply (zenon_L46_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H129.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_3_1.
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H183 | zenon_intro zenon_H182 ].
% 28.56/28.73  apply zenon_H183. zenon_intro zenon_Hfd.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H181.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H182. zenon_intro zenon_H184.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n3)). zenon_intro zenon_H185.
% 28.56/28.73  generalize (zenon_H185 (n1)). zenon_intro zenon_H186.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H186); [ zenon_intro zenon_H180 | zenon_intro zenon_H187 ].
% 28.56/28.73  exact (zenon_H180 zenon_H184).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H187); [ zenon_intro zenon_H16b | zenon_intro zenon_H12b ].
% 28.56/28.73  exact (zenon_H16b gt_3_1).
% 28.56/28.73  exact (zenon_H129 zenon_H12b).
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L52_ *)
% 28.56/28.73  assert (zenon_L53_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H116 zenon_H6a zenon_H94 zenon_Hab zenon_Hac.
% 28.56/28.73  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.73  cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H116.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H135.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  congruence.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.73  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.73  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H136.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H134.
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H5e. apply refl_equal.
% 28.56/28.73  exact (zenon_H65 zenon_H111).
% 28.56/28.73  apply (zenon_L50_ zenon_TH_ee); trivial.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L53_ *)
% 28.56/28.73  assert (zenon_L54_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt (tptp_minus_1) (succ (n0)))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_H106 zenon_H101 zenon_H72.
% 28.56/28.73  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.73  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H101.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H17a.
% 28.56/28.73  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  exact (zenon_H65 zenon_H111).
% 28.56/28.73  elim (classic (zenon_TH_ee = (n1))); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Haa ].
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H17d.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H94.
% 28.56/28.73  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.73  congruence.
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  exact (zenon_Haa zenon_Hb3).
% 28.56/28.73  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.56/28.73  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.73  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.73  generalize (zenon_Hc9 (n1)). zenon_intro zenon_H178.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H178); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H179 ].
% 28.56/28.73  exact (zenon_Ha8 zenon_H94).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H179); [ zenon_intro zenon_H13f | zenon_intro zenon_H17a ].
% 28.56/28.73  exact (zenon_H13f zenon_H177).
% 28.56/28.73  exact (zenon_H17d zenon_H17a).
% 28.56/28.73  apply (zenon_L52_ zenon_TH_ee); trivial.
% 28.56/28.73  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.73  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H65.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H66.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H68 successor_1).
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L54_ *)
% 28.56/28.73  assert (zenon_L55_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H72 zenon_H108 zenon_H6a zenon_H94 zenon_Hab zenon_Hac.
% 28.56/28.73  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.73  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.73  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.73  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.73  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.73  exact (zenon_H106 zenon_H10b).
% 28.56/28.73  exact (zenon_H108 zenon_H107).
% 28.56/28.73  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.73  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.73  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H108.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H105.
% 28.56/28.73  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.73  congruence.
% 28.56/28.73  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.73  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_Hba.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hc1.
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_H61 zenon_H60).
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  apply zenon_H67. apply refl_equal.
% 28.56/28.73  apply (zenon_L54_ zenon_TH_ee); trivial.
% 28.56/28.73  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H61.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hb9.
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.73  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  apply zenon_H64. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L55_ *)
% 28.56/28.73  assert (zenon_L56_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_Hdf zenon_H13f zenon_H72 zenon_H188 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H150 | zenon_intro zenon_H151 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H150). zenon_intro zenon_Hde. zenon_intro zenon_H152.
% 28.56/28.73  apply (zenon_L38_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n2) (n0)) = (gt (tptp_minus_1) (n0))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H188.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_2_0.
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H153].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H151); [ zenon_intro zenon_H155 | zenon_intro zenon_H154 ].
% 28.56/28.73  apply zenon_H155. zenon_intro zenon_Hfe.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H153.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hde].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hde zenon_Hfe).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H154. zenon_intro zenon_H156.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n2)). zenon_intro zenon_H158.
% 28.56/28.73  generalize (zenon_H158 (n0)). zenon_intro zenon_H189.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H189); [ zenon_intro zenon_H152 | zenon_intro zenon_H18a ].
% 28.56/28.73  exact (zenon_H152 zenon_H156).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H18a); [ zenon_intro zenon_H18c | zenon_intro zenon_H18b ].
% 28.56/28.73  exact (zenon_H18c gt_2_0).
% 28.56/28.73  exact (zenon_H188 zenon_H18b).
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L56_ *)
% 28.56/28.73  assert (zenon_L57_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H13f zenon_H72 zenon_H188 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.73  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_Hdf. zenon_intro zenon_H180.
% 28.56/28.73  apply (zenon_L56_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H188.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_3_0.
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H183 | zenon_intro zenon_H182 ].
% 28.56/28.73  apply zenon_H183. zenon_intro zenon_Hfd.
% 28.56/28.73  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H181.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_H10a.
% 28.56/28.73  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.73  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_Hdb. apply refl_equal.
% 28.56/28.73  apply zenon_H182. zenon_intro zenon_H184.
% 28.56/28.73  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.73  generalize (zenon_H157 (n3)). zenon_intro zenon_H185.
% 28.56/28.73  generalize (zenon_H185 (n0)). zenon_intro zenon_H18d.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H18d); [ zenon_intro zenon_H180 | zenon_intro zenon_H18e ].
% 28.56/28.73  exact (zenon_H180 zenon_H184).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H18e); [ zenon_intro zenon_H18f | zenon_intro zenon_H18b ].
% 28.56/28.73  exact (zenon_H18f gt_3_0).
% 28.56/28.73  exact (zenon_H188 zenon_H18b).
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.73  (* end of lemma zenon_L57_ *)
% 28.56/28.73  assert (zenon_L58_ : forall (zenon_TH_ee : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.56/28.73  do 1 intro. intros zenon_H188 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72 zenon_Hc2.
% 28.56/28.73  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.56/28.73  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.56/28.73  apply (zenon_L57_ zenon_TH_ee); trivial.
% 28.56/28.73  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_Hc2.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact gt_1_0.
% 28.56/28.73  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.73  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.56/28.73  congruence.
% 28.56/28.73  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.56/28.73  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.56/28.73  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.73  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.56/28.73  intro zenon_D_pnotp.
% 28.56/28.73  apply zenon_H192.
% 28.56/28.73  rewrite <- zenon_D_pnotp.
% 28.56/28.73  exact zenon_Hc0.
% 28.56/28.73  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.73  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.73  congruence.
% 28.56/28.73  exact (zenon_Haa zenon_Hb3).
% 28.56/28.73  apply zenon_H9e. apply refl_equal.
% 28.56/28.73  apply zenon_H9e. apply refl_equal.
% 28.56/28.73  apply zenon_H193. zenon_intro zenon_H177.
% 28.56/28.73  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.73  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.56/28.73  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.56/28.73  exact (zenon_H13f zenon_H177).
% 28.56/28.73  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.56/28.73  exact (zenon_H133 gt_1_0).
% 28.56/28.73  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.73  apply zenon_H69. apply refl_equal.
% 28.56/28.74  (* end of lemma zenon_L58_ *)
% 28.56/28.74  assert (zenon_L59_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H72 zenon_Hc4 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H188.
% 28.56/28.74  elim (classic (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ].
% 28.56/28.74  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.74  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.74  generalize (zenon_Hc9 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hca.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_Hca); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hcb ].
% 28.56/28.74  exact (zenon_Ha8 zenon_H94).
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_Hcb); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hcc ].
% 28.56/28.74  exact (zenon_Hc7 zenon_Hc6).
% 28.56/28.74  exact (zenon_Hc4 zenon_Hcc).
% 28.56/28.74  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.74  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.74  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hc7.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hcf.
% 28.56/28.74  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.74  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.74  congruence.
% 28.56/28.74  apply zenon_H9e. apply refl_equal.
% 28.56/28.74  exact (zenon_Hce zenon_Hcd).
% 28.56/28.74  apply (zenon_L58_ zenon_TH_ee); trivial.
% 28.56/28.74  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hce.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd0.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  (* end of lemma zenon_L59_ *)
% 28.56/28.74  assert (zenon_L60_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (sum (n0) (tptp_minus_1) zenon_E))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H188 zenon_Hd5 zenon_H72.
% 28.56/28.74  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.74  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hc4 ].
% 28.56/28.74  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd5.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hcc.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.74  congruence.
% 28.56/28.74  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.74  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hba.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hc1.
% 28.56/28.74  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.74  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_H61 zenon_H60).
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply (zenon_L59_ zenon_TH_ee); trivial.
% 28.56/28.74  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.74  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H61.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hb9.
% 28.56/28.74  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.74  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.74  apply zenon_H64. apply refl_equal.
% 28.56/28.74  apply zenon_H64. apply refl_equal.
% 28.56/28.74  (* end of lemma zenon_L60_ *)
% 28.56/28.74  assert (zenon_L61_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H188.
% 28.56/28.74  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.74  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd3.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd4.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.74  congruence.
% 28.56/28.74  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hce.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd0.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply (zenon_L60_ zenon_TH_ee); trivial.
% 28.56/28.74  (* end of lemma zenon_L61_ *)
% 28.56/28.74  assert (zenon_L62_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H72 zenon_H198 zenon_H188 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.74  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H199 | zenon_intro zenon_H19a ].
% 28.56/28.74  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H198.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_H199.
% 28.56/28.74  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  congruence.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  exact (zenon_H68 successor_1).
% 28.56/28.74  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hd3 ].
% 28.56/28.74  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.74  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.74  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.74  generalize (zenon_H19b (n0)). zenon_intro zenon_H19c.
% 28.56/28.74  generalize (zenon_H19c (succ (n0))). zenon_intro zenon_H19d.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H19d); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H19e ].
% 28.56/28.74  exact (zenon_Hd8 zenon_Hd7).
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H19e); [ zenon_intro zenon_H108 | zenon_intro zenon_H199 ].
% 28.56/28.74  exact (zenon_H108 zenon_H107).
% 28.56/28.74  exact (zenon_H19a zenon_H199).
% 28.56/28.74  apply (zenon_L55_ zenon_TH_ee); trivial.
% 28.56/28.74  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd8.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd9.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  congruence.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.74  apply (zenon_L61_ zenon_TH_ee); trivial.
% 28.56/28.74  (* end of lemma zenon_L62_ *)
% 28.56/28.74  assert (zenon_L63_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H188 zenon_H72 zenon_Hd8.
% 28.56/28.74  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ].
% 28.56/28.74  apply (zenon_and_s _ _ zenon_H19f). zenon_intro zenon_H1a1. zenon_intro zenon_H198.
% 28.56/28.74  apply (zenon_L62_ zenon_TH_ee); trivial.
% 28.56/28.74  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd8.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact gt_1_0.
% 28.56/28.74  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.74  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a2].
% 28.56/28.74  congruence.
% 28.56/28.74  apply (zenon_notand_s _ _ zenon_H1a0); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a3 ].
% 28.56/28.74  apply zenon_H1a4. zenon_intro zenon_H1a5.
% 28.56/28.74  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H1a2.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd0.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_H1a1 zenon_H1a5).
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_H1a3. zenon_intro zenon_H1a6.
% 28.56/28.74  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.74  generalize (zenon_H19b (n1)). zenon_intro zenon_H1a7.
% 28.56/28.74  generalize (zenon_H1a7 (n0)). zenon_intro zenon_H1a8.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1a8); [ zenon_intro zenon_H198 | zenon_intro zenon_H1a9 ].
% 28.56/28.74  exact (zenon_H198 zenon_H1a6).
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1a9); [ zenon_intro zenon_H133 | zenon_intro zenon_Hd7 ].
% 28.56/28.74  exact (zenon_H133 gt_1_0).
% 28.56/28.74  exact (zenon_Hd8 zenon_Hd7).
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  (* end of lemma zenon_L63_ *)
% 28.56/28.74  assert (zenon_L64_ : forall (zenon_TH_ee : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H188 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72 zenon_Hd6 zenon_Hc5.
% 28.56/28.74  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.74  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.74  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd6.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd7.
% 28.56/28.74  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.74  congruence.
% 28.56/28.74  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.74  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hd2.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hc1.
% 28.56/28.74  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.74  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hce zenon_Hcd).
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  apply zenon_H69. apply refl_equal.
% 28.56/28.74  apply (zenon_L63_ zenon_TH_ee); trivial.
% 28.56/28.74  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_Hce.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_Hd0.
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.74  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  apply zenon_Hd1. apply refl_equal.
% 28.56/28.74  (* end of lemma zenon_L64_ *)
% 28.56/28.74  assert (zenon_L65_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H72 zenon_Hd6 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.74  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18b | zenon_intro zenon_H188 ].
% 28.56/28.74  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.74  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.74  generalize (zenon_H10d (n0)). zenon_intro zenon_H1aa.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1aa); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H1ab ].
% 28.56/28.74  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1ab); [ zenon_intro zenon_H188 | zenon_intro zenon_H1ac ].
% 28.56/28.74  exact (zenon_H188 zenon_H18b).
% 28.56/28.74  exact (zenon_Hd6 zenon_H1ac).
% 28.56/28.74  apply (zenon_L64_ zenon_TH_ee); trivial.
% 28.56/28.74  (* end of lemma zenon_L65_ *)
% 28.56/28.74  assert (zenon_L66_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(leq (tptp_minus_1) (n0))) -> False).
% 28.56/28.74  do 0 intro. intros zenon_H72 zenon_H1ad.
% 28.56/28.74  generalize (leq_succ_gt_equiv (tptp_minus_1)). zenon_intro zenon_He7.
% 28.56/28.74  generalize (zenon_He7 (n0)). zenon_intro zenon_H1ae.
% 28.56/28.74  apply (zenon_equiv_s _ _ zenon_H1ae); [ zenon_intro zenon_H1ad; zenon_intro zenon_H1b1 | zenon_intro zenon_H1b0; zenon_intro zenon_H1af ].
% 28.56/28.74  elim (classic ((~((succ (n0)) = (n1)))/\(~(gt (succ (n0)) (n1))))); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H1b3 ].
% 28.56/28.74  apply (zenon_and_s _ _ zenon_H1b2). zenon_intro zenon_H68. zenon_intro zenon_H113.
% 28.56/28.74  exact (zenon_H68 successor_1).
% 28.56/28.74  cut ((gt (n1) (tptp_minus_1)) = (gt (succ (n0)) (tptp_minus_1))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H1b1.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact gt_1_tptp_minus_1.
% 28.56/28.74  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.74  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.74  congruence.
% 28.56/28.74  apply (zenon_notand_s _ _ zenon_H1b3); [ zenon_intro zenon_H1b5 | zenon_intro zenon_H1b4 ].
% 28.56/28.74  apply zenon_H1b5. zenon_intro successor_1.
% 28.56/28.74  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.74  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H65.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_H66.
% 28.56/28.74  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.74  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_H68 successor_1).
% 28.56/28.74  apply zenon_H67. apply refl_equal.
% 28.56/28.74  apply zenon_H67. apply refl_equal.
% 28.56/28.74  apply zenon_H1b4. zenon_intro zenon_H112.
% 28.56/28.74  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.74  generalize (zenon_H124 (n1)). zenon_intro zenon_H1b6.
% 28.56/28.74  generalize (zenon_H1b6 (tptp_minus_1)). zenon_intro zenon_H1b7.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1b7); [ zenon_intro zenon_H113 | zenon_intro zenon_H1b8 ].
% 28.56/28.74  exact (zenon_H113 zenon_H112).
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1b8); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1af ].
% 28.56/28.74  exact (zenon_H1b9 gt_1_tptp_minus_1).
% 28.56/28.74  exact (zenon_H1b1 zenon_H1af).
% 28.56/28.74  apply zenon_Hdb. apply refl_equal.
% 28.56/28.74  exact (zenon_H1ad zenon_H1b0).
% 28.56/28.74  (* end of lemma zenon_L66_ *)
% 28.56/28.74  assert (zenon_L67_ : (~((succ (tptp_minus_1)) = (succ (n0)))) -> ((tptp_minus_1) = (n0)) -> False).
% 28.56/28.74  do 0 intro. intros zenon_Hff zenon_Hfa.
% 28.56/28.74  cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hdc].
% 28.56/28.74  congruence.
% 28.56/28.74  exact (zenon_Hdc zenon_Hfa).
% 28.56/28.74  (* end of lemma zenon_L67_ *)
% 28.56/28.74  assert (zenon_L68_ : forall (zenon_TH_ee : zenon_U), ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(leq zenon_TH_ee (n0))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_Hfa zenon_H94 zenon_H1ba.
% 28.56/28.74  generalize (leq_succ_gt_equiv zenon_TH_ee). zenon_intro zenon_H96.
% 28.56/28.74  generalize (zenon_H96 (n0)). zenon_intro zenon_H1bb.
% 28.56/28.74  apply (zenon_equiv_s _ _ zenon_H1bb); [ zenon_intro zenon_H1ba; zenon_intro zenon_H1bd | zenon_intro zenon_H1bc; zenon_intro zenon_H176 ].
% 28.56/28.74  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) zenon_TH_ee)).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H1bd.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_H94.
% 28.56/28.74  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.74  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.74  congruence.
% 28.56/28.74  apply (zenon_L67_); trivial.
% 28.56/28.74  apply zenon_H9e. apply refl_equal.
% 28.56/28.74  exact (zenon_H1ba zenon_H1bc).
% 28.56/28.74  (* end of lemma zenon_L68_ *)
% 28.56/28.74  assert (zenon_L69_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~((n0) = zenon_TH_ee)) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H6a zenon_Hfa zenon_H94 zenon_Hbf.
% 28.56/28.74  generalize (finite_domain_0 zenon_TH_ee). zenon_intro zenon_H1be.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_H1be); [ zenon_intro zenon_H1bf | zenon_intro zenon_Hb1 ].
% 28.56/28.74  apply (zenon_notand_s _ _ zenon_H1bf); [ zenon_intro zenon_H6b | zenon_intro zenon_H1ba ].
% 28.56/28.74  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.56/28.74  apply (zenon_L68_ zenon_TH_ee); trivial.
% 28.56/28.74  apply zenon_Hbf. apply sym_equal. exact zenon_Hb1.
% 28.56/28.74  (* end of lemma zenon_L69_ *)
% 28.56/28.74  assert (zenon_L70_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n1) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.74  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_H1c0 zenon_H72.
% 28.56/28.74  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.74  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.74  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.74  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TH_ee))).
% 28.56/28.74  intro zenon_D_pnotp.
% 28.56/28.74  apply zenon_H1c0.
% 28.56/28.74  rewrite <- zenon_D_pnotp.
% 28.56/28.74  exact zenon_H135.
% 28.56/28.74  cut (((succ (n0)) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 28.56/28.74  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.74  congruence.
% 28.56/28.74  apply zenon_H5e. apply refl_equal.
% 28.56/28.74  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.56/28.74  congruence.
% 28.56/28.74  generalize (finite_domain_3 zenon_TH_ee). zenon_intro zenon_Had.
% 28.56/28.74  apply (zenon_imply_s _ _ zenon_Had); [ zenon_intro zenon_Haf | zenon_intro zenon_Hae ].
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_Haf); [ zenon_intro zenon_H6b | zenon_intro zenon_H95 ].
% 28.56/28.75  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.56/28.75  apply (zenon_L13_ zenon_TH_ee); trivial.
% 28.56/28.75  apply (zenon_or_s _ _ zenon_Hae); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb0 ].
% 28.56/28.75  apply zenon_Hbf. apply sym_equal. exact zenon_Hb1.
% 28.56/28.75  apply (zenon_or_s _ _ zenon_Hb0); [ zenon_intro zenon_Hb3 | zenon_intro zenon_Hb2 ].
% 28.56/28.75  generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1c1.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c2 | zenon_intro zenon_Hfa ].
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H1c2); [ zenon_intro zenon_He4 | zenon_intro zenon_H1ad ].
% 28.56/28.75  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.56/28.75  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.56/28.75  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.56/28.75  elim (classic ((~((succ (tptp_minus_1)) = (n1)))/\(~(gt (succ (tptp_minus_1)) (n1))))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H1c3). zenon_intro zenon_H1c5. zenon_intro zenon_H17d.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H17d.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H94.
% 28.56/28.75  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_Haa zenon_Hb3).
% 28.56/28.75  cut ((gt (n1) (n0)) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hb6.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_1_0.
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  cut (((n1) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1c6].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H1c4); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1c7 ].
% 28.56/28.75  apply zenon_H1c8. zenon_intro zenon_H1c9.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n1) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1c6.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1c5].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1c5 zenon_H1c9).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H1c7. zenon_intro zenon_H17a.
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.56/28.75  generalize (zenon_H1ca (n0)). zenon_intro zenon_H1cb.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1cb); [ zenon_intro zenon_H17d | zenon_intro zenon_H1cc ].
% 28.56/28.75  exact (zenon_H17d zenon_H17a).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1cc); [ zenon_intro zenon_H133 | zenon_intro zenon_Hb8 ].
% 28.56/28.75  exact (zenon_H133 gt_1_0).
% 28.56/28.75  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  exact (zenon_He4 zenon_He6).
% 28.56/28.75  apply (zenon_L66_); trivial.
% 28.56/28.75  apply (zenon_L69_ zenon_TH_ee); trivial.
% 28.56/28.75  apply (zenon_or_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb4 ].
% 28.56/28.75  exact (zenon_Hab zenon_Hb5).
% 28.56/28.75  exact (zenon_Hac zenon_Hb4).
% 28.56/28.75  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H136.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H134.
% 28.56/28.75  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.75  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H5e. apply refl_equal.
% 28.56/28.75  exact (zenon_H65 zenon_H111).
% 28.56/28.75  apply (zenon_L50_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.75  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H65.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H66.
% 28.56/28.75  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.75  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H68 successor_1).
% 28.56/28.75  apply zenon_H67. apply refl_equal.
% 28.56/28.75  apply zenon_H67. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L70_ *)
% 28.56/28.75  assert (zenon_L71_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H108 zenon_H101 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.75  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.75  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.75  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.75  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.75  exact (zenon_H106 zenon_H10b).
% 28.56/28.75  exact (zenon_H108 zenon_H107).
% 28.56/28.75  apply (zenon_L54_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L71_ *)
% 28.56/28.75  assert (zenon_L72_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_H101.
% 28.56/28.75  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.75  cut ((gt (n0) (succ (n0))) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H101.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H107.
% 28.56/28.75  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H67. apply refl_equal.
% 28.56/28.75  apply (zenon_L71_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L72_ *)
% 28.56/28.75  assert (zenon_L73_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H1cd zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.56/28.75  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.56/28.75  generalize (zenon_H1ca (succ zenon_TH_ee)). zenon_intro zenon_H1cf.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1cf); [ zenon_intro zenon_H17d | zenon_intro zenon_H1d0 ].
% 28.56/28.75  exact (zenon_H17d zenon_H17a).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1d0); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H1d1 ].
% 28.56/28.75  exact (zenon_H1c0 zenon_H1ce).
% 28.56/28.75  exact (zenon_H1cd zenon_H1d1).
% 28.56/28.75  apply (zenon_L70_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H17d.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H105.
% 28.56/28.75  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_H68 successor_1).
% 28.56/28.75  apply (zenon_L72_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L73_ *)
% 28.56/28.75  assert (zenon_L74_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_Hdf zenon_H13f zenon_H1d2 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.75  elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H142 | zenon_intro zenon_H140 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.75  generalize (zenon_H138 (n2)). zenon_intro zenon_H1d3.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1d3); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H1d4 ].
% 28.56/28.75  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1d4); [ zenon_intro zenon_H140 | zenon_intro zenon_H1d5 ].
% 28.56/28.75  exact (zenon_H140 zenon_H142).
% 28.56/28.75  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.75  apply (zenon_L39_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hb6.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hbc.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L74_ *)
% 28.56/28.75  assert (zenon_L75_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hdf zenon_H1d2 zenon_H72 zenon_Hc2.
% 28.56/28.75  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.56/28.75  apply (zenon_L74_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hc2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_1_0.
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.56/28.75  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.56/28.75  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H192.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hc0.
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Haa zenon_Hb3).
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H193. zenon_intro zenon_H177.
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.56/28.75  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.56/28.75  exact (zenon_H13f zenon_H177).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.56/28.75  exact (zenon_H133 gt_1_0).
% 28.56/28.75  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L75_ *)
% 28.56/28.75  assert (zenon_L76_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_Hc4 zenon_H1d2 zenon_Hc5 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.75  generalize (zenon_Hc9 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hca.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_Hca); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hcb ].
% 28.56/28.75  exact (zenon_Ha8 zenon_H94).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_Hcb); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hcc ].
% 28.56/28.75  exact (zenon_Hc7 zenon_Hc6).
% 28.56/28.75  exact (zenon_Hc4 zenon_Hcc).
% 28.56/28.75  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.75  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hc7.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hcf.
% 28.56/28.75  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  exact (zenon_Hce zenon_Hcd).
% 28.56/28.75  apply (zenon_L75_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hce.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd0.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L76_ *)
% 28.56/28.75  assert (zenon_L77_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_H1d2 zenon_Hc5 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.75  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hd3.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd4.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hce.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd0.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hc4 ].
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hd5.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hcc.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.75  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hba.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hc1.
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  apply (zenon_L76_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L77_ *)
% 28.56/28.75  assert (zenon_L78_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (n2))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_Hd8 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hdf zenon_Hc5 zenon_H1d2.
% 28.56/28.75  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hd3 ].
% 28.56/28.75  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hd8.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd9.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.75  apply (zenon_L77_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L78_ *)
% 28.56/28.75  assert (zenon_L79_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H1d6 zenon_H1d2 zenon_Hdf zenon_H72 zenon_Hc5.
% 28.56/28.75  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.75  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.56/28.75  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.75  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TH_ee))); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1d8 ].
% 28.56/28.75  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.75  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.56/28.75  generalize (zenon_H1d9 (succ zenon_TH_ee)). zenon_intro zenon_H1da.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1da); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H1db ].
% 28.56/28.75  exact (zenon_Hd5 zenon_Hd4).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1db); [ zenon_intro zenon_H1d8 | zenon_intro zenon_H1dc ].
% 28.56/28.75  exact (zenon_H1d8 zenon_H1d7).
% 28.56/28.75  exact (zenon_H1d6 zenon_H1dc).
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.75  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1de ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TH_ee))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1cd ].
% 28.56/28.75  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.75  generalize (zenon_H19b (succ (tptp_minus_1))). zenon_intro zenon_H1df.
% 28.56/28.75  generalize (zenon_H1df (succ zenon_TH_ee)). zenon_intro zenon_H1e0.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1e0); [ zenon_intro zenon_H1de | zenon_intro zenon_H1e1 ].
% 28.56/28.75  exact (zenon_H1de zenon_H1dd).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1e1); [ zenon_intro zenon_H1cd | zenon_intro zenon_H1d7 ].
% 28.56/28.75  exact (zenon_H1cd zenon_H1d1).
% 28.56/28.75  exact (zenon_H1d8 zenon_H1d7).
% 28.56/28.75  apply (zenon_L73_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1de.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd7.
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  apply (zenon_L78_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hd5.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1ac.
% 28.56/28.75  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  exact (zenon_Hce zenon_Hcd).
% 28.56/28.75  apply (zenon_L65_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hce.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hd0.
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.75  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  apply zenon_Hd1. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L79_ *)
% 28.56/28.75  assert (zenon_L80_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6 zenon_H1e2 zenon_H72.
% 28.56/28.75  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1d5.
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_H1e4 zenon_H1e3).
% 28.56/28.75  apply (zenon_L79_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e4.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1e5.
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L80_ *)
% 28.56/28.75  assert (zenon_L81_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H1e8 zenon_H1d6 zenon_Hdf zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72.
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H5f ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.56/28.75  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.75  generalize (zenon_H12f (succ (tptp_minus_1))). zenon_intro zenon_H1ea.
% 28.56/28.75  generalize (zenon_H1ea (succ (succ (n0)))). zenon_intro zenon_H1eb.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H5f | zenon_intro zenon_H1ec ].
% 28.56/28.75  exact (zenon_H5f zenon_H63).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1ed ].
% 28.56/28.75  exact (zenon_H1e2 zenon_H1e9).
% 28.56/28.75  exact (zenon_H1e8 zenon_H1ed).
% 28.56/28.75  apply (zenon_L80_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H5f.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_1_0.
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H5e. apply refl_equal.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L81_ *)
% 28.56/28.75  assert (zenon_L82_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (tptp_minus_1)))) -> False).
% 28.56/28.75  do 0 intro. intros zenon_H72 zenon_H1ee.
% 28.56/28.75  elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H79 | zenon_intro zenon_H73 ].
% 28.56/28.75  cut ((gt (n2) (succ (tptp_minus_1))) = (gt (succ (succ (n0))) (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1ee.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H79.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e4.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1e5.
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply (zenon_L9_); trivial.
% 28.56/28.75  (* end of lemma zenon_L82_ *)
% 28.56/28.75  assert (zenon_L83_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hdf zenon_H100 zenon_H72.
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.75  generalize (zenon_H13c (succ (n0))). zenon_intro zenon_H13d.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_Hbb | zenon_intro zenon_H13e ].
% 28.56/28.75  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H101 | zenon_intro zenon_H102 ].
% 28.56/28.75  exact (zenon_H101 zenon_H105).
% 28.56/28.75  exact (zenon_H100 zenon_H102).
% 28.56/28.75  apply (zenon_L72_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hbb.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hcf.
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.56/28.75  apply (zenon_L45_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hc2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_1_0.
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.56/28.75  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.56/28.75  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H192.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hc0.
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Haa zenon_Hb3).
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H193. zenon_intro zenon_H177.
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.56/28.75  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.56/28.75  exact (zenon_H13f zenon_H177).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.56/28.75  exact (zenon_H133 gt_1_0).
% 28.56/28.75  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L83_ *)
% 28.56/28.75  assert (zenon_L84_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H1ef zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.56/28.75  apply (zenon_L82_); trivial.
% 28.56/28.75  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.75  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.56/28.75  exact (zenon_Ha8 zenon_H94).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.56/28.75  exact (zenon_H100 zenon_H102).
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1ef.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H105.
% 28.56/28.75  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.56/28.75  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.56/28.75  apply zenon_H1f3. apply sym_equal. exact zenon_H1f6.
% 28.56/28.75  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.56/28.75  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.75  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.56/28.75  generalize (zenon_H1f9 (succ (n0))). zenon_intro zenon_H1fa.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1fa); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1fb ].
% 28.56/28.75  exact (zenon_H1ee zenon_H1f7).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H1fb); [ zenon_intro zenon_H101 | zenon_intro zenon_H1fc ].
% 28.56/28.75  exact (zenon_H101 zenon_H105).
% 28.56/28.75  exact (zenon_H1ef zenon_H1fc).
% 28.56/28.75  apply zenon_H67. apply refl_equal.
% 28.56/28.75  apply (zenon_L83_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L84_ *)
% 28.56/28.75  assert (zenon_L85_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H1d6 zenon_Hdf zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72 zenon_H1fd.
% 28.56/28.75  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.56/28.75  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ].
% 28.56/28.75  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1fd.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1fe.
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.56/28.75  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e7.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H200.
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e4 zenon_H1e3).
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H202 ].
% 28.56/28.75  cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1ff.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H201.
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.56/28.75  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.56/28.75  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1e8 ].
% 28.56/28.75  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.75  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.56/28.75  generalize (zenon_H205 (succ (succ (n0)))). zenon_intro zenon_H206.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H206); [ zenon_intro zenon_H204 | zenon_intro zenon_H207 ].
% 28.56/28.75  exact (zenon_H204 zenon_H203).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H207); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H201 ].
% 28.56/28.75  exact (zenon_H1e8 zenon_H1ed).
% 28.56/28.75  exact (zenon_H202 zenon_H201).
% 28.56/28.75  apply (zenon_L81_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H204.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1fc.
% 28.56/28.75  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  exact (zenon_H68 successor_1).
% 28.56/28.75  apply (zenon_L84_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e4.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1e5.
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L85_ *)
% 28.56/28.75  assert (zenon_L86_ : (~(gt (n3) (succ (succ (n0))))) -> False).
% 28.56/28.75  do 0 intro. intros zenon_H208.
% 28.56/28.75  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.56/28.75  cut ((gt (n3) (n2)) = (gt (n3) (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H208.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_3_2.
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H5c. apply refl_equal.
% 28.56/28.75  exact (zenon_H1e4 zenon_H1e3).
% 28.56/28.75  apply zenon_H1e4. apply sym_equal. exact successor_2.
% 28.56/28.75  (* end of lemma zenon_L86_ *)
% 28.56/28.75  assert (zenon_L87_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H209 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f.
% 28.56/28.75  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.56/28.75  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.75  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.75  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.56/28.75  exact (zenon_H78 gt_2_1).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.56/28.75  exact (zenon_H15c zenon_H160).
% 28.56/28.75  exact (zenon_H209 zenon_H20c).
% 28.56/28.75  apply (zenon_L48_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L87_ *)
% 28.56/28.75  assert (zenon_L88_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(gt (n2) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f zenon_H20d zenon_H72.
% 28.56/28.75  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.56/28.75  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.56/28.75  cut ((gt (n2) (n3)) = (gt (n2) (succ (succ (succ (n0)))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H20d.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H20c.
% 28.56/28.75  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  exact (zenon_H8f zenon_H20e).
% 28.56/28.75  apply (zenon_L87_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.56/28.75  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H8f.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H20f.
% 28.56/28.75  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.56/28.75  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H211 successor_3).
% 28.56/28.75  apply zenon_H210. apply refl_equal.
% 28.56/28.75  apply zenon_H210. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L88_ *)
% 28.56/28.75  assert (zenon_L89_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H212 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f.
% 28.56/28.75  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H213 | zenon_intro zenon_H20d ].
% 28.56/28.75  cut ((gt (n2) (succ (succ (succ (n0))))) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H212.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H213.
% 28.56/28.75  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  congruence.
% 28.56/28.75  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e4.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1e5.
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H210. apply refl_equal.
% 28.56/28.75  apply (zenon_L88_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L89_ *)
% 28.56/28.75  assert (zenon_L90_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f zenon_H72 zenon_H1fd.
% 28.56/28.75  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.56/28.75  apply (zenon_L87_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1fd.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_3_2.
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.56/28.75  apply zenon_H219. zenon_intro zenon_H21a.
% 28.56/28.75  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.56/28.75  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H217.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H200.
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H216 zenon_H21a).
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  apply zenon_H218. zenon_intro zenon_H20c.
% 28.56/28.75  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.75  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.56/28.75  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.56/28.75  exact (zenon_H209 zenon_H20c).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.56/28.75  exact (zenon_H7f gt_3_2).
% 28.56/28.75  exact (zenon_H1fd zenon_H21e).
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L90_ *)
% 28.56/28.75  assert (zenon_L91_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (n1))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac zenon_H13f zenon_H21f zenon_H72.
% 28.56/28.75  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.56/28.75  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (succ (succ (n0)))). zenon_intro zenon_H221.
% 28.56/28.75  generalize (zenon_H221 (succ (succ (succ (n0))))). zenon_intro zenon_H222.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H222); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H223 ].
% 28.56/28.75  exact (zenon_H1e2 zenon_H1e9).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H223); [ zenon_intro zenon_H212 | zenon_intro zenon_H224 ].
% 28.56/28.75  exact (zenon_H212 zenon_H220).
% 28.56/28.75  exact (zenon_H21f zenon_H224).
% 28.56/28.75  apply (zenon_L89_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1d5.
% 28.56/28.75  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_H1e4 zenon_H1e3).
% 28.56/28.75  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.75  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.75  generalize (zenon_H138 (n3)). zenon_intro zenon_H229.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H229); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H22a ].
% 28.56/28.75  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H15b | zenon_intro zenon_H22b ].
% 28.56/28.75  exact (zenon_H15b zenon_H15d).
% 28.56/28.75  exact (zenon_H227 zenon_H22b).
% 28.56/28.75  apply (zenon_L47_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hb6.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hbc.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1d2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_3_2.
% 28.56/28.75  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.75  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.56/28.75  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H22c.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H228 zenon_H22f).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.56/28.75  generalize (zenon_H230 (n2)). zenon_intro zenon_H231.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H227 | zenon_intro zenon_H232 ].
% 28.56/28.75  exact (zenon_H227 zenon_H22b).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H232); [ zenon_intro zenon_H7f | zenon_intro zenon_H1d5 ].
% 28.56/28.75  exact (zenon_H7f gt_3_2).
% 28.56/28.75  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.75  apply zenon_H5d. apply refl_equal.
% 28.56/28.75  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H1e4.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H1e5.
% 28.56/28.75  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  apply zenon_H1e6. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L91_ *)
% 28.56/28.75  assert (zenon_L92_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H1e2 zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H22b | zenon_intro zenon_H227 ].
% 28.56/28.75  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H233 | zenon_intro zenon_H208 ].
% 28.56/28.75  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.75  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.56/28.75  generalize (zenon_H230 (succ (succ (n0)))). zenon_intro zenon_H234.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H234); [ zenon_intro zenon_H227 | zenon_intro zenon_H235 ].
% 28.56/28.75  exact (zenon_H227 zenon_H22b).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H235); [ zenon_intro zenon_H208 | zenon_intro zenon_H1e9 ].
% 28.56/28.75  exact (zenon_H208 zenon_H233).
% 28.56/28.75  exact (zenon_H1e2 zenon_H1e9).
% 28.56/28.75  apply (zenon_L86_); trivial.
% 28.56/28.75  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (tptp_minus_1)) (n3))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H227.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H224.
% 28.56/28.75  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  exact (zenon_H211 successor_3).
% 28.56/28.75  apply (zenon_L91_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L92_ *)
% 28.56/28.75  assert (zenon_L93_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H236 zenon_H13f zenon_H72.
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.75  generalize (zenon_H13c (succ (succ (n0)))). zenon_intro zenon_H237.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H237); [ zenon_intro zenon_Hbb | zenon_intro zenon_H238 ].
% 28.56/28.75  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H238); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H239 ].
% 28.56/28.75  exact (zenon_H1e2 zenon_H1e9).
% 28.56/28.75  exact (zenon_H236 zenon_H239).
% 28.56/28.75  apply (zenon_L92_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hbb.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hcf.
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L93_ *)
% 28.56/28.75  assert (zenon_L94_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_H236 zenon_H72 zenon_Hc2.
% 28.56/28.75  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.56/28.75  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.56/28.75  apply (zenon_L93_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hc2.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_1_0.
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.56/28.75  congruence.
% 28.56/28.75  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.56/28.75  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.56/28.75  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H192.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hc0.
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Haa zenon_Hb3).
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  apply zenon_H193. zenon_intro zenon_H177.
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.56/28.75  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.56/28.75  exact (zenon_H13f zenon_H177).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.56/28.75  exact (zenon_H133 gt_1_0).
% 28.56/28.75  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L94_ *)
% 28.56/28.75  assert (zenon_L95_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H236 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H1d6 zenon_Hdf zenon_H72.
% 28.56/28.75  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.75  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.75  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.56/28.75  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.75  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.75  generalize (zenon_H13c (succ (succ (n0)))). zenon_intro zenon_H237.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H237); [ zenon_intro zenon_Hbb | zenon_intro zenon_H238 ].
% 28.56/28.75  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H238); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H239 ].
% 28.56/28.75  exact (zenon_H1e2 zenon_H1e9).
% 28.56/28.75  exact (zenon_H236 zenon_H239).
% 28.56/28.75  apply (zenon_L80_ zenon_TH_ee); trivial.
% 28.56/28.75  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_Hbb.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hcf.
% 28.56/28.75  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  exact (zenon_H61 zenon_H60).
% 28.56/28.75  apply (zenon_L94_ zenon_TH_ee); trivial.
% 28.56/28.75  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H61.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_Hb9.
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.75  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.75  congruence.
% 28.56/28.75  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  apply zenon_H64. apply refl_equal.
% 28.56/28.75  (* end of lemma zenon_L95_ *)
% 28.56/28.75  assert (zenon_L96_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H23a zenon_H1d6 zenon_Hdf zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.56/28.75  cut ((gt zenon_TH_ee (succ (succ (n0)))) = (gt zenon_TH_ee (n2))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H23a.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact zenon_H239.
% 28.56/28.75  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.75  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H9e. apply refl_equal.
% 28.56/28.75  exact (zenon_H1e7 successor_2).
% 28.56/28.75  apply (zenon_L95_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L96_ *)
% 28.56/28.75  assert (zenon_L97_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (~(gt zenon_TH_ee (n2))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H15b zenon_H23a zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H1d6.
% 28.56/28.75  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hfd | zenon_intro zenon_Hdf ].
% 28.56/28.75  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 28.56/28.75  intro zenon_D_pnotp.
% 28.56/28.75  apply zenon_H15b.
% 28.56/28.75  rewrite <- zenon_D_pnotp.
% 28.56/28.75  exact gt_0_tptp_minus_1.
% 28.56/28.75  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.75  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.75  congruence.
% 28.56/28.75  apply zenon_H69. apply refl_equal.
% 28.56/28.75  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.75  apply (zenon_L96_ zenon_TH_ee); trivial.
% 28.56/28.75  (* end of lemma zenon_L97_ *)
% 28.56/28.75  assert (zenon_L98_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.75  do 1 intro. intros zenon_H72 zenon_H15c zenon_H1d6 zenon_H23a zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.75  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.56/28.75  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.75  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.56/28.75  generalize (zenon_H130 (n3)). zenon_intro zenon_H15e.
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H15e); [ zenon_intro zenon_H133 | zenon_intro zenon_H15f ].
% 28.56/28.75  exact (zenon_H133 gt_1_0).
% 28.56/28.75  apply (zenon_imply_s _ _ zenon_H15f); [ zenon_intro zenon_H15b | zenon_intro zenon_H160 ].
% 28.56/28.75  exact (zenon_H15b zenon_H15d).
% 28.56/28.75  exact (zenon_H15c zenon_H160).
% 28.56/28.75  apply (zenon_L97_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L98_ *)
% 28.56/28.76  assert (zenon_L99_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (n1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H15c zenon_H72 zenon_H13f.
% 28.56/28.76  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.56/28.76  apply (zenon_L98_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n2) (n1)) = (gt zenon_TH_ee (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H13f.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_2_1.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.56/28.76  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.56/28.76  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H23d.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc0.
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.76  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hab zenon_Hb5).
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  apply zenon_H23e. zenon_intro zenon_H240.
% 28.56/28.76  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.76  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.56/28.76  generalize (zenon_H241 (n1)). zenon_intro zenon_H242.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H23a | zenon_intro zenon_H243 ].
% 28.56/28.76  exact (zenon_H23a zenon_H240).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H243); [ zenon_intro zenon_H78 | zenon_intro zenon_H177 ].
% 28.56/28.76  exact (zenon_H78 gt_2_1).
% 28.56/28.76  exact (zenon_H13f zenon_H177).
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L99_ *)
% 28.56/28.76  assert (zenon_L100_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H15c zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H100 zenon_H72.
% 28.56/28.76  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.76  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.56/28.76  cut ((gt zenon_TH_ee (n1)) = (gt zenon_TH_ee (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H100.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H177.
% 28.56/28.76  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  exact (zenon_H65 zenon_H111).
% 28.56/28.76  apply (zenon_L99_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H65.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H66.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H68 successor_1).
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L100_ *)
% 28.56/28.76  assert (zenon_L101_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H101 zenon_H15c zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.76  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.76  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.56/28.76  exact (zenon_Ha8 zenon_H94).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.56/28.76  exact (zenon_H100 zenon_H102).
% 28.56/28.76  exact (zenon_H101 zenon_H105).
% 28.56/28.76  apply (zenon_L100_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L101_ *)
% 28.56/28.76  assert (zenon_L102_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H15c zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H108 zenon_H72.
% 28.56/28.76  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.76  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H108.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H105.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.76  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hba.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc1.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H61 zenon_H60).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply (zenon_L101_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H61.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L102_ *)
% 28.56/28.76  assert (zenon_L103_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H19a zenon_H15c zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.76  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.76  cut ((gt (n0) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H19a.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H107.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hce.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply (zenon_L102_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L103_ *)
% 28.56/28.76  assert (zenon_L104_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (n1) (n3))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H198 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H15c.
% 28.56/28.76  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H199 | zenon_intro zenon_H19a ].
% 28.56/28.76  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H198.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H199.
% 28.56/28.76  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  exact (zenon_H68 successor_1).
% 28.56/28.76  apply (zenon_L103_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L104_ *)
% 28.56/28.76  assert (zenon_L105_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (n1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H15c zenon_H72 zenon_Hd8.
% 28.56/28.76  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H19f | zenon_intro zenon_H1a0 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H19f). zenon_intro zenon_H1a1. zenon_intro zenon_H198.
% 28.56/28.76  apply (zenon_L104_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd8.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_1_0.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a2].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H1a0); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a3 ].
% 28.56/28.76  apply zenon_H1a4. zenon_intro zenon_H1a5.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H1a2.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a1].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H1a1 zenon_H1a5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_H1a3. zenon_intro zenon_H1a6.
% 28.56/28.76  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.76  generalize (zenon_H19b (n1)). zenon_intro zenon_H1a7.
% 28.56/28.76  generalize (zenon_H1a7 (n0)). zenon_intro zenon_H1a8.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H1a8); [ zenon_intro zenon_H198 | zenon_intro zenon_H1a9 ].
% 28.56/28.76  exact (zenon_H198 zenon_H1a6).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H1a9); [ zenon_intro zenon_H133 | zenon_intro zenon_Hd7 ].
% 28.56/28.76  exact (zenon_H133 gt_1_0).
% 28.56/28.76  exact (zenon_Hd8 zenon_Hd7).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L105_ *)
% 28.56/28.76  assert (zenon_L106_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H15c zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_H72 zenon_Hd6 zenon_Hc5.
% 28.56/28.76  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.76  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.76  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd6.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd7.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.76  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd2.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc1.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hce zenon_Hcd).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply (zenon_L105_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hce.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L106_ *)
% 28.56/28.76  assert (zenon_L107_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (n1) (n3))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H110 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H15c.
% 28.56/28.76  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.56/28.76  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.76  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.56/28.76  generalize (zenon_H130 (n1)). zenon_intro zenon_H131.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H131); [ zenon_intro zenon_H133 | zenon_intro zenon_H132 ].
% 28.56/28.76  exact (zenon_H133 gt_1_0).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_H12a | zenon_intro zenon_H134 ].
% 28.56/28.76  exact (zenon_H12a zenon_H12e).
% 28.56/28.76  exact (zenon_H110 zenon_H134).
% 28.56/28.76  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.76  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.56/28.76  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.76  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.56/28.76  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.76  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.56/28.76  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H244.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H244); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H245 ].
% 28.56/28.76  exact (zenon_Hd5 zenon_Hd4).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H245); [ zenon_intro zenon_H198 | zenon_intro zenon_H12e ].
% 28.56/28.76  exact (zenon_H198 zenon_H1a6).
% 28.56/28.76  exact (zenon_H12a zenon_H12e).
% 28.56/28.76  apply (zenon_L104_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd5.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H1ac.
% 28.56/28.76  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  exact (zenon_Hce zenon_Hcd).
% 28.56/28.76  apply (zenon_L106_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hce.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L107_ *)
% 28.56/28.76  assert (zenon_L108_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H246 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6.
% 28.56/28.76  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.56/28.76  apply (zenon_L5_); trivial.
% 28.56/28.76  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H246.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H94.
% 28.56/28.76  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.56/28.76  apply zenon_H170. zenon_intro zenon_H171.
% 28.56/28.76  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hff.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H66.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H16e zenon_H171).
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H16f. zenon_intro zenon_H172.
% 28.56/28.76  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.76  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.56/28.76  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.56/28.76  exact (zenon_H62 zenon_H172).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.56/28.76  exact (zenon_Ha8 zenon_H94).
% 28.56/28.76  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H246.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H176.
% 28.56/28.76  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  exact (zenon_Hab zenon_Hb5).
% 28.56/28.76  exact (zenon_Hab zenon_Hb5).
% 28.56/28.76  elim (classic (gt zenon_TH_ee (n2))); [ zenon_intro zenon_H240 | zenon_intro zenon_H23a ].
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.76  generalize (zenon_Hc9 (n2)). zenon_intro zenon_H247.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H248 ].
% 28.56/28.76  exact (zenon_Ha8 zenon_H94).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H23a | zenon_intro zenon_H1d5 ].
% 28.56/28.76  exact (zenon_H23a zenon_H240).
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H246.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H1d5.
% 28.56/28.76  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.56/28.76  apply zenon_H170. zenon_intro zenon_H171.
% 28.56/28.76  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.56/28.76  apply zenon_H16f. zenon_intro zenon_H172.
% 28.56/28.76  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.76  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.56/28.76  generalize (zenon_H173 (n2)). zenon_intro zenon_H249.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H249); [ zenon_intro zenon_H62 | zenon_intro zenon_H24a ].
% 28.56/28.76  exact (zenon_H62 zenon_H172).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H24a); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H24b ].
% 28.56/28.76  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.76  exact (zenon_H246 zenon_H24b).
% 28.56/28.76  apply zenon_H5d. apply refl_equal.
% 28.56/28.76  apply (zenon_L96_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L108_ *)
% 28.56/28.76  assert (zenon_L109_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H72 zenon_H110.
% 28.56/28.76  elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H161 | zenon_intro zenon_H162 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H161). zenon_intro zenon_H163. zenon_intro zenon_H15c.
% 28.56/28.76  apply (zenon_L107_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n3) (n1)) = (gt (n1) (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H110.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_3_1.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H164].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H162); [ zenon_intro zenon_H166 | zenon_intro zenon_H165 ].
% 28.56/28.76  apply zenon_H166. zenon_intro zenon_H167.
% 28.56/28.76  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.56/28.76  cut (((n1) = (n1)) = ((n3) = (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H164.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H114.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H163].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H163 zenon_H167).
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  apply zenon_H165. zenon_intro zenon_H160.
% 28.56/28.76  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.76  generalize (zenon_H12f (n3)). zenon_intro zenon_H168.
% 28.56/28.76  generalize (zenon_H168 (n1)). zenon_intro zenon_H169.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H169); [ zenon_intro zenon_H15c | zenon_intro zenon_H16a ].
% 28.56/28.76  exact (zenon_H15c zenon_H160).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H16a); [ zenon_intro zenon_H16b | zenon_intro zenon_H134 ].
% 28.56/28.76  exact (zenon_H16b gt_3_1).
% 28.56/28.76  exact (zenon_H110 zenon_H134).
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L109_ *)
% 28.56/28.76  assert (zenon_L110_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H141 zenon_Hdf zenon_H72.
% 28.56/28.76  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.76  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.76  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.76  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.56/28.76  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.76  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.56/28.76  generalize (zenon_H24c (n2)). zenon_intro zenon_H24d.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H136 | zenon_intro zenon_H24e ].
% 28.56/28.76  exact (zenon_H136 zenon_H135).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H246 | zenon_intro zenon_H145 ].
% 28.56/28.76  exact (zenon_H246 zenon_H24b).
% 28.56/28.76  exact (zenon_H141 zenon_H145).
% 28.56/28.76  apply (zenon_L108_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H136.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H134.
% 28.56/28.76  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  exact (zenon_H65 zenon_H111).
% 28.56/28.76  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H65.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H66.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H68 successor_1).
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L110_ *)
% 28.56/28.76  assert (zenon_L111_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H1fd zenon_Hdf zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.76  elim (classic (gt (n1) (n2))); [ zenon_intro zenon_H145 | zenon_intro zenon_H141 ].
% 28.56/28.76  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.76  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.76  generalize (zenon_H75 (n2)). zenon_intro zenon_H24f.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H24f); [ zenon_intro zenon_H78 | zenon_intro zenon_H250 ].
% 28.56/28.76  exact (zenon_H78 gt_2_1).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H250); [ zenon_intro zenon_H141 | zenon_intro zenon_H21e ].
% 28.56/28.76  exact (zenon_H141 zenon_H145).
% 28.56/28.76  exact (zenon_H1fd zenon_H21e).
% 28.56/28.76  apply (zenon_L110_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L111_ *)
% 28.56/28.76  assert (zenon_L112_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H227 zenon_H1d6 zenon_H23a zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.76  elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TH_ee)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H251). zenon_intro zenon_H253. zenon_intro zenon_H1cd.
% 28.56/28.76  apply (zenon_L73_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.56/28.76  generalize (zenon_H72 (succ zenon_TH_ee)). zenon_intro zenon_H11a.
% 28.56/28.76  generalize (zenon_H11a (n0)). zenon_intro zenon_H11b.
% 28.56/28.76  generalize (zenon_H11b (n3)). zenon_intro zenon_H254.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H70 | zenon_intro zenon_H255 ].
% 28.56/28.76  exact (zenon_H70 zenon_H6a).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H15b | zenon_intro zenon_H256 ].
% 28.56/28.76  exact (zenon_H15b zenon_H15d).
% 28.56/28.76  cut ((gt (succ zenon_TH_ee) (n3)) = (gt (succ (tptp_minus_1)) (n3))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H227.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H256.
% 28.56/28.76  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.56/28.76  cut (((succ zenon_TH_ee) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H257].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H252); [ zenon_intro zenon_H259 | zenon_intro zenon_H258 ].
% 28.56/28.76  apply zenon_H259. zenon_intro zenon_H25a.
% 28.56/28.76  apply zenon_H257. apply sym_equal. exact zenon_H25a.
% 28.56/28.76  apply zenon_H258. zenon_intro zenon_H1d1.
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 (succ zenon_TH_ee)). zenon_intro zenon_H25b.
% 28.56/28.76  generalize (zenon_H25b (n3)). zenon_intro zenon_H25c.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H25c); [ zenon_intro zenon_H1cd | zenon_intro zenon_H25d ].
% 28.56/28.76  exact (zenon_H1cd zenon_H1d1).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H25d); [ zenon_intro zenon_H25e | zenon_intro zenon_H22b ].
% 28.56/28.76  exact (zenon_H25e zenon_H256).
% 28.56/28.76  exact (zenon_H227 zenon_H22b).
% 28.56/28.76  apply zenon_H5c. apply refl_equal.
% 28.56/28.76  apply (zenon_L97_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L112_ *)
% 28.56/28.76  assert (zenon_L113_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H1d2 zenon_H227 zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.56/28.76  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n2))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H1d2.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H94.
% 28.56/28.76  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  exact (zenon_Hab zenon_Hb5).
% 28.56/28.76  elim (classic (gt zenon_TH_ee (n2))); [ zenon_intro zenon_H240 | zenon_intro zenon_H23a ].
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.76  generalize (zenon_Hc9 (n2)). zenon_intro zenon_H247.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H248 ].
% 28.56/28.76  exact (zenon_Ha8 zenon_H94).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H23a | zenon_intro zenon_H1d5 ].
% 28.56/28.76  exact (zenon_H23a zenon_H240).
% 28.56/28.76  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.76  apply (zenon_L112_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L113_ *)
% 28.56/28.76  assert (zenon_L114_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~((n0) = zenon_TH_ee)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6 zenon_H227 zenon_Hbf.
% 28.56/28.76  generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1c1.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c2 | zenon_intro zenon_Hfa ].
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H1c2); [ zenon_intro zenon_He4 | zenon_intro zenon_H1ad ].
% 28.56/28.76  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.56/28.76  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.56/28.76  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.56/28.76  elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H25f | zenon_intro zenon_H260 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H25f). zenon_intro zenon_H261. zenon_intro zenon_H1d2.
% 28.56/28.76  apply (zenon_L113_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n2) (n0)) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hb6.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_2_0.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H260); [ zenon_intro zenon_H264 | zenon_intro zenon_H263 ].
% 28.56/28.76  apply zenon_H264. zenon_intro zenon_H265.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H262.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H261 zenon_H265).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H263. zenon_intro zenon_H1d5.
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 (n2)). zenon_intro zenon_H266.
% 28.56/28.76  generalize (zenon_H266 (n0)). zenon_intro zenon_H267.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H267); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H268 ].
% 28.56/28.76  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H268); [ zenon_intro zenon_H18c | zenon_intro zenon_Hb8 ].
% 28.56/28.76  exact (zenon_H18c gt_2_0).
% 28.56/28.76  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  exact (zenon_He4 zenon_He6).
% 28.56/28.76  apply (zenon_L66_); trivial.
% 28.56/28.76  apply (zenon_L69_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L114_ *)
% 28.56/28.76  assert (zenon_L115_ : forall (zenon_TH_ee : zenon_U), (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5 zenon_H21f zenon_H72.
% 28.56/28.76  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.56/28.76  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H22b | zenon_intro zenon_H227 ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H21f.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H22b.
% 28.56/28.76  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  exact (zenon_H8f zenon_H20e).
% 28.56/28.76  apply (zenon_L114_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.56/28.76  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H8f.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H20f.
% 28.56/28.76  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.56/28.76  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H211 successor_3).
% 28.56/28.76  apply zenon_H210. apply refl_equal.
% 28.56/28.76  apply zenon_H210. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L115_ *)
% 28.56/28.76  assert (zenon_L116_ : forall (zenon_TH_ee : zenon_U), (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5 zenon_H21f zenon_H72.
% 28.56/28.76  apply (zenon_L115_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L116_ *)
% 28.56/28.76  assert (zenon_L117_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.56/28.76  apply (zenon_L116_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L117_ *)
% 28.56/28.76  assert (zenon_L118_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H21f zenon_Hbf zenon_H72.
% 28.56/28.76  apply (zenon_L117_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L118_ *)
% 28.56/28.76  assert (zenon_L119_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H116 zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.76  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.76  cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H116.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H135.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H65.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H66.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H68 successor_1).
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.76  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.76  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H136.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H134.
% 28.56/28.76  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  exact (zenon_H65 zenon_H111).
% 28.56/28.76  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.76  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H65.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H66.
% 28.56/28.76  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.76  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H68 successor_1).
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  apply zenon_H67. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L119_ *)
% 28.56/28.76  assert (zenon_L120_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H21f zenon_Hbf zenon_H72.
% 28.56/28.76  apply (zenon_L118_ zenon_TH_ee); trivial.
% 28.56/28.76  (* end of lemma zenon_L120_ *)
% 28.56/28.76  assert (zenon_L121_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_H17d zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6.
% 28.56/28.76  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.56/28.76  elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H25f | zenon_intro zenon_H260 ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H25f). zenon_intro zenon_H261. zenon_intro zenon_H1d2.
% 28.56/28.76  apply (zenon_L113_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n2) (n1)) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H17d.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_2_1.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H260); [ zenon_intro zenon_H264 | zenon_intro zenon_H263 ].
% 28.56/28.76  apply zenon_H264. zenon_intro zenon_H265.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H262.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H261 zenon_H265).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H263. zenon_intro zenon_H1d5.
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 (n2)). zenon_intro zenon_H266.
% 28.56/28.76  generalize (zenon_H266 (n1)). zenon_intro zenon_H269.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H269); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H26a ].
% 28.56/28.76  exact (zenon_H1d2 zenon_H1d5).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H26a); [ zenon_intro zenon_H78 | zenon_intro zenon_H17a ].
% 28.56/28.76  exact (zenon_H78 gt_2_1).
% 28.56/28.76  exact (zenon_H17d zenon_H17a).
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  cut ((gt (n3) (n1)) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H17d.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_3_1.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.56/28.76  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H22c.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H228 zenon_H22f).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.56/28.76  generalize (zenon_H230 (n1)). zenon_intro zenon_H26b.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H26b); [ zenon_intro zenon_H227 | zenon_intro zenon_H26c ].
% 28.56/28.76  exact (zenon_H227 zenon_H22b).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H26c); [ zenon_intro zenon_H16b | zenon_intro zenon_H17a ].
% 28.56/28.76  exact (zenon_H16b gt_3_1).
% 28.56/28.76  exact (zenon_H17d zenon_H17a).
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L121_ *)
% 28.56/28.76  assert (zenon_L122_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5 zenon_H12a zenon_H72.
% 28.56/28.76  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.76  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (n0) (n1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H12a.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H17a.
% 28.56/28.76  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.76  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hba.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc1.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H61 zenon_H60).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H5e. apply refl_equal.
% 28.56/28.76  apply (zenon_L121_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H61.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L122_ *)
% 28.56/28.76  assert (zenon_L123_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6 zenon_H72 zenon_Hd6.
% 28.56/28.76  elim (classic ((~((n0) = (n1)))/\(~(gt (n0) (n1))))); [ zenon_intro zenon_H26d | zenon_intro zenon_H26e ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H26d). zenon_intro zenon_H26f. zenon_intro zenon_H12a.
% 28.56/28.76  apply (zenon_L122_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n1) (n0)) = (gt (n0) (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd6.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_1_0.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H26e); [ zenon_intro zenon_H272 | zenon_intro zenon_H271 ].
% 28.56/28.76  apply zenon_H272. zenon_intro zenon_H273.
% 28.56/28.76  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.76  cut (((n0) = (n0)) = ((n1) = (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H270.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc1.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n0) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H26f zenon_H273).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H271. zenon_intro zenon_H12e.
% 28.56/28.76  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.76  generalize (zenon_H10c (n1)). zenon_intro zenon_H274.
% 28.56/28.76  generalize (zenon_H274 (n0)). zenon_intro zenon_H275.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H275); [ zenon_intro zenon_H12a | zenon_intro zenon_H276 ].
% 28.56/28.76  exact (zenon_H12a zenon_H12e).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H276); [ zenon_intro zenon_H133 | zenon_intro zenon_H1ac ].
% 28.56/28.76  exact (zenon_H133 gt_1_0).
% 28.56/28.76  exact (zenon_Hd6 zenon_H1ac).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L123_ *)
% 28.56/28.76  assert (zenon_L124_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H1d6 zenon_H23a zenon_H72 zenon_H188 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.76  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H17e | zenon_intro zenon_H17f ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H17e). zenon_intro zenon_Hdf. zenon_intro zenon_H180.
% 28.56/28.76  apply (zenon_L96_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H188.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_3_0.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H181].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H183 | zenon_intro zenon_H182 ].
% 28.56/28.76  apply zenon_H183. zenon_intro zenon_Hfd.
% 28.56/28.76  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H10a | zenon_intro zenon_Hdb ].
% 28.56/28.76  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H181.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_H10a.
% 28.56/28.76  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.76  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hdf zenon_Hfd).
% 28.56/28.76  apply zenon_Hdb. apply refl_equal.
% 28.56/28.76  apply zenon_Hdb. apply refl_equal.
% 28.56/28.76  apply zenon_H182. zenon_intro zenon_H184.
% 28.56/28.76  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.76  generalize (zenon_H157 (n3)). zenon_intro zenon_H185.
% 28.56/28.76  generalize (zenon_H185 (n0)). zenon_intro zenon_H18d.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H18d); [ zenon_intro zenon_H180 | zenon_intro zenon_H18e ].
% 28.56/28.76  exact (zenon_H180 zenon_H184).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H18e); [ zenon_intro zenon_H18f | zenon_intro zenon_H18b ].
% 28.56/28.76  exact (zenon_H18f gt_3_0).
% 28.56/28.76  exact (zenon_H188 zenon_H18b).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L124_ *)
% 28.56/28.76  assert (zenon_L125_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (tptp_minus_1) (n0))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1d6 zenon_H188 zenon_H72 zenon_Hc2.
% 28.56/28.76  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.56/28.76  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.56/28.76  apply (zenon_L124_ zenon_TH_ee); trivial.
% 28.56/28.76  cut ((gt (n2) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hc2.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact gt_2_0.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.56/28.76  congruence.
% 28.56/28.76  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.56/28.76  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.56/28.76  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H23d.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc0.
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.76  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hab zenon_Hb5).
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  apply zenon_H23e. zenon_intro zenon_H240.
% 28.56/28.76  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.76  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.56/28.76  generalize (zenon_H241 (n0)). zenon_intro zenon_H277.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H277); [ zenon_intro zenon_H23a | zenon_intro zenon_H278 ].
% 28.56/28.76  exact (zenon_H23a zenon_H240).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_H18c | zenon_intro zenon_Hcf ].
% 28.56/28.76  exact (zenon_H18c gt_2_0).
% 28.56/28.76  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L125_ *)
% 28.56/28.76  assert (zenon_L126_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_Hc4 zenon_H188 zenon_H1d6 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a.
% 28.56/28.76  elim (classic (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ].
% 28.56/28.76  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.76  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.76  generalize (zenon_Hc9 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hca.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_Hca); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Hcb ].
% 28.56/28.76  exact (zenon_Ha8 zenon_H94).
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_Hcb); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hcc ].
% 28.56/28.76  exact (zenon_Hc7 zenon_Hc6).
% 28.56/28.76  exact (zenon_Hc4 zenon_Hcc).
% 28.56/28.76  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.76  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.76  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hc7.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hcf.
% 28.56/28.76  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.76  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.76  congruence.
% 28.56/28.76  apply zenon_H9e. apply refl_equal.
% 28.56/28.76  exact (zenon_Hce zenon_Hcd).
% 28.56/28.76  apply (zenon_L125_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hce.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L126_ *)
% 28.56/28.76  assert (zenon_L127_ : forall (zenon_TH_ee : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (sum (n0) (tptp_minus_1) zenon_E))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H188 zenon_H1d6 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_Hd5 zenon_H72.
% 28.56/28.76  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.76  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hc4 ].
% 28.56/28.76  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd5.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hcc.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.76  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hba.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hc1.
% 28.56/28.76  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.76  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_H61 zenon_H60).
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_H69. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply (zenon_L126_ zenon_TH_ee); trivial.
% 28.56/28.76  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_H61.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hb9.
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.76  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  apply zenon_H64. apply refl_equal.
% 28.56/28.76  (* end of lemma zenon_L127_ *)
% 28.56/28.76  assert (zenon_L128_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.76  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.56/28.76  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.76  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hd3.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd4.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.76  congruence.
% 28.56/28.76  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.76  intro zenon_D_pnotp.
% 28.56/28.76  apply zenon_Hce.
% 28.56/28.76  rewrite <- zenon_D_pnotp.
% 28.56/28.76  exact zenon_Hd0.
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.76  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.76  congruence.
% 28.56/28.76  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  apply zenon_Hd1. apply refl_equal.
% 28.56/28.76  elim (classic (gt (tptp_minus_1) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_H279 | zenon_intro zenon_H27a ].
% 28.56/28.76  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.76  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.76  generalize (zenon_H10d (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H27b.
% 28.56/28.76  apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H27c ].
% 28.56/28.77  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H27a | zenon_intro zenon_Hd4 ].
% 28.56/28.77  exact (zenon_H27a zenon_H279).
% 28.56/28.77  exact (zenon_Hd5 zenon_Hd4).
% 28.56/28.77  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.77  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18b | zenon_intro zenon_H188 ].
% 28.56/28.77  cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H27a.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H18b.
% 28.56/28.77  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.77  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hdb. apply refl_equal.
% 28.56/28.77  exact (zenon_Hce zenon_Hcd).
% 28.56/28.77  apply (zenon_L127_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hce.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd0.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L128_ *)
% 28.56/28.77  assert (zenon_L129_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H198 zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6.
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hd3 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.77  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.56/28.77  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.77  generalize (zenon_H19b (n0)). zenon_intro zenon_H19c.
% 28.56/28.77  generalize (zenon_H19c (n1)). zenon_intro zenon_H27d.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H27d); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H27e ].
% 28.56/28.77  exact (zenon_Hd8 zenon_Hd7).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H27e); [ zenon_intro zenon_H12a | zenon_intro zenon_H1a6 ].
% 28.56/28.77  exact (zenon_H12a zenon_H12e).
% 28.56/28.77  exact (zenon_H198 zenon_H1a6).
% 28.56/28.77  apply (zenon_L122_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd8.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd9.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply (zenon_L128_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L129_ *)
% 28.56/28.77  assert (zenon_L130_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hbf zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6.
% 28.56/28.77  apply (zenon_L120_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L130_ *)
% 28.56/28.77  assert (zenon_L131_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H1d6 zenon_Hdf zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H72 zenon_Hc2.
% 28.56/28.77  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.56/28.77  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.56/28.77  apply (zenon_L96_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (n2) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hc2.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact gt_2_0.
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.56/28.77  congruence.
% 28.56/28.77  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.56/28.77  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.56/28.77  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H23d.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hc0.
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hab zenon_Hb5).
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  apply zenon_H23e. zenon_intro zenon_H240.
% 28.56/28.77  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.77  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.56/28.77  generalize (zenon_H241 (n0)). zenon_intro zenon_H277.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H277); [ zenon_intro zenon_H23a | zenon_intro zenon_H278 ].
% 28.56/28.77  exact (zenon_H23a zenon_H240).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_H18c | zenon_intro zenon_Hcf ].
% 28.56/28.77  exact (zenon_H18c gt_2_0).
% 28.56/28.77  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L131_ *)
% 28.56/28.77  assert (zenon_L132_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_Hb7 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6.
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.77  generalize (zenon_Hc9 (succ (tptp_minus_1))). zenon_intro zenon_H27f.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H280 ].
% 28.56/28.77  exact (zenon_Ha8 zenon_H94).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ].
% 28.56/28.77  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.77  exact (zenon_Hb7 zenon_Hbc).
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.77  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hbb.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hcf.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L131_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L132_ *)
% 28.56/28.77  assert (zenon_L133_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((n0) = zenon_TH_ee)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hbf zenon_H21f zenon_H72 zenon_Hc5.
% 28.56/28.77  apply (zenon_L130_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L133_ *)
% 28.56/28.77  assert (zenon_L134_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6 zenon_H281 zenon_Hbf zenon_H72.
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.56/28.77  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.77  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.77  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.56/28.77  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.56/28.77  exact (zenon_H21f zenon_H224).
% 28.56/28.77  exact (zenon_H281 zenon_H284).
% 28.56/28.77  apply (zenon_L133_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hbb.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hcf.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L131_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L134_ *)
% 28.56/28.77  assert (zenon_L135_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H285 zenon_Hbf zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6.
% 28.56/28.77  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.56/28.77  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.56/28.77  apply (zenon_L5_); trivial.
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.77  generalize (zenon_Hc9 (succ (succ (succ (n0))))). zenon_intro zenon_H286.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H287 ].
% 28.56/28.77  exact (zenon_Ha8 zenon_H94).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H281 | zenon_intro zenon_H224 ].
% 28.56/28.77  exact (zenon_H281 zenon_H284).
% 28.56/28.77  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H285.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H224.
% 28.56/28.77  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.56/28.77  congruence.
% 28.56/28.77  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.56/28.77  apply zenon_H170. zenon_intro zenon_H171.
% 28.56/28.77  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.56/28.77  apply zenon_H16f. zenon_intro zenon_H172.
% 28.56/28.77  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.56/28.77  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.56/28.77  generalize (zenon_H173 (succ (succ (succ (n0))))). zenon_intro zenon_H288.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H62 | zenon_intro zenon_H289 ].
% 28.56/28.77  exact (zenon_H62 zenon_H172).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H289); [ zenon_intro zenon_H21f | zenon_intro zenon_H28a ].
% 28.56/28.77  exact (zenon_H21f zenon_H224).
% 28.56/28.77  exact (zenon_H285 zenon_H28a).
% 28.56/28.77  apply zenon_H210. apply refl_equal.
% 28.56/28.77  apply (zenon_L134_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L135_ *)
% 28.56/28.77  assert (zenon_L136_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~((n0) = zenon_TH_ee)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H28b zenon_Hbf zenon_Hdf zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.77  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.56/28.77  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.56/28.77  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.56/28.77  generalize (zenon_H7c (n3)). zenon_intro zenon_H28c.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H28c); [ zenon_intro zenon_H7f | zenon_intro zenon_H28d ].
% 28.56/28.77  exact (zenon_H7f gt_3_2).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H28d); [ zenon_intro zenon_H209 | zenon_intro zenon_H28e ].
% 28.56/28.77  exact (zenon_H209 zenon_H20c).
% 28.56/28.77  exact (zenon_H28b zenon_H28e).
% 28.56/28.77  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.56/28.77  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.77  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.77  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.56/28.77  exact (zenon_H78 gt_2_1).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.56/28.77  exact (zenon_H15c zenon_H160).
% 28.56/28.77  exact (zenon_H209 zenon_H20c).
% 28.56/28.77  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.77  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.77  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.77  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ].
% 28.56/28.77  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.56/28.77  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.56/28.77  generalize (zenon_H24c (n3)). zenon_intro zenon_H291.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H291); [ zenon_intro zenon_H136 | zenon_intro zenon_H292 ].
% 28.56/28.77  exact (zenon_H136 zenon_H135).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H292); [ zenon_intro zenon_H290 | zenon_intro zenon_H160 ].
% 28.56/28.77  exact (zenon_H290 zenon_H28f).
% 28.56/28.77  exact (zenon_H15c zenon_H160).
% 28.56/28.77  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.56/28.77  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H290.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H28a.
% 28.56/28.77  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  exact (zenon_H211 successor_3).
% 28.56/28.77  apply (zenon_L135_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H136.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H134.
% 28.56/28.77  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.77  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H5e. apply refl_equal.
% 28.56/28.77  exact (zenon_H65 zenon_H111).
% 28.56/28.77  apply (zenon_L107_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.77  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H65.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H66.
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_H68 successor_1).
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L136_ *)
% 28.56/28.77  assert (zenon_L137_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_H188 zenon_H1d6 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a.
% 28.56/28.77  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.77  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd3.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd4.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.77  congruence.
% 28.56/28.77  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hce.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd0.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply (zenon_L127_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L137_ *)
% 28.56/28.77  assert (zenon_L138_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))) -> (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~((n0) = zenon_TH_ee)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H293 zenon_H188 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_Hbf.
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H293.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H294.
% 28.56/28.77  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  exact (zenon_H211 successor_3).
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hd3 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.77  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H296 | zenon_intro zenon_H297 ].
% 28.56/28.77  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.77  generalize (zenon_H19b (n0)). zenon_intro zenon_H19c.
% 28.56/28.77  generalize (zenon_H19c (succ (succ (succ (n0))))). zenon_intro zenon_H298.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H298); [ zenon_intro zenon_Hd8 | zenon_intro zenon_H299 ].
% 28.56/28.77  exact (zenon_Hd8 zenon_Hd7).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H299); [ zenon_intro zenon_H297 | zenon_intro zenon_H294 ].
% 28.56/28.77  exact (zenon_H297 zenon_H296).
% 28.56/28.77  exact (zenon_H295 zenon_H294).
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.56/28.77  elim (classic (gt (n0) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbd | zenon_intro zenon_Hbe ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.56/28.77  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.77  generalize (zenon_H10c (succ (tptp_minus_1))). zenon_intro zenon_H29a.
% 28.56/28.77  generalize (zenon_H29a (succ (succ (succ (n0))))). zenon_intro zenon_H29b.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H29b); [ zenon_intro zenon_Hbe | zenon_intro zenon_H29c ].
% 28.56/28.77  exact (zenon_Hbe zenon_Hbd).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H29c); [ zenon_intro zenon_H21f | zenon_intro zenon_H296 ].
% 28.56/28.77  exact (zenon_H21f zenon_H224).
% 28.56/28.77  exact (zenon_H297 zenon_H296).
% 28.56/28.77  apply (zenon_L130_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (n0) (n0)) = (gt (n0) (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hbe.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1ac.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L123_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd8.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd9.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply (zenon_L137_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L138_ *)
% 28.56/28.77  assert (zenon_L139_ : forall (zenon_TH_ee : zenon_U), (~((n0) = zenon_TH_ee)) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_Hbf zenon_H188 zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_H15b zenon_H72 zenon_Hc5.
% 28.56/28.77  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H29d | zenon_intro zenon_H293 ].
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n3)) = (gt (n0) (n3))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H15b.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H29d.
% 28.56/28.77  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.56/28.77  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd2.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hc1.
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hce zenon_Hcd).
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  apply zenon_H5c. apply refl_equal.
% 28.56/28.77  apply (zenon_L138_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hce.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd0.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L139_ *)
% 28.56/28.77  assert (zenon_L140_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TH_ee))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1c0 zenon_H180 zenon_H15b zenon_H72.
% 28.56/28.77  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.77  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.56/28.77  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.56/28.77  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TH_ee))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H1c0.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H135.
% 28.56/28.77  cut (((succ (n0)) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 28.56/28.77  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H5e. apply refl_equal.
% 28.56/28.77  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.56/28.77  congruence.
% 28.56/28.77  elim (classic (gt (tptp_minus_1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H29e | zenon_intro zenon_H29f ].
% 28.56/28.77  cut ((gt (tptp_minus_1) (succ (succ (succ (n0))))) = (gt (tptp_minus_1) (n3))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H180.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H29e.
% 28.56/28.77  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.77  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hdb. apply refl_equal.
% 28.56/28.77  exact (zenon_H211 successor_3).
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18b | zenon_intro zenon_H188 ].
% 28.56/28.77  elim (classic (gt (tptp_minus_1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H2a0 | zenon_intro zenon_H2a1 ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.56/28.77  generalize (zenon_H72 (tptp_minus_1)). zenon_intro zenon_H157.
% 28.56/28.77  generalize (zenon_H157 (succ (tptp_minus_1))). zenon_intro zenon_H2a2.
% 28.56/28.77  generalize (zenon_H2a2 (succ (succ (succ (n0))))). zenon_intro zenon_H2a3.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2a3); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a4 ].
% 28.56/28.77  exact (zenon_H2a1 zenon_H2a0).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2a4); [ zenon_intro zenon_H21f | zenon_intro zenon_H29e ].
% 28.56/28.77  exact (zenon_H21f zenon_H224).
% 28.56/28.77  exact (zenon_H29f zenon_H29e).
% 28.56/28.77  apply (zenon_L133_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H2a1.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H18b.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hdb].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hdb. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L139_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H136.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H134.
% 28.56/28.77  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.77  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H5e. apply refl_equal.
% 28.56/28.77  exact (zenon_H65 zenon_H111).
% 28.56/28.77  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.77  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H65.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H66.
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_H68 successor_1).
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L140_ *)
% 28.56/28.77  assert (zenon_L141_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_H108 zenon_H72 zenon_Hc5.
% 28.56/28.77  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.77  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.56/28.77  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H199 | zenon_intro zenon_H19a ].
% 28.56/28.77  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.77  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.56/28.77  generalize (zenon_H1d9 (succ (n0))). zenon_intro zenon_H2a5.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2a5); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H2a6 ].
% 28.56/28.77  exact (zenon_Hd5 zenon_Hd4).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2a6); [ zenon_intro zenon_H19a | zenon_intro zenon_H107 ].
% 28.56/28.77  exact (zenon_H19a zenon_H199).
% 28.56/28.77  exact (zenon_H108 zenon_H107).
% 28.56/28.77  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H19a.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1a6.
% 28.56/28.77  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  exact (zenon_H65 zenon_H111).
% 28.56/28.77  apply (zenon_L129_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.56/28.77  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H65.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H66.
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_H68 successor_1).
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd5.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1ac.
% 28.56/28.77  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  exact (zenon_Hce zenon_Hcd).
% 28.56/28.77  apply (zenon_L123_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hce.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd0.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L141_ *)
% 28.56/28.77  assert (zenon_L142_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H101 zenon_H1d6 zenon_Hdf zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a.
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.77  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.77  generalize (zenon_H138 (succ (n0))). zenon_intro zenon_H139.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H139); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H13a ].
% 28.56/28.77  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13a); [ zenon_intro zenon_H108 | zenon_intro zenon_H105 ].
% 28.56/28.77  exact (zenon_H108 zenon_H107).
% 28.56/28.77  exact (zenon_H101 zenon_H105).
% 28.56/28.77  apply (zenon_L141_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hb6.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hbc.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply (zenon_L132_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L142_ *)
% 28.56/28.77  assert (zenon_L143_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H180 zenon_H15b zenon_H1cd zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6.
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.56/28.77  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.56/28.77  generalize (zenon_H1ca (succ zenon_TH_ee)). zenon_intro zenon_H1cf.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1cf); [ zenon_intro zenon_H17d | zenon_intro zenon_H1d0 ].
% 28.56/28.77  exact (zenon_H17d zenon_H17a).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1d0); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H1d1 ].
% 28.56/28.77  exact (zenon_H1c0 zenon_H1ce).
% 28.56/28.77  exact (zenon_H1cd zenon_H1d1).
% 28.56/28.77  apply (zenon_L140_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H17d.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H105.
% 28.56/28.77  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  exact (zenon_H68 successor_1).
% 28.56/28.77  apply (zenon_L142_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L143_ *)
% 28.56/28.77  assert (zenon_L144_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H15c zenon_H15b zenon_H180 zenon_Hdf zenon_H72 zenon_Hc5.
% 28.56/28.77  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.56/28.77  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.56/28.77  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TH_ee))); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1d8 ].
% 28.56/28.77  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.77  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.56/28.77  generalize (zenon_H1d9 (succ zenon_TH_ee)). zenon_intro zenon_H1da.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1da); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H1db ].
% 28.56/28.77  exact (zenon_Hd5 zenon_Hd4).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1db); [ zenon_intro zenon_H1d8 | zenon_intro zenon_H1dc ].
% 28.56/28.77  exact (zenon_H1d8 zenon_H1d7).
% 28.56/28.77  exact (zenon_H1d6 zenon_H1dc).
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.56/28.77  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1de ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TH_ee))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1cd ].
% 28.56/28.77  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.56/28.77  generalize (zenon_H19b (succ (tptp_minus_1))). zenon_intro zenon_H1df.
% 28.56/28.77  generalize (zenon_H1df (succ zenon_TH_ee)). zenon_intro zenon_H1e0.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1e0); [ zenon_intro zenon_H1de | zenon_intro zenon_H1e1 ].
% 28.56/28.77  exact (zenon_H1de zenon_H1dd).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1e1); [ zenon_intro zenon_H1cd | zenon_intro zenon_H1d7 ].
% 28.56/28.77  exact (zenon_H1cd zenon_H1d1).
% 28.56/28.77  exact (zenon_H1d8 zenon_H1d7).
% 28.56/28.77  apply (zenon_L143_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H1de.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd7.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L105_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hd5.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1ac.
% 28.56/28.77  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  exact (zenon_Hce zenon_Hcd).
% 28.56/28.77  apply (zenon_L106_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hce.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hd0.
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.56/28.77  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hd2 zenon_Hc5).
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  apply zenon_Hd1. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L144_ *)
% 28.56/28.77  assert (zenon_L145_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H28b zenon_H180 zenon_H15b zenon_Hdf zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.56/28.77  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.56/28.77  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.56/28.77  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.56/28.77  generalize (zenon_H7c (n3)). zenon_intro zenon_H28c.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H28c); [ zenon_intro zenon_H7f | zenon_intro zenon_H28d ].
% 28.56/28.77  exact (zenon_H7f gt_3_2).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H28d); [ zenon_intro zenon_H209 | zenon_intro zenon_H28e ].
% 28.56/28.77  exact (zenon_H209 zenon_H20c).
% 28.56/28.77  exact (zenon_H28b zenon_H28e).
% 28.56/28.77  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.56/28.77  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.77  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.77  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.56/28.77  exact (zenon_H78 gt_2_1).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.56/28.77  exact (zenon_H15c zenon_H160).
% 28.56/28.77  exact (zenon_H209 zenon_H20c).
% 28.56/28.77  apply (zenon_L144_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L145_ *)
% 28.56/28.77  assert (zenon_L146_ : (~(gt (n2) (succ (n0)))) -> False).
% 28.56/28.77  do 0 intro. intros zenon_H2a7.
% 28.56/28.77  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.56/28.77  cut ((gt (n2) (n1)) = (gt (n2) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H2a7.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact gt_2_1.
% 28.56/28.77  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.56/28.77  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H5d. apply refl_equal.
% 28.56/28.77  exact (zenon_H65 zenon_H111).
% 28.56/28.77  apply zenon_H65. apply sym_equal. exact successor_1.
% 28.56/28.77  (* end of lemma zenon_L146_ *)
% 28.56/28.77  assert (zenon_L147_ : (~(gt (succ (succ (n0))) (succ (n0)))) -> False).
% 28.56/28.77  do 0 intro. intros zenon_H1ef.
% 28.56/28.77  elim (classic (gt (n2) (succ (n0)))); [ zenon_intro zenon_H2a8 | zenon_intro zenon_H2a7 ].
% 28.56/28.77  cut ((gt (n2) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H1ef.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H2a8.
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.56/28.77  congruence.
% 28.56/28.77  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.56/28.77  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H1e4.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1e5.
% 28.56/28.77  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.77  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_H1e7 successor_2).
% 28.56/28.77  apply zenon_H1e6. apply refl_equal.
% 28.56/28.77  apply zenon_H1e6. apply refl_equal.
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  apply (zenon_L146_); trivial.
% 28.56/28.77  (* end of lemma zenon_L147_ *)
% 28.56/28.77  assert (zenon_L148_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (succ (n0))) (n3))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H15b zenon_H180 zenon_Hdf zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H2a9.
% 28.56/28.77  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.56/28.77  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.56/28.77  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.56/28.77  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.77  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.56/28.77  generalize (zenon_H205 (n3)). zenon_intro zenon_H2aa.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2aa); [ zenon_intro zenon_H204 | zenon_intro zenon_H2ab ].
% 28.56/28.77  exact (zenon_H204 zenon_H203).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H2ab); [ zenon_intro zenon_H15c | zenon_intro zenon_H2ac ].
% 28.56/28.77  exact (zenon_H15c zenon_H160).
% 28.56/28.77  exact (zenon_H2a9 zenon_H2ac).
% 28.56/28.77  apply (zenon_L144_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H204.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H1fc.
% 28.56/28.77  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.77  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H1e6. apply refl_equal.
% 28.56/28.77  exact (zenon_H68 successor_1).
% 28.56/28.77  apply (zenon_L147_); trivial.
% 28.56/28.77  (* end of lemma zenon_L148_ *)
% 28.56/28.77  assert (zenon_L149_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (n0)))) -> (~(gt zenon_TH_ee (n1))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H108 zenon_H13f zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a.
% 28.56/28.77  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H10b | zenon_intro zenon_H106 ].
% 28.56/28.77  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.56/28.77  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.56/28.77  generalize (zenon_H10d (succ (n0))). zenon_intro zenon_H10e.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H10f ].
% 28.56/28.77  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H10f); [ zenon_intro zenon_H106 | zenon_intro zenon_H107 ].
% 28.56/28.77  exact (zenon_H106 zenon_H10b).
% 28.56/28.77  exact (zenon_H108 zenon_H107).
% 28.56/28.77  apply (zenon_L52_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L149_ *)
% 28.56/28.77  assert (zenon_L150_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n1))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H13f zenon_H101 zenon_H6a zenon_H94 zenon_Haa zenon_Hab zenon_Hac.
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.56/28.77  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.56/28.77  generalize (zenon_H138 (succ (n0))). zenon_intro zenon_H139.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H139); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H13a ].
% 28.56/28.77  exact (zenon_Hb6 zenon_Hb8).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13a); [ zenon_intro zenon_H108 | zenon_intro zenon_H105 ].
% 28.56/28.77  exact (zenon_H108 zenon_H107).
% 28.56/28.77  exact (zenon_H101 zenon_H105).
% 28.56/28.77  apply (zenon_L149_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hb6.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hbc.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply (zenon_L16_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L150_ *)
% 28.56/28.77  assert (zenon_L151_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H100 zenon_H13f zenon_H72.
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.77  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.77  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.77  generalize (zenon_H13c (succ (n0))). zenon_intro zenon_H13d.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_Hbb | zenon_intro zenon_H13e ].
% 28.56/28.77  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H101 | zenon_intro zenon_H102 ].
% 28.56/28.77  exact (zenon_H101 zenon_H105).
% 28.56/28.77  exact (zenon_H100 zenon_H102).
% 28.56/28.77  apply (zenon_L150_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hbb.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hcf.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L151_ *)
% 28.56/28.77  assert (zenon_L152_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_H100 zenon_H72.
% 28.56/28.77  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.56/28.77  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.56/28.77  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.77  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.56/28.77  generalize (zenon_H13c (succ (n0))). zenon_intro zenon_H13d.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_Hbb | zenon_intro zenon_H13e ].
% 28.56/28.77  exact (zenon_Hbb zenon_Hc3).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H101 | zenon_intro zenon_H102 ].
% 28.56/28.77  exact (zenon_H101 zenon_H105).
% 28.56/28.77  exact (zenon_H100 zenon_H102).
% 28.56/28.77  apply (zenon_L72_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hbb.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hcf.
% 28.56/28.77  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  congruence.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  exact (zenon_H61 zenon_H60).
% 28.56/28.77  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.56/28.77  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.56/28.77  apply (zenon_L151_ zenon_TH_ee); trivial.
% 28.56/28.77  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_Hc2.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact gt_1_0.
% 28.56/28.77  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.56/28.77  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.56/28.77  congruence.
% 28.56/28.77  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.56/28.77  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.56/28.77  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H192.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hc0.
% 28.56/28.77  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.56/28.77  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Haa zenon_Hb3).
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  apply zenon_H9e. apply refl_equal.
% 28.56/28.77  apply zenon_H193. zenon_intro zenon_H177.
% 28.56/28.77  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.56/28.77  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.56/28.77  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.56/28.77  exact (zenon_H13f zenon_H177).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.56/28.77  exact (zenon_H133 gt_1_0).
% 28.56/28.77  exact (zenon_Hc2 zenon_Hcf).
% 28.56/28.77  apply zenon_H69. apply refl_equal.
% 28.56/28.77  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H61.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_Hb9.
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.56/28.77  congruence.
% 28.56/28.77  exact (zenon_Hba succ_tptp_minus_1).
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  apply zenon_H64. apply refl_equal.
% 28.56/28.77  (* end of lemma zenon_L152_ *)
% 28.56/28.77  assert (zenon_L153_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (n0)))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H1ef zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.77  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.56/28.77  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.56/28.77  apply (zenon_L82_); trivial.
% 28.56/28.77  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.56/28.77  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.56/28.77  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.56/28.77  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.56/28.77  exact (zenon_Ha8 zenon_H94).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.56/28.77  exact (zenon_H100 zenon_H102).
% 28.56/28.77  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 28.56/28.77  intro zenon_D_pnotp.
% 28.56/28.77  apply zenon_H1ef.
% 28.56/28.77  rewrite <- zenon_D_pnotp.
% 28.56/28.77  exact zenon_H105.
% 28.56/28.77  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.56/28.77  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.56/28.77  congruence.
% 28.56/28.77  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.56/28.77  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.56/28.77  apply zenon_H1f3. apply sym_equal. exact zenon_H1f6.
% 28.56/28.77  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.56/28.77  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.77  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.56/28.77  generalize (zenon_H1f9 (succ (n0))). zenon_intro zenon_H1fa.
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1fa); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1fb ].
% 28.56/28.77  exact (zenon_H1ee zenon_H1f7).
% 28.56/28.77  apply (zenon_imply_s _ _ zenon_H1fb); [ zenon_intro zenon_H101 | zenon_intro zenon_H1fc ].
% 28.56/28.77  exact (zenon_H101 zenon_H105).
% 28.56/28.77  exact (zenon_H1ef zenon_H1fc).
% 28.56/28.77  apply zenon_H67. apply refl_equal.
% 28.56/28.77  apply (zenon_L152_ zenon_TH_ee); trivial.
% 28.56/28.77  (* end of lemma zenon_L153_ *)
% 28.56/28.77  assert (zenon_L154_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.56/28.77  do 1 intro. intros zenon_H72 zenon_H2ad zenon_H6a zenon_H94 zenon_Hab zenon_Hac.
% 28.56/28.77  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.56/28.77  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.56/28.77  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.56/28.78  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.78  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.56/28.78  generalize (zenon_H205 (succ zenon_TH_ee)). zenon_intro zenon_H2ae.
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H2ae); [ zenon_intro zenon_H204 | zenon_intro zenon_H2af ].
% 28.56/28.78  exact (zenon_H204 zenon_H203).
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H2af); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H2b0 ].
% 28.56/28.78  exact (zenon_H1c0 zenon_H1ce).
% 28.56/28.78  exact (zenon_H2ad zenon_H2b0).
% 28.56/28.78  apply (zenon_L70_ zenon_TH_ee); trivial.
% 28.56/28.78  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H204.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact zenon_H1fc.
% 28.56/28.78  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.56/28.78  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.78  congruence.
% 28.56/28.78  apply zenon_H1e6. apply refl_equal.
% 28.56/28.78  exact (zenon_H68 successor_1).
% 28.56/28.78  apply (zenon_L153_ zenon_TH_ee); trivial.
% 28.56/28.78  (* end of lemma zenon_L154_ *)
% 28.56/28.78  assert (zenon_L155_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.56/28.78  do 1 intro. intros zenon_H72 zenon_H2a9 zenon_H1d6 zenon_H23a zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.56/28.78  elim (classic ((~((succ (succ (n0))) = (succ zenon_TH_ee)))/\(~(gt (succ (succ (n0))) (succ zenon_TH_ee))))); [ zenon_intro zenon_H2b1 | zenon_intro zenon_H2b2 ].
% 28.56/28.78  apply (zenon_and_s _ _ zenon_H2b1). zenon_intro zenon_H2b3. zenon_intro zenon_H2ad.
% 28.56/28.78  apply (zenon_L154_ zenon_TH_ee); trivial.
% 28.56/28.78  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.56/28.78  generalize (zenon_H72 (succ zenon_TH_ee)). zenon_intro zenon_H11a.
% 28.56/28.78  generalize (zenon_H11a (n0)). zenon_intro zenon_H11b.
% 28.56/28.78  generalize (zenon_H11b (n3)). zenon_intro zenon_H254.
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H70 | zenon_intro zenon_H255 ].
% 28.56/28.78  exact (zenon_H70 zenon_H6a).
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H15b | zenon_intro zenon_H256 ].
% 28.56/28.78  exact (zenon_H15b zenon_H15d).
% 28.56/28.78  cut ((gt (succ zenon_TH_ee) (n3)) = (gt (succ (succ (n0))) (n3))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H2a9.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact zenon_H256.
% 28.56/28.78  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.56/28.78  cut (((succ zenon_TH_ee) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H2b4].
% 28.56/28.78  congruence.
% 28.56/28.78  apply (zenon_notand_s _ _ zenon_H2b2); [ zenon_intro zenon_H2b6 | zenon_intro zenon_H2b5 ].
% 28.56/28.78  apply zenon_H2b6. zenon_intro zenon_H2b7.
% 28.56/28.78  apply zenon_H2b4. apply sym_equal. exact zenon_H2b7.
% 28.56/28.78  apply zenon_H2b5. zenon_intro zenon_H2b0.
% 28.56/28.78  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.56/28.78  generalize (zenon_H1f8 (succ zenon_TH_ee)). zenon_intro zenon_H2b8.
% 28.56/28.78  generalize (zenon_H2b8 (n3)). zenon_intro zenon_H2b9.
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_H2ad | zenon_intro zenon_H2ba ].
% 28.56/28.78  exact (zenon_H2ad zenon_H2b0).
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_H25e | zenon_intro zenon_H2ac ].
% 28.56/28.78  exact (zenon_H25e zenon_H256).
% 28.56/28.78  exact (zenon_H2a9 zenon_H2ac).
% 28.56/28.78  apply zenon_H5c. apply refl_equal.
% 28.56/28.78  apply (zenon_L97_ zenon_TH_ee); trivial.
% 28.56/28.78  (* end of lemma zenon_L155_ *)
% 28.56/28.78  assert (zenon_L156_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.56/28.78  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H1d6 zenon_H23a zenon_H212 zenon_H72.
% 28.56/28.78  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.56/28.78  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.56/28.78  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H212.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact zenon_H2ac.
% 28.56/28.78  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.56/28.78  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.56/28.78  congruence.
% 28.56/28.78  apply zenon_H1e6. apply refl_equal.
% 28.56/28.78  exact (zenon_H8f zenon_H20e).
% 28.56/28.78  apply (zenon_L155_ zenon_TH_ee); trivial.
% 28.56/28.78  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.56/28.78  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H8f.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact zenon_H20f.
% 28.56/28.78  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.56/28.78  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.56/28.78  congruence.
% 28.56/28.78  exact (zenon_H211 successor_3).
% 28.56/28.78  apply zenon_H210. apply refl_equal.
% 28.56/28.78  apply zenon_H210. apply refl_equal.
% 28.56/28.78  (* end of lemma zenon_L156_ *)
% 28.56/28.78  assert (zenon_L157_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.56/28.78  do 1 intro. intros zenon_H72 zenon_H209 zenon_H23a zenon_H1d6 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5.
% 28.56/28.78  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.56/28.78  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.56/28.78  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.56/28.78  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.56/28.78  exact (zenon_H78 gt_2_1).
% 28.56/28.78  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.56/28.78  exact (zenon_H15c zenon_H160).
% 28.56/28.78  exact (zenon_H209 zenon_H20c).
% 28.56/28.78  apply (zenon_L98_ zenon_TH_ee); trivial.
% 28.56/28.78  (* end of lemma zenon_L157_ *)
% 28.56/28.78  assert (zenon_L158_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.56/28.78  do 1 intro. intros zenon_H23a zenon_H1d6 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H72 zenon_H1fd.
% 28.56/28.78  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.56/28.78  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.56/28.78  apply (zenon_L157_ zenon_TH_ee); trivial.
% 28.56/28.78  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H1fd.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact gt_3_2.
% 28.56/28.78  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.78  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.56/28.78  congruence.
% 28.56/28.78  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.56/28.78  apply zenon_H219. zenon_intro zenon_H21a.
% 28.56/28.78  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.56/28.78  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.56/28.78  intro zenon_D_pnotp.
% 28.56/28.78  apply zenon_H217.
% 28.56/28.78  rewrite <- zenon_D_pnotp.
% 28.56/28.78  exact zenon_H200.
% 28.56/28.78  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.56/28.78  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.56/28.78  congruence.
% 28.56/28.78  exact (zenon_H216 zenon_H21a).
% 28.56/28.78  apply zenon_H5d. apply refl_equal.
% 28.56/28.78  apply zenon_H5d. apply refl_equal.
% 28.56/28.78  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.79  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.79  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.79  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.79  exact (zenon_H209 zenon_H20c).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.79  exact (zenon_H7f gt_3_2).
% 28.63/28.79  exact (zenon_H1fd zenon_H21e).
% 28.63/28.79  apply zenon_H5d. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L158_ *)
% 28.63/28.79  assert (zenon_L159_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H23a zenon_H1d6 zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hc5 zenon_H21f zenon_H72.
% 28.63/28.79  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.79  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 (succ (succ (n0)))). zenon_intro zenon_H221.
% 28.63/28.79  generalize (zenon_H221 (succ (succ (succ (n0))))). zenon_intro zenon_H222.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H222); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H223 ].
% 28.63/28.79  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H223); [ zenon_intro zenon_H212 | zenon_intro zenon_H224 ].
% 28.63/28.79  exact (zenon_H212 zenon_H220).
% 28.63/28.79  exact (zenon_H21f zenon_H224).
% 28.63/28.79  apply (zenon_L156_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1e2.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1d5.
% 28.63/28.79  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.79  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.63/28.79  apply (zenon_L112_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1d2.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact gt_3_2.
% 28.63/28.79  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.79  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.63/28.79  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H22c.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H228 zenon_H22f).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.63/28.79  generalize (zenon_H230 (n2)). zenon_intro zenon_H231.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H227 | zenon_intro zenon_H232 ].
% 28.63/28.79  exact (zenon_H227 zenon_H22b).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H232); [ zenon_intro zenon_H7f | zenon_intro zenon_H1d5 ].
% 28.63/28.79  exact (zenon_H7f gt_3_2).
% 28.63/28.79  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.79  apply zenon_H5d. apply refl_equal.
% 28.63/28.79  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1e4.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1e5.
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H1e7 successor_2).
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L159_ *)
% 28.63/28.79  assert (zenon_L160_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2bb zenon_H1d6 zenon_H23a zenon_H236 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.79  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.79  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ].
% 28.63/28.79  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H233 | zenon_intro zenon_H208 ].
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (n3)). zenon_intro zenon_H2bc.
% 28.63/28.79  generalize (zenon_H2bc (succ (succ (n0)))). zenon_intro zenon_H2bd.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2bd); [ zenon_intro zenon_H290 | zenon_intro zenon_H2be ].
% 28.63/28.79  exact (zenon_H290 zenon_H28f).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2be); [ zenon_intro zenon_H208 | zenon_intro zenon_H2bf ].
% 28.63/28.79  exact (zenon_H208 zenon_H233).
% 28.63/28.79  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.79  apply (zenon_L86_); trivial.
% 28.63/28.79  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H290.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H28a.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  exact (zenon_H211 successor_3).
% 28.63/28.79  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.79  apply (zenon_L5_); trivial.
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.79  generalize (zenon_Hc9 (succ (succ (succ (n0))))). zenon_intro zenon_H286.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H287 ].
% 28.63/28.79  exact (zenon_Ha8 zenon_H94).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H281 | zenon_intro zenon_H224 ].
% 28.63/28.79  exact (zenon_H281 zenon_H284).
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H285.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H224.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.79  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.79  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.79  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.79  generalize (zenon_H173 (succ (succ (succ (n0))))). zenon_intro zenon_H288.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H62 | zenon_intro zenon_H289 ].
% 28.63/28.79  exact (zenon_H62 zenon_H172).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H289); [ zenon_intro zenon_H21f | zenon_intro zenon_H28a ].
% 28.63/28.79  exact (zenon_H21f zenon_H224).
% 28.63/28.79  exact (zenon_H285 zenon_H28a).
% 28.63/28.79  apply zenon_H210. apply refl_equal.
% 28.63/28.79  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.79  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.79  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.79  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.63/28.79  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.63/28.79  exact (zenon_H21f zenon_H224).
% 28.63/28.79  exact (zenon_H281 zenon_H284).
% 28.63/28.79  apply (zenon_L159_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hbb.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hcf.
% 28.63/28.79  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  exact (zenon_H61 zenon_H60).
% 28.63/28.79  apply (zenon_L94_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H61.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L160_ *)
% 28.63/28.79  assert (zenon_L161_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H246 zenon_H2bb zenon_H1d6 zenon_H236 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.79  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.79  apply (zenon_L5_); trivial.
% 28.63/28.79  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H246.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H94.
% 28.63/28.79  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.79  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.79  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hff.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H66.
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H16e zenon_H171).
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.79  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.63/28.79  exact (zenon_H62 zenon_H172).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.63/28.79  exact (zenon_Ha8 zenon_H94).
% 28.63/28.79  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H246.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H176.
% 28.63/28.79  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  exact (zenon_Hab zenon_Hb5).
% 28.63/28.79  exact (zenon_Hab zenon_Hb5).
% 28.63/28.79  elim (classic (gt zenon_TH_ee (n2))); [ zenon_intro zenon_H240 | zenon_intro zenon_H23a ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.79  generalize (zenon_Hc9 (n2)). zenon_intro zenon_H247.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H248 ].
% 28.63/28.79  exact (zenon_Ha8 zenon_H94).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H23a | zenon_intro zenon_H1d5 ].
% 28.63/28.79  exact (zenon_H23a zenon_H240).
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H246.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1d5.
% 28.63/28.79  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.79  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.79  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.79  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.79  generalize (zenon_H173 (n2)). zenon_intro zenon_H249.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H249); [ zenon_intro zenon_H62 | zenon_intro zenon_H24a ].
% 28.63/28.79  exact (zenon_H62 zenon_H172).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H24a); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H24b ].
% 28.63/28.79  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.79  exact (zenon_H246 zenon_H24b).
% 28.63/28.79  apply zenon_H5d. apply refl_equal.
% 28.63/28.79  apply (zenon_L160_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L161_ *)
% 28.63/28.79  assert (zenon_L162_ : forall (zenon_TH_ee : zenon_U), (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H2bb zenon_H1d6 zenon_H236 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H72.
% 28.63/28.79  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.79  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.79  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2bb.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H24b.
% 28.63/28.79  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.79  apply (zenon_L161_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1e4.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1e5.
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H1e7 successor_2).
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L162_ *)
% 28.63/28.79  assert (zenon_L163_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2bb zenon_H1d6 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.79  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.79  apply (zenon_L5_); trivial.
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.79  generalize (zenon_Hc9 (succ (succ (n0)))). zenon_intro zenon_H2c0.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c0); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2c1 ].
% 28.63/28.79  exact (zenon_Ha8 zenon_H94).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H236 | zenon_intro zenon_H1e9 ].
% 28.63/28.79  exact (zenon_H236 zenon_H239).
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2bb.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1e9.
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.79  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.79  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.79  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.79  generalize (zenon_H173 (succ (succ (n0)))). zenon_intro zenon_H2c2.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c2); [ zenon_intro zenon_H62 | zenon_intro zenon_H2c3 ].
% 28.63/28.79  exact (zenon_H62 zenon_H172).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c3); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H2bf ].
% 28.63/28.79  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.79  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  apply (zenon_L162_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L163_ *)
% 28.63/28.79  assert (zenon_L164_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H180 zenon_H15b zenon_H21f zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6.
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.79  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.79  generalize (zenon_H1ca (succ (succ (succ (n0))))). zenon_intro zenon_H2c6.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H17d | zenon_intro zenon_H2c7 ].
% 28.63/28.79  exact (zenon_H17d zenon_H17a).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c7); [ zenon_intro zenon_H2c5 | zenon_intro zenon_H224 ].
% 28.63/28.79  exact (zenon_H2c5 zenon_H2c4).
% 28.63/28.79  exact (zenon_H21f zenon_H224).
% 28.63/28.79  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.79  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.79  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.79  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.79  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.79  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.63/28.79  generalize (zenon_H24c (succ (succ (succ (n0))))). zenon_intro zenon_H2c8.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c8); [ zenon_intro zenon_H136 | zenon_intro zenon_H2c9 ].
% 28.63/28.79  exact (zenon_H136 zenon_H135).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H285 | zenon_intro zenon_H2c4 ].
% 28.63/28.79  exact (zenon_H285 zenon_H28a).
% 28.63/28.79  exact (zenon_H2c5 zenon_H2c4).
% 28.63/28.79  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.79  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.79  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H213 | zenon_intro zenon_H20d ].
% 28.63/28.79  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.79  generalize (zenon_H124 (n2)). zenon_intro zenon_H2ca.
% 28.63/28.79  generalize (zenon_H2ca (succ (succ (succ (n0))))). zenon_intro zenon_H2cb.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2cb); [ zenon_intro zenon_H246 | zenon_intro zenon_H2cc ].
% 28.63/28.79  exact (zenon_H246 zenon_H24b).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_H20d | zenon_intro zenon_H28a ].
% 28.63/28.79  exact (zenon_H20d zenon_H213).
% 28.63/28.79  exact (zenon_H285 zenon_H28a).
% 28.63/28.79  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.79  elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H21e | zenon_intro zenon_H1fd ].
% 28.63/28.79  elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H2cd | zenon_intro zenon_H2ce ].
% 28.63/28.79  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.63/28.79  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.79  generalize (zenon_H74 (succ (succ (n0)))). zenon_intro zenon_H2cf.
% 28.63/28.79  generalize (zenon_H2cf (succ (succ (succ (n0))))). zenon_intro zenon_H2d0.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d0); [ zenon_intro zenon_H2ce | zenon_intro zenon_H2d1 ].
% 28.63/28.79  exact (zenon_H2ce zenon_H2cd).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d1); [ zenon_intro zenon_H212 | zenon_intro zenon_H213 ].
% 28.63/28.79  exact (zenon_H212 zenon_H220).
% 28.63/28.79  exact (zenon_H20d zenon_H213).
% 28.63/28.79  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.63/28.79  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.79  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H212.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H2ac.
% 28.63/28.79  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  exact (zenon_H8f zenon_H20e).
% 28.63/28.79  apply (zenon_L148_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H8f.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H20f.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H211 successor_3).
% 28.63/28.79  apply zenon_H210. apply refl_equal.
% 28.63/28.79  apply zenon_H210. apply refl_equal.
% 28.63/28.79  cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2ce.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H21e.
% 28.63/28.79  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.79  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H5d. apply refl_equal.
% 28.63/28.79  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.79  apply (zenon_L111_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1e4.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1e5.
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H1e7 successor_2).
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H246.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H2bf.
% 28.63/28.79  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  exact (zenon_H1e7 successor_2).
% 28.63/28.79  apply (zenon_L163_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H136.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H134.
% 28.63/28.79  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.79  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H5e. apply refl_equal.
% 28.63/28.79  exact (zenon_H65 zenon_H111).
% 28.63/28.79  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H65.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H66.
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H17d.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H105.
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply (zenon_L142_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L164_ *)
% 28.63/28.79  assert (zenon_L165_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H1d6 zenon_H180 zenon_H15b zenon_H295 zenon_H72.
% 28.63/28.79  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.79  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H296 | zenon_intro zenon_H297 ].
% 28.63/28.79  cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H295.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H296.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.79  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.79  congruence.
% 28.63/28.79  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hce.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hd0.
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.79  apply zenon_Hd1. apply refl_equal.
% 28.63/28.79  apply zenon_Hd1. apply refl_equal.
% 28.63/28.79  apply zenon_H210. apply refl_equal.
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H297.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H224.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.79  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hba.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hc1.
% 28.63/28.79  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.79  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H61 zenon_H60).
% 28.63/28.79  apply zenon_H69. apply refl_equal.
% 28.63/28.79  apply zenon_H69. apply refl_equal.
% 28.63/28.79  apply zenon_H210. apply refl_equal.
% 28.63/28.79  apply (zenon_L164_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H61.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L165_ *)
% 28.63/28.79  assert (zenon_L166_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_H15b zenon_Hdf zenon_H180 zenon_H72 zenon_Hc5.
% 28.63/28.79  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.79  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.79  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.79  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H29d | zenon_intro zenon_H293 ].
% 28.63/28.79  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.79  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.79  generalize (zenon_H1d9 (n3)). zenon_intro zenon_H2d2.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d2); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H2d3 ].
% 28.63/28.79  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d3); [ zenon_intro zenon_H293 | zenon_intro zenon_H15d ].
% 28.63/28.79  exact (zenon_H293 zenon_H29d).
% 28.63/28.79  exact (zenon_H15b zenon_H15d).
% 28.63/28.79  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 28.63/28.79  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H293.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H294.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_Hd1. apply refl_equal.
% 28.63/28.79  exact (zenon_H211 successor_3).
% 28.63/28.79  apply (zenon_L165_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hd5.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1ac.
% 28.63/28.79  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.79  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H69. apply refl_equal.
% 28.63/28.79  exact (zenon_Hce zenon_Hcd).
% 28.63/28.79  apply (zenon_L123_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hce.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hd0.
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.79  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.79  apply zenon_Hd1. apply refl_equal.
% 28.63/28.79  apply zenon_Hd1. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L166_ *)
% 28.63/28.79  assert (zenon_L167_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H15b zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hfd | zenon_intro zenon_Hdf ].
% 28.63/28.79  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H15b.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact gt_0_tptp_minus_1.
% 28.63/28.79  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.63/28.79  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H69. apply refl_equal.
% 28.63/28.79  exact (zenon_Hdf zenon_Hfd).
% 28.63/28.79  elim (classic (gt (tptp_minus_1) (n3))); [ zenon_intro zenon_H184 | zenon_intro zenon_H180 ].
% 28.63/28.79  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.79  generalize (zenon_H10c (tptp_minus_1)). zenon_intro zenon_H10d.
% 28.63/28.79  generalize (zenon_H10d (n3)). zenon_intro zenon_H2d4.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_Hf8 | zenon_intro zenon_H2d5 ].
% 28.63/28.79  exact (zenon_Hf8 gt_0_tptp_minus_1).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_H180 | zenon_intro zenon_H15d ].
% 28.63/28.79  exact (zenon_H180 zenon_H184).
% 28.63/28.79  exact (zenon_H15b zenon_H15d).
% 28.63/28.79  apply (zenon_L166_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L167_ *)
% 28.63/28.79  assert (zenon_L168_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H209 zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6.
% 28.63/28.79  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.63/28.79  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.79  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.63/28.79  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.63/28.79  exact (zenon_H78 gt_2_1).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.63/28.79  exact (zenon_H15c zenon_H160).
% 28.63/28.79  exact (zenon_H209 zenon_H20c).
% 28.63/28.79  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.63/28.79  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.79  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.63/28.79  generalize (zenon_H130 (n3)). zenon_intro zenon_H15e.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H15e); [ zenon_intro zenon_H133 | zenon_intro zenon_H15f ].
% 28.63/28.79  exact (zenon_H133 gt_1_0).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H15f); [ zenon_intro zenon_H15b | zenon_intro zenon_H160 ].
% 28.63/28.79  exact (zenon_H15b zenon_H15d).
% 28.63/28.79  exact (zenon_H15c zenon_H160).
% 28.63/28.79  apply (zenon_L167_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L168_ *)
% 28.63/28.79  assert (zenon_L169_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H28b zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5.
% 28.63/28.79  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.63/28.79  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.63/28.79  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.63/28.79  generalize (zenon_H7c (n3)). zenon_intro zenon_H28c.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H28c); [ zenon_intro zenon_H7f | zenon_intro zenon_H28d ].
% 28.63/28.79  exact (zenon_H7f gt_3_2).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H28d); [ zenon_intro zenon_H209 | zenon_intro zenon_H28e ].
% 28.63/28.79  exact (zenon_H209 zenon_H20c).
% 28.63/28.79  exact (zenon_H28b zenon_H28e).
% 28.63/28.79  apply (zenon_L168_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L169_ *)
% 28.63/28.79  assert (zenon_L170_ : forall (zenon_TH_ee : zenon_U), (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5 zenon_H21f zenon_H72.
% 28.63/28.79  apply (zenon_L115_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L170_ *)
% 28.63/28.79  assert (zenon_L171_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  apply (zenon_L170_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L171_ *)
% 28.63/28.79  assert (zenon_L172_ : forall (zenon_TH_ee : zenon_U), (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H21f zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5 zenon_H72.
% 28.63/28.79  apply (zenon_L171_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L172_ *)
% 28.63/28.79  assert (zenon_L173_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hbf zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  apply (zenon_L172_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L173_ *)
% 28.63/28.79  assert (zenon_L174_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hbf zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6.
% 28.63/28.79  apply (zenon_L173_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L174_ *)
% 28.63/28.79  assert (zenon_L175_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((n0) = zenon_TH_ee)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_Hbf zenon_H21f zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  apply (zenon_L174_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L175_ *)
% 28.63/28.79  assert (zenon_L176_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H236 zenon_H23a zenon_H1d6 zenon_H1e2 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.79  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1e8 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.79  generalize (zenon_H1ca (succ (succ (n0)))). zenon_intro zenon_H2d6.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d6); [ zenon_intro zenon_H17d | zenon_intro zenon_H2d7 ].
% 28.63/28.79  exact (zenon_H17d zenon_H17a).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d7); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H1e9 ].
% 28.63/28.79  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.79  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.79  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.79  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.79  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.79  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.79  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.79  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.63/28.79  generalize (zenon_H24c (succ (succ (n0)))). zenon_intro zenon_H2d8.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d8); [ zenon_intro zenon_H136 | zenon_intro zenon_H2d9 ].
% 28.63/28.79  exact (zenon_H136 zenon_H135).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2d9); [ zenon_intro zenon_H2bb | zenon_intro zenon_H1ed ].
% 28.63/28.79  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.79  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.79  apply (zenon_L160_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H136.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H134.
% 28.63/28.79  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.79  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H5e. apply refl_equal.
% 28.63/28.79  exact (zenon_H65 zenon_H111).
% 28.63/28.79  apply (zenon_L50_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H65.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H66.
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H17d.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H105.
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply (zenon_L72_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L176_ *)
% 28.63/28.79  assert (zenon_L177_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_Hc5 zenon_H236 zenon_H23a zenon_H1d6 zenon_H72.
% 28.63/28.79  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.79  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.79  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.79  generalize (zenon_H13c (succ (succ (n0)))). zenon_intro zenon_H237.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H237); [ zenon_intro zenon_Hbb | zenon_intro zenon_H238 ].
% 28.63/28.79  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H238); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H239 ].
% 28.63/28.79  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.79  exact (zenon_H236 zenon_H239).
% 28.63/28.79  apply (zenon_L176_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hbb.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hcf.
% 28.63/28.79  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  exact (zenon_H61 zenon_H60).
% 28.63/28.79  apply (zenon_L94_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H61.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L177_ *)
% 28.63/28.79  assert (zenon_L178_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n2))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H23a zenon_H1d6 zenon_Hc5 zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.63/28.79  cut ((gt zenon_TH_ee (succ (succ (n0)))) = (gt zenon_TH_ee (n2))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H23a.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H239.
% 28.63/28.79  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  exact (zenon_H1e7 successor_2).
% 28.63/28.79  apply (zenon_L177_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L178_ *)
% 28.63/28.79  assert (zenon_L179_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_Hc2 zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6.
% 28.63/28.79  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.63/28.79  apply (zenon_L178_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n2) (n0)) = (gt zenon_TH_ee (n0))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hc2.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact gt_2_0.
% 28.63/28.79  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.79  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.63/28.79  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.63/28.79  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H23d.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hc0.
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hab zenon_Hb5).
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  apply zenon_H23e. zenon_intro zenon_H240.
% 28.63/28.79  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.79  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.63/28.79  generalize (zenon_H241 (n0)). zenon_intro zenon_H277.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H277); [ zenon_intro zenon_H23a | zenon_intro zenon_H278 ].
% 28.63/28.79  exact (zenon_H23a zenon_H240).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_H18c | zenon_intro zenon_Hcf ].
% 28.63/28.79  exact (zenon_H18c gt_2_0).
% 28.63/28.79  exact (zenon_Hc2 zenon_Hcf).
% 28.63/28.79  apply zenon_H69. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L179_ *)
% 28.63/28.79  assert (zenon_L180_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TH_ee)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1d6 zenon_H281 zenon_Hbf zenon_H72.
% 28.63/28.79  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.79  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.79  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.79  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.63/28.79  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.63/28.79  exact (zenon_H21f zenon_H224).
% 28.63/28.79  exact (zenon_H281 zenon_H284).
% 28.63/28.79  apply (zenon_L175_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_Hbb.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hcf.
% 28.63/28.79  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  exact (zenon_H61 zenon_H60).
% 28.63/28.79  apply (zenon_L179_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H61.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L180_ *)
% 28.63/28.79  assert (zenon_L181_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n3))) -> (~((n0) = zenon_TH_ee)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2da zenon_Hbf zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1d6.
% 28.63/28.79  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.79  cut ((gt zenon_TH_ee (succ (succ (succ (n0))))) = (gt zenon_TH_ee (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2da.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H284.
% 28.63/28.79  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.79  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H9e. apply refl_equal.
% 28.63/28.79  exact (zenon_H211 successor_3).
% 28.63/28.79  apply (zenon_L180_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L181_ *)
% 28.63/28.79  assert (zenon_L182_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1c0 zenon_H2da zenon_H72.
% 28.63/28.79  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.79  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.79  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.79  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TH_ee))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H1c0.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H135.
% 28.63/28.79  cut (((succ (n0)) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 28.63/28.79  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H5e. apply refl_equal.
% 28.63/28.79  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_L181_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H136.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H134.
% 28.63/28.79  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.79  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H5e. apply refl_equal.
% 28.63/28.79  exact (zenon_H65 zenon_H111).
% 28.63/28.79  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.79  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H65.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H66.
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  (* end of lemma zenon_L182_ *)
% 28.63/28.79  assert (zenon_L183_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H101 zenon_H1d6 zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.79  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H107 | zenon_intro zenon_H108 ].
% 28.63/28.79  cut ((gt (n0) (succ (n0))) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H101.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H107.
% 28.63/28.79  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.79  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.79  congruence.
% 28.63/28.79  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H61.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_Hb9.
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.79  congruence.
% 28.63/28.79  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  apply zenon_H67. apply refl_equal.
% 28.63/28.79  apply (zenon_L141_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L183_ *)
% 28.63/28.79  assert (zenon_L184_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n3))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2da zenon_H1cd zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6.
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.79  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.79  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.63/28.79  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.79  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.79  generalize (zenon_H1ca (succ zenon_TH_ee)). zenon_intro zenon_H1cf.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H1cf); [ zenon_intro zenon_H17d | zenon_intro zenon_H1d0 ].
% 28.63/28.79  exact (zenon_H17d zenon_H17a).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H1d0); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H1d1 ].
% 28.63/28.79  exact (zenon_H1c0 zenon_H1ce).
% 28.63/28.79  exact (zenon_H1cd zenon_H1d1).
% 28.63/28.79  apply (zenon_L182_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H17d.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H105.
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H64. apply refl_equal.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply (zenon_L183_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L184_ *)
% 28.63/28.79  assert (zenon_L185_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2da zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H2ad.
% 28.63/28.79  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.63/28.79  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.63/28.79  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.63/28.79  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.79  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.63/28.79  generalize (zenon_H205 (succ zenon_TH_ee)). zenon_intro zenon_H2ae.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2ae); [ zenon_intro zenon_H204 | zenon_intro zenon_H2af ].
% 28.63/28.79  exact (zenon_H204 zenon_H203).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2af); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H2b0 ].
% 28.63/28.79  exact (zenon_H1c0 zenon_H1ce).
% 28.63/28.79  exact (zenon_H2ad zenon_H2b0).
% 28.63/28.79  apply (zenon_L182_ zenon_TH_ee); trivial.
% 28.63/28.79  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H204.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H1fc.
% 28.63/28.79  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.79  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.79  congruence.
% 28.63/28.79  apply zenon_H1e6. apply refl_equal.
% 28.63/28.79  exact (zenon_H68 successor_1).
% 28.63/28.79  apply (zenon_L147_); trivial.
% 28.63/28.79  (* end of lemma zenon_L185_ *)
% 28.63/28.79  assert (zenon_L186_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H2da zenon_H72 zenon_H2a9 zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6.
% 28.63/28.79  elim (classic ((~((succ (succ (n0))) = (succ zenon_TH_ee)))/\(~(gt (succ (succ (n0))) (succ zenon_TH_ee))))); [ zenon_intro zenon_H2b1 | zenon_intro zenon_H2b2 ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H2b1). zenon_intro zenon_H2b3. zenon_intro zenon_H2ad.
% 28.63/28.79  apply (zenon_L185_ zenon_TH_ee); trivial.
% 28.63/28.79  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.63/28.79  generalize (zenon_H72 (succ zenon_TH_ee)). zenon_intro zenon_H11a.
% 28.63/28.79  generalize (zenon_H11a (n0)). zenon_intro zenon_H11b.
% 28.63/28.79  generalize (zenon_H11b (n3)). zenon_intro zenon_H254.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H70 | zenon_intro zenon_H255 ].
% 28.63/28.79  exact (zenon_H70 zenon_H6a).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H15b | zenon_intro zenon_H256 ].
% 28.63/28.79  exact (zenon_H15b zenon_H15d).
% 28.63/28.79  cut ((gt (succ zenon_TH_ee) (n3)) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2a9.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.79  exact zenon_H256.
% 28.63/28.79  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.79  cut (((succ zenon_TH_ee) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H2b4].
% 28.63/28.79  congruence.
% 28.63/28.79  apply (zenon_notand_s _ _ zenon_H2b2); [ zenon_intro zenon_H2b6 | zenon_intro zenon_H2b5 ].
% 28.63/28.79  apply zenon_H2b6. zenon_intro zenon_H2b7.
% 28.63/28.79  apply zenon_H2b4. apply sym_equal. exact zenon_H2b7.
% 28.63/28.79  apply zenon_H2b5. zenon_intro zenon_H2b0.
% 28.63/28.79  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.79  generalize (zenon_H1f8 (succ zenon_TH_ee)). zenon_intro zenon_H2b8.
% 28.63/28.79  generalize (zenon_H2b8 (n3)). zenon_intro zenon_H2b9.
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_H2ad | zenon_intro zenon_H2ba ].
% 28.63/28.79  exact (zenon_H2ad zenon_H2b0).
% 28.63/28.79  apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_H25e | zenon_intro zenon_H2ac ].
% 28.63/28.79  exact (zenon_H25e zenon_H256).
% 28.63/28.79  exact (zenon_H2a9 zenon_H2ac).
% 28.63/28.79  apply zenon_H5c. apply refl_equal.
% 28.63/28.79  apply (zenon_L167_ zenon_TH_ee); trivial.
% 28.63/28.79  (* end of lemma zenon_L186_ *)
% 28.63/28.79  assert (zenon_L187_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.79  do 1 intro. intros zenon_H72 zenon_H2a9 zenon_H1d6 zenon_H6a zenon_H94 zenon_Hc5.
% 28.63/28.79  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.63/28.79  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.63/28.79  apply (zenon_L82_); trivial.
% 28.63/28.79  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.79  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.79  intro zenon_D_pnotp.
% 28.63/28.79  apply zenon_H2a9.
% 28.63/28.79  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H94.
% 28.63/28.80  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.80  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.80  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1f3.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1e5.
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H1f2 zenon_H1f6).
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.80  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.80  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.80  generalize (zenon_H1f9 zenon_TH_ee). zenon_intro zenon_H2db.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2dc ].
% 28.63/28.80  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2dd ].
% 28.63/28.80  exact (zenon_Ha8 zenon_H94).
% 28.63/28.80  cut ((gt (succ (succ (n0))) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2a9.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2dd.
% 28.63/28.80  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  exact (zenon_Hac zenon_Hb4).
% 28.63/28.80  exact (zenon_Hac zenon_Hb4).
% 28.63/28.80  elim (classic (gt zenon_TH_ee (n3))); [ zenon_intro zenon_H2de | zenon_intro zenon_H2da ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.80  generalize (zenon_Hc9 (n3)). zenon_intro zenon_H2df.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2df); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2e0 ].
% 28.63/28.80  exact (zenon_Ha8 zenon_H94).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2e0); [ zenon_intro zenon_H2da | zenon_intro zenon_H22b ].
% 28.63/28.80  exact (zenon_H2da zenon_H2de).
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2a9.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H22b.
% 28.63/28.80  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.80  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.80  apply zenon_H1f3. apply sym_equal. exact zenon_H1f6.
% 28.63/28.80  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.80  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.80  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.80  generalize (zenon_H1f9 (n3)). zenon_intro zenon_H2e1.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2e1); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2e2 ].
% 28.63/28.80  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2e2); [ zenon_intro zenon_H227 | zenon_intro zenon_H2ac ].
% 28.63/28.80  exact (zenon_H227 zenon_H22b).
% 28.63/28.80  exact (zenon_H2a9 zenon_H2ac).
% 28.63/28.80  apply zenon_H5c. apply refl_equal.
% 28.63/28.80  apply (zenon_L186_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L187_ *)
% 28.63/28.80  assert (zenon_L188_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hc5 zenon_H209 zenon_H72.
% 28.63/28.80  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.80  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.80  cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H209.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2ac.
% 28.63/28.80  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.80  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.80  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1e7.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H200.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H5c. apply refl_equal.
% 28.63/28.80  apply (zenon_L187_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1e4.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1e5.
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H1e7 successor_2).
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L188_ *)
% 28.63/28.80  assert (zenon_L189_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H28b zenon_H1d6 zenon_H6a zenon_H94 zenon_Hc5.
% 28.63/28.80  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.63/28.80  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.63/28.80  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.63/28.80  generalize (zenon_H7c (n3)). zenon_intro zenon_H28c.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H28c); [ zenon_intro zenon_H7f | zenon_intro zenon_H28d ].
% 28.63/28.80  exact (zenon_H7f gt_3_2).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H28d); [ zenon_intro zenon_H209 | zenon_intro zenon_H28e ].
% 28.63/28.80  exact (zenon_H209 zenon_H20c).
% 28.63/28.80  exact (zenon_H28b zenon_H28e).
% 28.63/28.80  apply (zenon_L188_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L189_ *)
% 28.63/28.80  assert (zenon_L190_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hc5 zenon_H212 zenon_H72.
% 28.63/28.80  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.63/28.80  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.80  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H212.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2ac.
% 28.63/28.80  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  exact (zenon_H8f zenon_H20e).
% 28.63/28.80  apply (zenon_L187_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H8f.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H20f.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H211 successor_3).
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L190_ *)
% 28.63/28.80  assert (zenon_L191_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (n3))) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H2da zenon_H212 zenon_H72.
% 28.63/28.80  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.63/28.80  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.80  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H212.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2ac.
% 28.63/28.80  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  exact (zenon_H8f zenon_H20e).
% 28.63/28.80  apply (zenon_L186_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H8f.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H20f.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H211 successor_3).
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L191_ *)
% 28.63/28.80  assert (zenon_L192_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H6a zenon_H1d6 zenon_H72 zenon_H1fd.
% 28.63/28.80  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.63/28.80  apply (zenon_L168_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1fd.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_2.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.63/28.80  apply zenon_H219. zenon_intro zenon_H21a.
% 28.63/28.80  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.80  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H217.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H200.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H216 zenon_H21a).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.80  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.80  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.80  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.80  exact (zenon_H209 zenon_H20c).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.80  exact (zenon_H7f gt_3_2).
% 28.63/28.80  exact (zenon_H1fd zenon_H21e).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L192_ *)
% 28.63/28.80  assert (zenon_L193_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H20d zenon_H2da zenon_H72.
% 28.63/28.80  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.80  elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H21e | zenon_intro zenon_H1fd ].
% 28.63/28.80  elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H2cd | zenon_intro zenon_H2ce ].
% 28.63/28.80  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.63/28.80  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.80  generalize (zenon_H74 (succ (succ (n0)))). zenon_intro zenon_H2cf.
% 28.63/28.80  generalize (zenon_H2cf (succ (succ (succ (n0))))). zenon_intro zenon_H2d0.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2d0); [ zenon_intro zenon_H2ce | zenon_intro zenon_H2d1 ].
% 28.63/28.80  exact (zenon_H2ce zenon_H2cd).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2d1); [ zenon_intro zenon_H212 | zenon_intro zenon_H213 ].
% 28.63/28.80  exact (zenon_H212 zenon_H220).
% 28.63/28.80  exact (zenon_H20d zenon_H213).
% 28.63/28.80  apply (zenon_L191_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2ce.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H21e.
% 28.63/28.80  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.80  apply (zenon_L192_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1e4.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1e5.
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H1e7 successor_2).
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L193_ *)
% 28.63/28.80  assert (zenon_L194_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H2da zenon_H21f zenon_Hc5 zenon_H6a zenon_H94 zenon_Hac zenon_H1d6.
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.80  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2c4 | zenon_intro zenon_H2c5 ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.80  generalize (zenon_H1ca (succ (succ (succ (n0))))). zenon_intro zenon_H2c6.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H17d | zenon_intro zenon_H2c7 ].
% 28.63/28.80  exact (zenon_H17d zenon_H17a).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2c7); [ zenon_intro zenon_H2c5 | zenon_intro zenon_H224 ].
% 28.63/28.80  exact (zenon_H2c5 zenon_H2c4).
% 28.63/28.80  exact (zenon_H21f zenon_H224).
% 28.63/28.80  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.80  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.80  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.80  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.80  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.80  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.63/28.80  generalize (zenon_H24c (succ (succ (succ (n0))))). zenon_intro zenon_H2c8.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2c8); [ zenon_intro zenon_H136 | zenon_intro zenon_H2c9 ].
% 28.63/28.80  exact (zenon_H136 zenon_H135).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H285 | zenon_intro zenon_H2c4 ].
% 28.63/28.80  exact (zenon_H285 zenon_H28a).
% 28.63/28.80  exact (zenon_H2c5 zenon_H2c4).
% 28.63/28.80  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.80  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.80  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H213 | zenon_intro zenon_H20d ].
% 28.63/28.80  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.80  generalize (zenon_H124 (n2)). zenon_intro zenon_H2ca.
% 28.63/28.80  generalize (zenon_H2ca (succ (succ (succ (n0))))). zenon_intro zenon_H2cb.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2cb); [ zenon_intro zenon_H246 | zenon_intro zenon_H2cc ].
% 28.63/28.80  exact (zenon_H246 zenon_H24b).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_H20d | zenon_intro zenon_H28a ].
% 28.63/28.80  exact (zenon_H20d zenon_H213).
% 28.63/28.80  exact (zenon_H285 zenon_H28a).
% 28.63/28.80  apply (zenon_L193_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H246.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2bf.
% 28.63/28.80  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.80  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  exact (zenon_H1e7 successor_2).
% 28.63/28.80  apply (zenon_L163_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H136.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H134.
% 28.63/28.80  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.80  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H5e. apply refl_equal.
% 28.63/28.80  exact (zenon_H65 zenon_H111).
% 28.63/28.80  apply (zenon_L109_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.80  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H65.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H66.
% 28.63/28.80  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.80  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H68 successor_1).
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H17d.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H105.
% 28.63/28.80  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  exact (zenon_H68 successor_1).
% 28.63/28.80  apply (zenon_L183_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L194_ *)
% 28.63/28.80  assert (zenon_L195_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_Hc5 zenon_H94 zenon_H6a zenon_H1d6 zenon_H72 zenon_H1fd.
% 28.63/28.80  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.63/28.80  apply (zenon_L188_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1fd.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_2.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.63/28.80  apply zenon_H219. zenon_intro zenon_H21a.
% 28.63/28.80  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.80  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H217.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H200.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H216 zenon_H21a).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.80  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.80  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.80  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.80  exact (zenon_H209 zenon_H20c).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.80  exact (zenon_H7f gt_3_2).
% 28.63/28.80  exact (zenon_H1fd zenon_H21e).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L195_ *)
% 28.63/28.80  assert (zenon_L196_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_Hc5 zenon_H94 zenon_H6a zenon_H1d6 zenon_H21f zenon_H72.
% 28.63/28.80  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.80  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 (succ (succ (n0)))). zenon_intro zenon_H221.
% 28.63/28.80  generalize (zenon_H221 (succ (succ (succ (n0))))). zenon_intro zenon_H222.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H222); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H223 ].
% 28.63/28.80  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H223); [ zenon_intro zenon_H212 | zenon_intro zenon_H224 ].
% 28.63/28.80  exact (zenon_H212 zenon_H220).
% 28.63/28.80  exact (zenon_H21f zenon_H224).
% 28.63/28.80  apply (zenon_L190_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1e2.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1d5.
% 28.63/28.80  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.80  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.63/28.80  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H227.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H94.
% 28.63/28.80  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  exact (zenon_Hac zenon_Hb4).
% 28.63/28.80  elim (classic (gt zenon_TH_ee (n3))); [ zenon_intro zenon_H2de | zenon_intro zenon_H2da ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.80  generalize (zenon_Hc9 (n3)). zenon_intro zenon_H2df.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2df); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2e0 ].
% 28.63/28.80  exact (zenon_Ha8 zenon_H94).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2e0); [ zenon_intro zenon_H2da | zenon_intro zenon_H22b ].
% 28.63/28.80  exact (zenon_H2da zenon_H2de).
% 28.63/28.80  exact (zenon_H227 zenon_H22b).
% 28.63/28.80  apply (zenon_L194_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1d2.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_2.
% 28.63/28.80  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.80  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.63/28.80  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H22c.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H228 zenon_H22f).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.63/28.80  generalize (zenon_H230 (n2)). zenon_intro zenon_H231.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H227 | zenon_intro zenon_H232 ].
% 28.63/28.80  exact (zenon_H227 zenon_H22b).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H232); [ zenon_intro zenon_H7f | zenon_intro zenon_H1d5 ].
% 28.63/28.80  exact (zenon_H7f gt_3_2).
% 28.63/28.80  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.80  apply zenon_H5d. apply refl_equal.
% 28.63/28.80  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1e4.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1e5.
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H1e7 successor_2).
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  apply zenon_H1e6. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L196_ *)
% 28.63/28.80  assert (zenon_L197_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5 zenon_H295 zenon_H72.
% 28.63/28.80  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.80  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H296 | zenon_intro zenon_H297 ].
% 28.63/28.80  cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H295.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H296.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.80  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hce.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd0.
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H297.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H224.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.80  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hba.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hc1.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H61 zenon_H60).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  apply (zenon_L196_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H61.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L197_ *)
% 28.63/28.80  assert (zenon_L198_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H293 zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 28.63/28.80  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H293.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H294.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  exact (zenon_H211 successor_3).
% 28.63/28.80  apply (zenon_L197_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L198_ *)
% 28.63/28.80  assert (zenon_L199_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5 zenon_H72 zenon_Hd8.
% 28.63/28.80  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n3)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))))); [ zenon_intro zenon_H2e3 | zenon_intro zenon_H2e4 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H2e3). zenon_intro zenon_H2e5. zenon_intro zenon_H293.
% 28.63/28.80  apply (zenon_L198_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hd8.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_0.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n3) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H2e6].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H2e4); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e7 ].
% 28.63/28.80  apply zenon_H2e8. zenon_intro zenon_H2e9.
% 28.63/28.80  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n3) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2e6.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd0.
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H2e5].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H2e5 zenon_H2e9).
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_H2e7. zenon_intro zenon_H29d.
% 28.63/28.80  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.63/28.80  generalize (zenon_H19b (n3)). zenon_intro zenon_H2ea.
% 28.63/28.80  generalize (zenon_H2ea (n0)). zenon_intro zenon_H2eb.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2eb); [ zenon_intro zenon_H293 | zenon_intro zenon_H2ec ].
% 28.63/28.80  exact (zenon_H293 zenon_H29d).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2ec); [ zenon_intro zenon_H18f | zenon_intro zenon_Hd7 ].
% 28.63/28.80  exact (zenon_H18f gt_3_0).
% 28.63/28.80  exact (zenon_Hd8 zenon_Hd7).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L199_ *)
% 28.63/28.80  assert (zenon_L200_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H6a zenon_H94 zenon_H1d6 zenon_H72 zenon_Hd6 zenon_Hc5.
% 28.63/28.80  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd7 | zenon_intro zenon_Hd8 ].
% 28.63/28.80  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hd6.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd7.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.80  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hd2.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hc1.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hce zenon_Hcd).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply (zenon_L199_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hce.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd0.
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L200_ *)
% 28.63/28.80  assert (zenon_L201_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> (~((n0) = zenon_TH_ee)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_Hc5 zenon_H6a zenon_H94 zenon_H1d6 zenon_H1cd zenon_Hbf.
% 28.63/28.80  generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1c1.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c2 | zenon_intro zenon_Hfa ].
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H1c2); [ zenon_intro zenon_He4 | zenon_intro zenon_H1ad ].
% 28.63/28.80  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.63/28.80  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.63/28.80  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.63/28.80  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.63/28.80  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H227.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H94.
% 28.63/28.80  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  exact (zenon_Hac zenon_Hb4).
% 28.63/28.80  elim (classic (gt zenon_TH_ee (n3))); [ zenon_intro zenon_H2de | zenon_intro zenon_H2da ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.80  generalize (zenon_Hc9 (n3)). zenon_intro zenon_H2df.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2df); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2e0 ].
% 28.63/28.80  exact (zenon_Ha8 zenon_H94).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2e0); [ zenon_intro zenon_H2da | zenon_intro zenon_H22b ].
% 28.63/28.80  exact (zenon_H2da zenon_H2de).
% 28.63/28.80  exact (zenon_H227 zenon_H22b).
% 28.63/28.80  apply (zenon_L184_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n0)) = (gt (succ (tptp_minus_1)) (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hb6.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_0.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.63/28.80  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H22c.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H228 zenon_H22f).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.63/28.80  generalize (zenon_H230 (n0)). zenon_intro zenon_H2ed.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2ed); [ zenon_intro zenon_H227 | zenon_intro zenon_H2ee ].
% 28.63/28.80  exact (zenon_H227 zenon_H22b).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2ee); [ zenon_intro zenon_H18f | zenon_intro zenon_Hb8 ].
% 28.63/28.80  exact (zenon_H18f gt_3_0).
% 28.63/28.80  exact (zenon_Hb6 zenon_Hb8).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  exact (zenon_He4 zenon_He6).
% 28.63/28.80  apply (zenon_L66_); trivial.
% 28.63/28.80  apply (zenon_L69_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L201_ *)
% 28.63/28.80  assert (zenon_L202_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1d6 zenon_H281 zenon_H2da zenon_H72.
% 28.63/28.80  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.80  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.80  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.80  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.80  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.80  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.63/28.80  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.63/28.80  exact (zenon_H21f zenon_H224).
% 28.63/28.80  exact (zenon_H281 zenon_H284).
% 28.63/28.80  apply (zenon_L194_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hbb.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hcf.
% 28.63/28.80  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.80  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H9e. apply refl_equal.
% 28.63/28.80  exact (zenon_H61 zenon_H60).
% 28.63/28.80  apply (zenon_L179_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H61.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L202_ *)
% 28.63/28.80  assert (zenon_L203_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H2da zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H1d6.
% 28.63/28.80  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.80  cut ((gt zenon_TH_ee (succ (succ (succ (n0))))) = (gt zenon_TH_ee (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2da.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H284.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.80  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H9e. apply refl_equal.
% 28.63/28.80  exact (zenon_H211 successor_3).
% 28.63/28.80  apply (zenon_L202_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L203_ *)
% 28.63/28.80  assert (zenon_L204_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hc5 zenon_H1d6 zenon_H72 zenon_Hc2.
% 28.63/28.80  elim (classic ((~(zenon_TH_ee = (n3)))/\(~(gt zenon_TH_ee (n3))))); [ zenon_intro zenon_H2ef | zenon_intro zenon_H2f0 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H2ef). zenon_intro zenon_Hac. zenon_intro zenon_H2da.
% 28.63/28.80  apply (zenon_L203_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n0)) = (gt zenon_TH_ee (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hc2.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_0.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n3) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H2f1].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H2f0); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f2 ].
% 28.63/28.80  apply zenon_H2f3. zenon_intro zenon_Hb4.
% 28.63/28.80  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.80  cut ((zenon_TH_ee = zenon_TH_ee) = ((n3) = zenon_TH_ee)).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2f1.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hc0.
% 28.63/28.80  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.80  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hac zenon_Hb4).
% 28.63/28.80  apply zenon_H9e. apply refl_equal.
% 28.63/28.80  apply zenon_H9e. apply refl_equal.
% 28.63/28.80  apply zenon_H2f2. zenon_intro zenon_H2de.
% 28.63/28.80  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.80  generalize (zenon_H13b (n3)). zenon_intro zenon_H2f4.
% 28.63/28.80  generalize (zenon_H2f4 (n0)). zenon_intro zenon_H2f5.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2f5); [ zenon_intro zenon_H2da | zenon_intro zenon_H2f6 ].
% 28.63/28.80  exact (zenon_H2da zenon_H2de).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2f6); [ zenon_intro zenon_H18f | zenon_intro zenon_Hcf ].
% 28.63/28.80  exact (zenon_H18f gt_3_0).
% 28.63/28.80  exact (zenon_Hc2 zenon_Hcf).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L204_ *)
% 28.63/28.80  assert (zenon_L205_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_Hc5 zenon_H94 zenon_H6a zenon_H281 zenon_H72.
% 28.63/28.80  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.80  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.80  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.80  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.80  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.80  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.63/28.80  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.63/28.80  exact (zenon_H21f zenon_H224).
% 28.63/28.80  exact (zenon_H281 zenon_H284).
% 28.63/28.80  apply (zenon_L196_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hbb.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hcf.
% 28.63/28.80  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.80  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H9e. apply refl_equal.
% 28.63/28.80  exact (zenon_H61 zenon_H60).
% 28.63/28.80  apply (zenon_L204_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H61.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L205_ *)
% 28.63/28.80  assert (zenon_L206_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H2bb zenon_H1d6 zenon_Hc5 zenon_H94 zenon_H6a.
% 28.63/28.80  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.80  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ].
% 28.63/28.80  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H233 | zenon_intro zenon_H208 ].
% 28.63/28.80  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.80  generalize (zenon_H124 (n3)). zenon_intro zenon_H2bc.
% 28.63/28.80  generalize (zenon_H2bc (succ (succ (n0)))). zenon_intro zenon_H2bd.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2bd); [ zenon_intro zenon_H290 | zenon_intro zenon_H2be ].
% 28.63/28.80  exact (zenon_H290 zenon_H28f).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2be); [ zenon_intro zenon_H208 | zenon_intro zenon_H2bf ].
% 28.63/28.80  exact (zenon_H208 zenon_H233).
% 28.63/28.80  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.80  apply (zenon_L86_); trivial.
% 28.63/28.80  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H290.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H28a.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.80  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  exact (zenon_H211 successor_3).
% 28.63/28.80  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.80  apply (zenon_L5_); trivial.
% 28.63/28.80  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.80  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.80  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.80  generalize (zenon_Hc9 (succ (succ (succ (n0))))). zenon_intro zenon_H286.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H287 ].
% 28.63/28.80  exact (zenon_Ha8 zenon_H94).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H281 | zenon_intro zenon_H224 ].
% 28.63/28.80  exact (zenon_H281 zenon_H284).
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H285.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H224.
% 28.63/28.80  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.80  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.80  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.80  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.80  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.80  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.80  generalize (zenon_H173 (succ (succ (succ (n0))))). zenon_intro zenon_H288.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H62 | zenon_intro zenon_H289 ].
% 28.63/28.80  exact (zenon_H62 zenon_H172).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H289); [ zenon_intro zenon_H21f | zenon_intro zenon_H28a ].
% 28.63/28.80  exact (zenon_H21f zenon_H224).
% 28.63/28.80  exact (zenon_H285 zenon_H28a).
% 28.63/28.80  apply zenon_H210. apply refl_equal.
% 28.63/28.80  apply (zenon_L205_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L206_ *)
% 28.63/28.80  assert (zenon_L207_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5 zenon_H72 zenon_H198.
% 28.63/28.80  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n3)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))))); [ zenon_intro zenon_H2e3 | zenon_intro zenon_H2e4 ].
% 28.63/28.80  apply (zenon_and_s _ _ zenon_H2e3). zenon_intro zenon_H2e5. zenon_intro zenon_H293.
% 28.63/28.80  apply (zenon_L198_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n3) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H198.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact gt_3_1.
% 28.63/28.80  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.80  cut (((n3) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H2e6].
% 28.63/28.80  congruence.
% 28.63/28.80  apply (zenon_notand_s _ _ zenon_H2e4); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e7 ].
% 28.63/28.80  apply zenon_H2e8. zenon_intro zenon_H2e9.
% 28.63/28.80  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n3) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2e6.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd0.
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H2e5].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H2e5 zenon_H2e9).
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_H2e7. zenon_intro zenon_H29d.
% 28.63/28.80  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.63/28.80  generalize (zenon_H19b (n3)). zenon_intro zenon_H2ea.
% 28.63/28.80  generalize (zenon_H2ea (n1)). zenon_intro zenon_H2f7.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2f7); [ zenon_intro zenon_H293 | zenon_intro zenon_H2f8 ].
% 28.63/28.80  exact (zenon_H293 zenon_H29d).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2f8); [ zenon_intro zenon_H16b | zenon_intro zenon_H1a6 ].
% 28.63/28.80  exact (zenon_H16b gt_3_1).
% 28.63/28.80  exact (zenon_H198 zenon_H1a6).
% 28.63/28.80  apply zenon_H5e. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L207_ *)
% 28.63/28.80  assert (zenon_L208_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_H12a zenon_H72 zenon_Hc5.
% 28.63/28.80  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.80  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.80  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.63/28.80  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.80  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.80  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H244.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H244); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H245 ].
% 28.63/28.80  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H245); [ zenon_intro zenon_H198 | zenon_intro zenon_H12e ].
% 28.63/28.80  exact (zenon_H198 zenon_H1a6).
% 28.63/28.80  exact (zenon_H12a zenon_H12e).
% 28.63/28.80  apply (zenon_L207_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hd5.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1ac.
% 28.63/28.80  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  exact (zenon_Hce zenon_Hcd).
% 28.63/28.80  apply (zenon_L200_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hce.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hd0.
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L208_ *)
% 28.63/28.80  assert (zenon_L209_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H72 zenon_H110 zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.80  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.63/28.80  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.80  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.63/28.80  generalize (zenon_H130 (n1)). zenon_intro zenon_H131.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H131); [ zenon_intro zenon_H133 | zenon_intro zenon_H132 ].
% 28.63/28.80  exact (zenon_H133 gt_1_0).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_H12a | zenon_intro zenon_H134 ].
% 28.63/28.80  exact (zenon_H12a zenon_H12e).
% 28.63/28.80  exact (zenon_H110 zenon_H134).
% 28.63/28.80  apply (zenon_L208_ zenon_TH_ee); trivial.
% 28.63/28.80  (* end of lemma zenon_L209_ *)
% 28.63/28.80  assert (zenon_L210_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TH_ee))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_Hc5 zenon_H1c0 zenon_H72.
% 28.63/28.80  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.80  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.80  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.80  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TH_ee))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1c0.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H135.
% 28.63/28.80  cut (((succ (n0)) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_Hda].
% 28.63/28.80  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H5e. apply refl_equal.
% 28.63/28.80  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.80  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TH_ee))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1cd ].
% 28.63/28.80  cut ((gt (succ (tptp_minus_1)) (succ zenon_TH_ee)) = (gt (n0) (succ zenon_TH_ee))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H1d6.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1d1.
% 28.63/28.80  cut (((succ zenon_TH_ee) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_H2f9].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.80  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hba.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hc1.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H61 zenon_H60).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.80  apply zenon_H2f9. apply refl_equal.
% 28.63/28.80  apply (zenon_L201_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H61.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hb9.
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.80  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  apply zenon_H64. apply refl_equal.
% 28.63/28.80  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H136.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H134.
% 28.63/28.80  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.80  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_H5e. apply refl_equal.
% 28.63/28.80  exact (zenon_H65 zenon_H111).
% 28.63/28.80  apply (zenon_L209_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.80  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H65.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H66.
% 28.63/28.80  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.80  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H68 successor_1).
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L210_ *)
% 28.63/28.80  assert (zenon_L211_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hc5 zenon_H1d6 zenon_H2fa zenon_H72.
% 28.63/28.80  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H199 | zenon_intro zenon_H19a ].
% 28.63/28.80  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.80  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.63/28.80  generalize (zenon_H19b (succ (n0))). zenon_intro zenon_H2fb.
% 28.63/28.80  generalize (zenon_H2fb (succ (succ (n0)))). zenon_intro zenon_H2fc.
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2fc); [ zenon_intro zenon_H19a | zenon_intro zenon_H2fd ].
% 28.63/28.80  exact (zenon_H19a zenon_H199).
% 28.63/28.80  apply (zenon_imply_s _ _ zenon_H2fd); [ zenon_intro zenon_H2bb | zenon_intro zenon_H2fe ].
% 28.63/28.80  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.80  exact (zenon_H2fa zenon_H2fe).
% 28.63/28.80  apply (zenon_L206_ zenon_TH_ee); trivial.
% 28.63/28.80  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H19a.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H1a6.
% 28.63/28.80  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.80  congruence.
% 28.63/28.80  apply zenon_Hd1. apply refl_equal.
% 28.63/28.80  exact (zenon_H65 zenon_H111).
% 28.63/28.80  apply (zenon_L207_ zenon_TH_ee); trivial.
% 28.63/28.80  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.80  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H65.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H66.
% 28.63/28.80  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.80  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_H68 successor_1).
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  apply zenon_H67. apply refl_equal.
% 28.63/28.80  (* end of lemma zenon_L211_ *)
% 28.63/28.80  assert (zenon_L212_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (n0) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.80  do 1 intro. intros zenon_H1d6 zenon_H94 zenon_H6a zenon_H2ff zenon_H72 zenon_Hc5.
% 28.63/28.80  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.80  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2fe | zenon_intro zenon_H2fa ].
% 28.63/28.80  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_H2ff.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_H2fe.
% 28.63/28.80  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.80  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.80  congruence.
% 28.63/28.80  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.80  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 28.63/28.80  intro zenon_D_pnotp.
% 28.63/28.80  apply zenon_Hd2.
% 28.63/28.80  rewrite <- zenon_D_pnotp.
% 28.63/28.80  exact zenon_Hc1.
% 28.63/28.80  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.80  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.80  congruence.
% 28.63/28.80  exact (zenon_Hce zenon_Hcd).
% 28.63/28.80  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply (zenon_L211_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.81  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hce.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hd0.
% 28.63/28.81  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.81  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.81  apply zenon_Hd1. apply refl_equal.
% 28.63/28.81  apply zenon_Hd1. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L212_ *)
% 28.63/28.81  assert (zenon_L213_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (tptp_minus_1)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H1d6 zenon_Hc5 zenon_H94 zenon_H6a zenon_Hbb zenon_H72.
% 28.63/28.81  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.81  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hbb.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hcf.
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  exact (zenon_H61 zenon_H60).
% 28.63/28.81  apply (zenon_L204_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H61.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L213_ *)
% 28.63/28.81  assert (zenon_L214_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_Hb7 zenon_H1d6 zenon_Hc5 zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.81  generalize (zenon_Hc9 (succ (tptp_minus_1))). zenon_intro zenon_H27f.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H280 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_Hbb | zenon_intro zenon_Hbc ].
% 28.63/28.81  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.81  exact (zenon_Hb7 zenon_Hbc).
% 28.63/28.81  apply (zenon_L213_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L214_ *)
% 28.63/28.81  assert (zenon_L215_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H1e2 zenon_H6a zenon_H94 zenon_Hc5 zenon_H1d6.
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.63/28.81  elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H2ff ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.63/28.81  generalize (zenon_H138 (succ (succ (n0)))). zenon_intro zenon_H301.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H301); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H302 ].
% 28.63/28.81  exact (zenon_Hb6 zenon_Hb8).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H302); [ zenon_intro zenon_H2ff | zenon_intro zenon_H1e9 ].
% 28.63/28.81  exact (zenon_H2ff zenon_H300).
% 28.63/28.81  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.81  apply (zenon_L212_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hb6.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hbc.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply (zenon_L214_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L215_ *)
% 28.63/28.81  assert (zenon_L216_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TH_ee))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H101 zenon_H1d6 zenon_Hc5 zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.63/28.81  elim (classic (gt (n2) (succ (n0)))); [ zenon_intro zenon_H2a8 | zenon_intro zenon_H2a7 ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 (n2)). zenon_intro zenon_H266.
% 28.63/28.81  generalize (zenon_H266 (succ (n0))). zenon_intro zenon_H303.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H303); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H304 ].
% 28.63/28.81  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H304); [ zenon_intro zenon_H2a7 | zenon_intro zenon_H105 ].
% 28.63/28.81  exact (zenon_H2a7 zenon_H2a8).
% 28.63/28.81  exact (zenon_H101 zenon_H105).
% 28.63/28.81  apply (zenon_L146_); trivial.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (tptp_minus_1)) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1d2.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e9.
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply (zenon_L215_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L216_ *)
% 28.63/28.81  assert (zenon_L217_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TH_ee))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H1cd zenon_H6a zenon_H94 zenon_Hc5 zenon_H1d6.
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.81  elim (classic (gt (n1) (succ zenon_TH_ee))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1c0 ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.81  generalize (zenon_H1ca (succ zenon_TH_ee)). zenon_intro zenon_H1cf.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1cf); [ zenon_intro zenon_H17d | zenon_intro zenon_H1d0 ].
% 28.63/28.81  exact (zenon_H17d zenon_H17a).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1d0); [ zenon_intro zenon_H1c0 | zenon_intro zenon_H1d1 ].
% 28.63/28.81  exact (zenon_H1c0 zenon_H1ce).
% 28.63/28.81  exact (zenon_H1cd zenon_H1d1).
% 28.63/28.81  apply (zenon_L210_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H17d.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H105.
% 28.63/28.81  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_H68 successor_1).
% 28.63/28.81  apply (zenon_L216_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L217_ *)
% 28.63/28.81  assert (zenon_L218_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H1cd zenon_H6a zenon_H94 zenon_Hc5.
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb7 ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb8 | zenon_intro zenon_Hb6 ].
% 28.63/28.81  elim (classic (gt (n0) (succ zenon_TH_ee))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1d6 ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 (n0)). zenon_intro zenon_H138.
% 28.63/28.81  generalize (zenon_H138 (succ zenon_TH_ee)). zenon_intro zenon_H305.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H305); [ zenon_intro zenon_Hb6 | zenon_intro zenon_H306 ].
% 28.63/28.81  exact (zenon_Hb6 zenon_Hb8).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H306); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d1 ].
% 28.63/28.81  exact (zenon_H1d6 zenon_H1dc).
% 28.63/28.81  exact (zenon_H1cd zenon_H1d1).
% 28.63/28.81  apply (zenon_L217_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hb6.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hbc.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  elim (classic (gt (n0) (succ zenon_TH_ee))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1d6 ].
% 28.63/28.81  cut ((gt (n0) (succ zenon_TH_ee)) = (gt (succ (tptp_minus_1)) (succ zenon_TH_ee))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1cd.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1dc.
% 28.63/28.81  cut (((succ zenon_TH_ee) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_H2f9].
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  congruence.
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H61.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H2f9. apply refl_equal.
% 28.63/28.81  apply (zenon_L214_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L218_ *)
% 28.63/28.81  assert (zenon_L219_ : forall (zenon_TH_ee : zenon_U), (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (tptp_minus_1)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H1d2 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_Hbb zenon_H72.
% 28.63/28.81  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.81  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hbb.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hcf.
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  exact (zenon_H61 zenon_H60).
% 28.63/28.81  apply (zenon_L75_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H61.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L219_ *)
% 28.63/28.81  assert (zenon_L220_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee zenon_TH_ee)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H6a zenon_Hab zenon_Hac zenon_Hdf zenon_H1d2 zenon_H72 zenon_H307 zenon_H94.
% 28.63/28.81  elim (classic ((~(zenon_TH_ee = (succ (tptp_minus_1))))/\(~(gt zenon_TH_ee (succ (tptp_minus_1)))))); [ zenon_intro zenon_H308 | zenon_intro zenon_H309 ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H308). zenon_intro zenon_H30a. zenon_intro zenon_Hbb.
% 28.63/28.81  apply (zenon_L219_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt zenon_TH_ee zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H307.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H30b].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H309); [ zenon_intro zenon_H30d | zenon_intro zenon_H30c ].
% 28.63/28.81  apply zenon_H30d. zenon_intro zenon_H30e.
% 28.63/28.81  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee) = ((succ (tptp_minus_1)) = zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H30b.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc0.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut ((zenon_TH_ee = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H30a].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H30a zenon_H30e).
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H30c. zenon_intro zenon_Hc3.
% 28.63/28.81  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.81  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.81  generalize (zenon_H13c zenon_TH_ee). zenon_intro zenon_H30f.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H30f); [ zenon_intro zenon_Hbb | zenon_intro zenon_H310 ].
% 28.63/28.81  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H310); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H311 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  exact (zenon_H307 zenon_H311).
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L220_ *)
% 28.63/28.81  assert (zenon_L221_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H1d2 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.81  generalize (irreflexivity_gt zenon_TH_ee). zenon_intro zenon_H307.
% 28.63/28.81  apply (zenon_L220_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L221_ *)
% 28.63/28.81  assert (zenon_L222_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hab zenon_Hac zenon_Hdf zenon_H1e2 zenon_H72.
% 28.63/28.81  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d2 ].
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e2.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1d5.
% 28.63/28.81  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.81  apply (zenon_L221_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e4.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e5.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L222_ *)
% 28.63/28.81  assert (zenon_L223_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H1e8 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72.
% 28.63/28.81  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.81  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H5f ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.81  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.81  generalize (zenon_H12f (succ (tptp_minus_1))). zenon_intro zenon_H1ea.
% 28.63/28.81  generalize (zenon_H1ea (succ (succ (n0)))). zenon_intro zenon_H1eb.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H5f | zenon_intro zenon_H1ec ].
% 28.63/28.81  exact (zenon_H5f zenon_H63).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1ed ].
% 28.63/28.81  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.81  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.81  apply (zenon_L222_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H5f.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact gt_1_0.
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H5e. apply refl_equal.
% 28.63/28.81  exact (zenon_H61 zenon_H60).
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H61.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L223_ *)
% 28.63/28.81  assert (zenon_L224_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_H72 zenon_H1fd.
% 28.63/28.81  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.81  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ].
% 28.63/28.81  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1fd.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1fe.
% 28.63/28.81  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.81  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e7.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H200.
% 28.63/28.81  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.81  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H202 ].
% 28.63/28.81  cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1ff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H201.
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.63/28.81  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.63/28.81  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1e8 ].
% 28.63/28.81  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.81  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.63/28.81  generalize (zenon_H205 (succ (succ (n0)))). zenon_intro zenon_H206.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H206); [ zenon_intro zenon_H204 | zenon_intro zenon_H207 ].
% 28.63/28.81  exact (zenon_H204 zenon_H203).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H207); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H201 ].
% 28.63/28.81  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.81  exact (zenon_H202 zenon_H201).
% 28.63/28.81  apply (zenon_L223_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H204.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1fc.
% 28.63/28.81  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  exact (zenon_H68 successor_1).
% 28.63/28.81  apply (zenon_L153_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e4.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e5.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L224_ *)
% 28.63/28.81  assert (zenon_L225_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H236 zenon_Hac zenon_Hab zenon_H94 zenon_H6a zenon_Hdf zenon_H72.
% 28.63/28.81  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.81  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.81  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.81  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.81  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.81  generalize (zenon_H13c (succ (succ (n0)))). zenon_intro zenon_H237.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H237); [ zenon_intro zenon_Hbb | zenon_intro zenon_H238 ].
% 28.63/28.81  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H238); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H239 ].
% 28.63/28.81  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.81  exact (zenon_H236 zenon_H239).
% 28.63/28.81  apply (zenon_L222_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hbb.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hcf.
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  exact (zenon_H61 zenon_H60).
% 28.63/28.81  apply (zenon_L94_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H61.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L225_ *)
% 28.63/28.81  assert (zenon_L226_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H23a zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.63/28.81  cut ((gt zenon_TH_ee (succ (succ (n0)))) = (gt zenon_TH_ee (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H23a.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H239.
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply (zenon_L225_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L226_ *)
% 28.63/28.81  assert (zenon_L227_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H1d2 zenon_H6a zenon_H94 zenon_Hac zenon_Hdf.
% 28.63/28.81  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (tptp_minus_1)) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1d2.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n2))); [ zenon_intro zenon_H240 | zenon_intro zenon_H23a ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.81  generalize (zenon_Hc9 (n2)). zenon_intro zenon_H247.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H248 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H23a | zenon_intro zenon_H1d5 ].
% 28.63/28.81  exact (zenon_H23a zenon_H240).
% 28.63/28.81  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.81  apply (zenon_L226_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L227_ *)
% 28.63/28.81  assert (zenon_L228_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(gt (n0) (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_Hc5 zenon_H94 zenon_H12a zenon_H72 zenon_Hd6 zenon_H6a.
% 28.63/28.81  elim (classic ((~((n0) = (succ zenon_TH_ee)))/\(~(gt (n0) (succ zenon_TH_ee))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H314. zenon_intro zenon_H1d6.
% 28.63/28.81  apply (zenon_L208_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (succ zenon_TH_ee) (n0)) = (gt (n0) (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hd6.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H6a.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((succ zenon_TH_ee) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H315].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H313); [ zenon_intro zenon_H317 | zenon_intro zenon_H316 ].
% 28.63/28.81  apply zenon_H317. zenon_intro zenon_H318.
% 28.63/28.81  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.81  cut (((n0) = (n0)) = ((succ zenon_TH_ee) = (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H315.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc1.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((n0) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_H314].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H314 zenon_H318).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H316. zenon_intro zenon_H1dc.
% 28.63/28.81  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.81  generalize (zenon_H10c (succ zenon_TH_ee)). zenon_intro zenon_H319.
% 28.63/28.81  generalize (zenon_H319 (n0)). zenon_intro zenon_H31a.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H31a); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H31b ].
% 28.63/28.81  exact (zenon_H1d6 zenon_H1dc).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H31b); [ zenon_intro zenon_H70 | zenon_intro zenon_H1ac ].
% 28.63/28.81  exact (zenon_H70 zenon_H6a).
% 28.63/28.81  exact (zenon_Hd6 zenon_H1ac).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L228_ *)
% 28.63/28.81  assert (zenon_L229_ : forall (zenon_TH_ee : zenon_U), (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H94 zenon_H6a zenon_Hc5 zenon_H72 zenon_Hd6.
% 28.63/28.81  elim (classic ((~((n0) = (n1)))/\(~(gt (n0) (n1))))); [ zenon_intro zenon_H26d | zenon_intro zenon_H26e ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H26d). zenon_intro zenon_H26f. zenon_intro zenon_H12a.
% 28.63/28.81  apply (zenon_L228_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (n1) (n0)) = (gt (n0) (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hd6.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact gt_1_0.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((n1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H270].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H26e); [ zenon_intro zenon_H272 | zenon_intro zenon_H271 ].
% 28.63/28.81  apply zenon_H272. zenon_intro zenon_H273.
% 28.63/28.81  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.81  cut (((n0) = (n0)) = ((n1) = (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H270.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc1.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((n0) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H26f].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H26f zenon_H273).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H271. zenon_intro zenon_H12e.
% 28.63/28.81  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.81  generalize (zenon_H10c (n1)). zenon_intro zenon_H274.
% 28.63/28.81  generalize (zenon_H274 (n0)). zenon_intro zenon_H275.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H275); [ zenon_intro zenon_H12a | zenon_intro zenon_H276 ].
% 28.63/28.81  exact (zenon_H12a zenon_H12e).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H276); [ zenon_intro zenon_H133 | zenon_intro zenon_H1ac ].
% 28.63/28.81  exact (zenon_H133 gt_1_0).
% 28.63/28.81  exact (zenon_Hd6 zenon_H1ac).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L229_ *)
% 28.63/28.81  assert (zenon_L230_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (zenon_TH_ee = (n0)) -> (~(gt zenon_TH_ee zenon_TH_ee)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_Hb1 zenon_H307 zenon_H94.
% 28.63/28.81  elim (classic (gt (n0) zenon_TH_ee)); [ zenon_intro zenon_H31c | zenon_intro zenon_H31d ].
% 28.63/28.81  cut ((gt (n0) zenon_TH_ee) = (gt zenon_TH_ee zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H307.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H31c.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut (((n0) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 28.63/28.81  congruence.
% 28.63/28.81  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee) = ((n0) = zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hbf.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc0.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut ((zenon_TH_ee = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha9].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Ha9 zenon_Hb1).
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  elim (classic ((~((n0) = (succ (tptp_minus_1))))/\(~(gt (n0) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H31e | zenon_intro zenon_H31f ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H31e). zenon_intro zenon_H61. zenon_intro zenon_Hbe.
% 28.63/28.81  apply zenon_H61. apply sym_equal. exact succ_tptp_minus_1.
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (n0) zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H31d.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H31f); [ zenon_intro zenon_H321 | zenon_intro zenon_H320 ].
% 28.63/28.81  apply zenon_H321. zenon_intro zenon_H60.
% 28.63/28.81  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.81  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hba.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc1.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H61 zenon_H60).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  apply zenon_H320. zenon_intro zenon_Hbd.
% 28.63/28.81  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.81  generalize (zenon_H10c (succ (tptp_minus_1))). zenon_intro zenon_H29a.
% 28.63/28.81  generalize (zenon_H29a zenon_TH_ee). zenon_intro zenon_H322.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H322); [ zenon_intro zenon_Hbe | zenon_intro zenon_H323 ].
% 28.63/28.81  exact (zenon_Hbe zenon_Hbd).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H323); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H31c ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  exact (zenon_H31d zenon_H31c).
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L230_ *)
% 28.63/28.81  assert (zenon_L231_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (gt (succ zenon_TH_ee) (n0)) -> ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H6a zenon_Hfa zenon_H94.
% 28.63/28.81  generalize (finite_domain_0 zenon_TH_ee). zenon_intro zenon_H1be.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1be); [ zenon_intro zenon_H1bf | zenon_intro zenon_Hb1 ].
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H1bf); [ zenon_intro zenon_H6b | zenon_intro zenon_H1ba ].
% 28.63/28.81  apply (zenon_L7_ zenon_TH_ee); trivial.
% 28.63/28.81  apply (zenon_L68_ zenon_TH_ee); trivial.
% 28.63/28.81  generalize (irreflexivity_gt zenon_TH_ee). zenon_intro zenon_H307.
% 28.63/28.81  apply (zenon_L230_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L231_ *)
% 28.63/28.81  assert (zenon_L232_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.81  generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1c1.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c2 | zenon_intro zenon_Hfa ].
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H1c2); [ zenon_intro zenon_He4 | zenon_intro zenon_H1ad ].
% 28.63/28.81  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.63/28.81  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.63/28.81  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.63/28.81  elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H25f | zenon_intro zenon_H260 ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H25f). zenon_intro zenon_H261. zenon_intro zenon_H1d2.
% 28.63/28.81  apply (zenon_L227_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (n2) (n0)) = (gt (succ (tptp_minus_1)) (n0))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hb6.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact gt_2_0.
% 28.63/28.81  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.81  cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H260); [ zenon_intro zenon_H264 | zenon_intro zenon_H263 ].
% 28.63/28.81  apply zenon_H264. zenon_intro zenon_H265.
% 28.63/28.81  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H262.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hb9.
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H261 zenon_H265).
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H64. apply refl_equal.
% 28.63/28.81  apply zenon_H263. zenon_intro zenon_H1d5.
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 (n2)). zenon_intro zenon_H266.
% 28.63/28.81  generalize (zenon_H266 (n0)). zenon_intro zenon_H267.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H267); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H268 ].
% 28.63/28.81  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H268); [ zenon_intro zenon_H18c | zenon_intro zenon_Hb8 ].
% 28.63/28.81  exact (zenon_H18c gt_2_0).
% 28.63/28.81  exact (zenon_Hb6 zenon_Hb8).
% 28.63/28.81  apply zenon_H69. apply refl_equal.
% 28.63/28.81  exact (zenon_He4 zenon_He6).
% 28.63/28.81  apply (zenon_L66_); trivial.
% 28.63/28.81  apply (zenon_L231_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L232_ *)
% 28.63/28.81  assert (zenon_L233_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n3))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H290 zenon_Hdf zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.81  apply (zenon_L5_); trivial.
% 28.63/28.81  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n3))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H290.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.81  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.81  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H66.
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H16e zenon_H171).
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.81  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.81  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.81  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.63/28.81  exact (zenon_H62 zenon_H172).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n3))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H290.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H176.
% 28.63/28.81  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  exact (zenon_Hac zenon_Hb4).
% 28.63/28.81  exact (zenon_Hac zenon_Hb4).
% 28.63/28.81  apply (zenon_L232_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L233_ *)
% 28.63/28.81  assert (zenon_L234_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H72 zenon_H1fd.
% 28.63/28.81  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.81  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1ff ].
% 28.63/28.81  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1fd.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1fe.
% 28.63/28.81  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.81  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e7.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H200.
% 28.63/28.81  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.81  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.63/28.81  apply (zenon_L82_); trivial.
% 28.63/28.81  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (succ (n0))) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1ff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.81  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.81  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1f3.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e5.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1f2 zenon_H1f6).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.81  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.81  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.81  generalize (zenon_H1f9 zenon_TH_ee). zenon_intro zenon_H2db.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2dc ].
% 28.63/28.81  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2dd ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  cut ((gt (succ (succ (n0))) zenon_TH_ee) = (gt (succ (succ (n0))) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1ff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H2dd.
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n2))); [ zenon_intro zenon_H240 | zenon_intro zenon_H23a ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.81  generalize (zenon_Hc9 (n2)). zenon_intro zenon_H247.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H248 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H23a | zenon_intro zenon_H1d5 ].
% 28.63/28.81  exact (zenon_H23a zenon_H240).
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (succ (n0))) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1ff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1d5.
% 28.63/28.81  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.81  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.81  apply zenon_H1f3. apply sym_equal. exact zenon_H1f6.
% 28.63/28.81  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.81  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.81  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.81  generalize (zenon_H1f9 (n2)). zenon_intro zenon_H324.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H324); [ zenon_intro zenon_H1ee | zenon_intro zenon_H325 ].
% 28.63/28.81  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H325); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H1fe ].
% 28.63/28.81  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.81  exact (zenon_H1ff zenon_H1fe).
% 28.63/28.81  apply zenon_H5d. apply refl_equal.
% 28.63/28.81  apply (zenon_L226_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e4.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e5.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L234_ *)
% 28.63/28.81  assert (zenon_L235_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H2bb zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.81  apply (zenon_L5_); trivial.
% 28.63/28.81  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.63/28.81  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.81  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.81  generalize (zenon_Hc9 (succ (succ (n0)))). zenon_intro zenon_H2c0.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2c0); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2c1 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H236 | zenon_intro zenon_H1e9 ].
% 28.63/28.81  exact (zenon_H236 zenon_H239).
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H2bb.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e9.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.81  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.81  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.81  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.81  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.81  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.81  generalize (zenon_H173 (succ (succ (n0)))). zenon_intro zenon_H2c2.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2c2); [ zenon_intro zenon_H62 | zenon_intro zenon_H2c3 ].
% 28.63/28.81  exact (zenon_H62 zenon_H172).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H2c3); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H2bf ].
% 28.63/28.81  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.81  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply (zenon_L225_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L235_ *)
% 28.63/28.81  assert (zenon_L236_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H246 zenon_Hdf zenon_Hac zenon_Hab zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.81  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H246.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H2bf.
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply (zenon_L235_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L236_ *)
% 28.63/28.81  assert (zenon_L237_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H72 zenon_H246 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.81  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.81  apply (zenon_L5_); trivial.
% 28.63/28.81  elim (classic (zenon_TH_ee = (n2))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hab ].
% 28.63/28.81  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H246.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H94.
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.81  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.81  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_Hff.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H66.
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H16e zenon_H171).
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.81  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.81  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.81  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.63/28.81  exact (zenon_H62 zenon_H172).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.63/28.81  exact (zenon_Ha8 zenon_H94).
% 28.63/28.81  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n2))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H246.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H176.
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  apply (zenon_L236_ zenon_TH_ee); trivial.
% 28.63/28.81  (* end of lemma zenon_L237_ *)
% 28.63/28.81  assert (zenon_L238_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_Hdf zenon_Hac zenon_H94 zenon_H6a zenon_H2bb zenon_H72.
% 28.63/28.81  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.81  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.81  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H2bb.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H24b.
% 28.63/28.81  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.81  apply (zenon_L237_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e4.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H1e5.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H1e7 successor_2).
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L238_ *)
% 28.63/28.81  assert (zenon_L239_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n1) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H1e8 zenon_H72.
% 28.63/28.81  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.81  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.81  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (n1) (succ (succ (n0))))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H1e8.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H2bf.
% 28.63/28.81  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.81  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.81  congruence.
% 28.63/28.81  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.63/28.81  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H68.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H114.
% 28.63/28.81  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.81  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H65 zenon_H111).
% 28.63/28.81  apply zenon_H5e. apply refl_equal.
% 28.63/28.81  apply zenon_H5e. apply refl_equal.
% 28.63/28.81  apply zenon_H1e6. apply refl_equal.
% 28.63/28.81  apply (zenon_L238_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.81  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H65.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H66.
% 28.63/28.81  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.81  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_H68 successor_1).
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  apply zenon_H67. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L239_ *)
% 28.63/28.81  assert (zenon_L240_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_Hdf zenon_Hac zenon_H94 zenon_H6a zenon_H72 zenon_H13f.
% 28.63/28.81  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.63/28.81  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.63/28.81  apply (zenon_L226_ zenon_TH_ee); trivial.
% 28.63/28.81  cut ((gt (n2) (n1)) = (gt zenon_TH_ee (n1))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H13f.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact gt_2_1.
% 28.63/28.81  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.81  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.63/28.81  congruence.
% 28.63/28.81  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.63/28.81  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.63/28.81  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H23d.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_Hc0.
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.81  congruence.
% 28.63/28.81  exact (zenon_Hab zenon_Hb5).
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  apply zenon_H23e. zenon_intro zenon_H240.
% 28.63/28.81  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.81  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.63/28.81  generalize (zenon_H241 (n1)). zenon_intro zenon_H242.
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H23a | zenon_intro zenon_H243 ].
% 28.63/28.81  exact (zenon_H23a zenon_H240).
% 28.63/28.81  apply (zenon_imply_s _ _ zenon_H243); [ zenon_intro zenon_H78 | zenon_intro zenon_H177 ].
% 28.63/28.81  exact (zenon_H78 gt_2_1).
% 28.63/28.81  exact (zenon_H13f zenon_H177).
% 28.63/28.81  apply zenon_H5e. apply refl_equal.
% 28.63/28.81  (* end of lemma zenon_L240_ *)
% 28.63/28.81  assert (zenon_L241_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.81  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H100 zenon_H72.
% 28.63/28.81  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.81  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.63/28.81  cut ((gt zenon_TH_ee (n1)) = (gt zenon_TH_ee (succ (n0)))).
% 28.63/28.81  intro zenon_D_pnotp.
% 28.63/28.81  apply zenon_H100.
% 28.63/28.81  rewrite <- zenon_D_pnotp.
% 28.63/28.81  exact zenon_H177.
% 28.63/28.81  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.81  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.81  congruence.
% 28.63/28.81  apply zenon_H9e. apply refl_equal.
% 28.63/28.81  exact (zenon_H65 zenon_H111).
% 28.63/28.81  apply (zenon_L240_ zenon_TH_ee); trivial.
% 28.63/28.81  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.82  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H65.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H66.
% 28.63/28.82  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.82  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H68 successor_1).
% 28.63/28.82  apply zenon_H67. apply refl_equal.
% 28.63/28.82  apply zenon_H67. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L241_ *)
% 28.63/28.82  assert (zenon_L242_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H72 zenon_H101 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.82  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.63/28.82  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.82  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.82  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.63/28.82  exact (zenon_Ha8 zenon_H94).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.63/28.82  exact (zenon_H100 zenon_H102).
% 28.63/28.82  exact (zenon_H101 zenon_H105).
% 28.63/28.82  apply (zenon_L241_ zenon_TH_ee); trivial.
% 28.63/28.82  (* end of lemma zenon_L242_ *)
% 28.63/28.82  assert (zenon_L243_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H72 zenon_H1e2 zenon_H6a zenon_H94 zenon_Hac zenon_Hdf.
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.82  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1e8 ].
% 28.63/28.82  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.82  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.82  generalize (zenon_H1ca (succ (succ (n0)))). zenon_intro zenon_H2d6.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H2d6); [ zenon_intro zenon_H17d | zenon_intro zenon_H2d7 ].
% 28.63/28.82  exact (zenon_H17d zenon_H17a).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H2d7); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H1e9 ].
% 28.63/28.82  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.82  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.82  apply (zenon_L239_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H17d.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H105.
% 28.63/28.82  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  exact (zenon_H68 successor_1).
% 28.63/28.82  apply (zenon_L242_ zenon_TH_ee); trivial.
% 28.63/28.82  (* end of lemma zenon_L243_ *)
% 28.63/28.82  assert (zenon_L244_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H2fa zenon_H72.
% 28.63/28.82  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.82  elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H2ff ].
% 28.63/28.82  cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H2fa.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H300.
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.82  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.82  congruence.
% 28.63/28.82  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hce.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hd0.
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H2ff.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H1e9.
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.82  congruence.
% 28.63/28.82  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.82  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hba.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hc1.
% 28.63/28.82  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.82  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H61 zenon_H60).
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  apply (zenon_L243_ zenon_TH_ee); trivial.
% 28.63/28.82  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H61.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hb9.
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L244_ *)
% 28.63/28.82  assert (zenon_L245_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H12a zenon_H94 zenon_H6a zenon_Hdf zenon_Hac zenon_H72 zenon_Hc5.
% 28.63/28.82  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.82  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.82  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.82  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.63/28.82  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.82  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.82  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H244.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H244); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H245 ].
% 28.63/28.82  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H245); [ zenon_intro zenon_H198 | zenon_intro zenon_H12e ].
% 28.63/28.82  exact (zenon_H198 zenon_H1a6).
% 28.63/28.82  exact (zenon_H12a zenon_H12e).
% 28.63/28.82  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n2)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n2))))); [ zenon_intro zenon_H326 | zenon_intro zenon_H327 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H326). zenon_intro zenon_H329. zenon_intro zenon_H328.
% 28.63/28.82  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2fe | zenon_intro zenon_H2fa ].
% 28.63/28.82  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n2))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H328.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H2fe.
% 28.63/28.82  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  exact (zenon_H1e7 successor_2).
% 28.63/28.82  apply (zenon_L244_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (n2) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H198.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact gt_2_1.
% 28.63/28.82  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.82  cut (((n2) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H32a].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H327); [ zenon_intro zenon_H32c | zenon_intro zenon_H32b ].
% 28.63/28.82  apply zenon_H32c. zenon_intro zenon_H32d.
% 28.63/28.82  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n2) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H32a.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hd0.
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H329].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H329 zenon_H32d).
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  apply zenon_H32b. zenon_intro zenon_H32e.
% 28.63/28.82  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.63/28.82  generalize (zenon_H19b (n2)). zenon_intro zenon_H32f.
% 28.63/28.82  generalize (zenon_H32f (n1)). zenon_intro zenon_H330.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H330); [ zenon_intro zenon_H328 | zenon_intro zenon_H331 ].
% 28.63/28.82  exact (zenon_H328 zenon_H32e).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H331); [ zenon_intro zenon_H78 | zenon_intro zenon_H1a6 ].
% 28.63/28.82  exact (zenon_H78 gt_2_1).
% 28.63/28.82  exact (zenon_H198 zenon_H1a6).
% 28.63/28.82  apply zenon_H5e. apply refl_equal.
% 28.63/28.82  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hd5.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H1ac.
% 28.63/28.82  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.82  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  exact (zenon_Hce zenon_Hcd).
% 28.63/28.82  apply (zenon_L228_ zenon_TH_ee); trivial.
% 28.63/28.82  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hce.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hd0.
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.82  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  apply zenon_Hd1. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L245_ *)
% 28.63/28.82  assert (zenon_L246_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H72 zenon_H2a9 zenon_Hdf zenon_H12a zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.82  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.63/28.82  apply (zenon_L82_); trivial.
% 28.63/28.82  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.82  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H2a9.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H94.
% 28.63/28.82  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.82  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.82  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H1f3.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H1e5.
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H1f2 zenon_H1f6).
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.82  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.82  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.82  generalize (zenon_H1f9 zenon_TH_ee). zenon_intro zenon_H2db.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2dc ].
% 28.63/28.82  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2dd ].
% 28.63/28.82  exact (zenon_Ha8 zenon_H94).
% 28.63/28.82  cut ((gt (succ (succ (n0))) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H2a9.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H2dd.
% 28.63/28.82  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  exact (zenon_Hac zenon_Hb4).
% 28.63/28.82  exact (zenon_Hac zenon_Hb4).
% 28.63/28.82  apply (zenon_L245_ zenon_TH_ee); trivial.
% 28.63/28.82  (* end of lemma zenon_L246_ *)
% 28.63/28.82  assert (zenon_L247_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_Hdf zenon_H12a zenon_H94 zenon_H6a zenon_Hc5 zenon_H209 zenon_H72.
% 28.63/28.82  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.82  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.82  cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H209.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H2ac.
% 28.63/28.82  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.82  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.82  congruence.
% 28.63/28.82  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.82  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H1e7.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H200.
% 28.63/28.82  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.82  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.82  apply zenon_H5d. apply refl_equal.
% 28.63/28.82  apply zenon_H5d. apply refl_equal.
% 28.63/28.82  apply zenon_H5c. apply refl_equal.
% 28.63/28.82  apply (zenon_L246_ zenon_TH_ee); trivial.
% 28.63/28.82  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H1e4.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H1e5.
% 28.63/28.82  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.82  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H1e7 successor_2).
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  apply zenon_H1e6. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L247_ *)
% 28.63/28.82  assert (zenon_L248_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(gt (n0) (n1))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_Hc5 zenon_H6a zenon_H94 zenon_H12a zenon_Hdf zenon_H72 zenon_H1fd.
% 28.63/28.82  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.63/28.82  apply (zenon_L247_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H1fd.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact gt_3_2.
% 28.63/28.82  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.82  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.63/28.82  apply zenon_H219. zenon_intro zenon_H21a.
% 28.63/28.82  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.82  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H217.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H200.
% 28.63/28.82  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.82  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H216 zenon_H21a).
% 28.63/28.82  apply zenon_H5d. apply refl_equal.
% 28.63/28.82  apply zenon_H5d. apply refl_equal.
% 28.63/28.82  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.82  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.82  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.82  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.82  exact (zenon_H209 zenon_H20c).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.82  exact (zenon_H7f gt_3_2).
% 28.63/28.82  exact (zenon_H1fd zenon_H21e).
% 28.63/28.82  apply zenon_H5d. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L248_ *)
% 28.63/28.82  assert (zenon_L249_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H72 zenon_H110 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.82  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.63/28.82  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.82  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.63/28.82  generalize (zenon_H130 (n1)). zenon_intro zenon_H131.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H131); [ zenon_intro zenon_H133 | zenon_intro zenon_H132 ].
% 28.63/28.82  exact (zenon_H133 gt_1_0).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_H12a | zenon_intro zenon_H134 ].
% 28.63/28.82  exact (zenon_H12a zenon_H12e).
% 28.63/28.82  exact (zenon_H110 zenon_H134).
% 28.63/28.82  apply (zenon_L245_ zenon_TH_ee); trivial.
% 28.63/28.82  (* end of lemma zenon_L249_ *)
% 28.63/28.82  assert (zenon_L250_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H1e2 zenon_H72.
% 28.63/28.82  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.82  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.82  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.82  generalize (zenon_Hc8 (succ (n0))). zenon_intro zenon_H332.
% 28.63/28.82  generalize (zenon_H332 (succ (succ (n0)))). zenon_intro zenon_H333.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H333); [ zenon_intro zenon_H101 | zenon_intro zenon_H334 ].
% 28.63/28.82  exact (zenon_H101 zenon_H105).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H334); [ zenon_intro zenon_H2bb | zenon_intro zenon_H1e9 ].
% 28.63/28.82  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.82  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.82  apply (zenon_L238_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H101.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H17a.
% 28.63/28.82  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  exact (zenon_H65 zenon_H111).
% 28.63/28.82  elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H25f | zenon_intro zenon_H260 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H25f). zenon_intro zenon_H261. zenon_intro zenon_H1d2.
% 28.63/28.82  apply (zenon_L227_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (n2) (n1)) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H17d.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact gt_2_1.
% 28.63/28.82  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.82  cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H262].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H260); [ zenon_intro zenon_H264 | zenon_intro zenon_H263 ].
% 28.63/28.82  apply zenon_H264. zenon_intro zenon_H265.
% 28.63/28.82  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H262.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hb9.
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H261].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H261 zenon_H265).
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  apply zenon_H263. zenon_intro zenon_H1d5.
% 28.63/28.82  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.82  generalize (zenon_Hc8 (n2)). zenon_intro zenon_H266.
% 28.63/28.82  generalize (zenon_H266 (n1)). zenon_intro zenon_H269.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H269); [ zenon_intro zenon_H1d2 | zenon_intro zenon_H26a ].
% 28.63/28.82  exact (zenon_H1d2 zenon_H1d5).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H26a); [ zenon_intro zenon_H78 | zenon_intro zenon_H17a ].
% 28.63/28.82  exact (zenon_H78 gt_2_1).
% 28.63/28.82  exact (zenon_H17d zenon_H17a).
% 28.63/28.82  apply zenon_H5e. apply refl_equal.
% 28.63/28.82  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.82  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H65.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H66.
% 28.63/28.82  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.82  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H68 successor_1).
% 28.63/28.82  apply zenon_H67. apply refl_equal.
% 28.63/28.82  apply zenon_H67. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L250_ *)
% 28.63/28.82  assert (zenon_L251_ : forall (zenon_TH_ee : zenon_U), (~(zenon_TH_ee = (n3))) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_Hac zenon_Hab zenon_Haa zenon_H94 zenon_H6a zenon_H281 zenon_H13f zenon_H72.
% 28.63/28.82  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.82  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.82  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.82  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.82  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.82  generalize (zenon_H13c (succ (succ (succ (n0))))). zenon_intro zenon_H282.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_Hbb | zenon_intro zenon_H283 ].
% 28.63/28.82  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H283); [ zenon_intro zenon_H21f | zenon_intro zenon_H284 ].
% 28.63/28.82  exact (zenon_H21f zenon_H224).
% 28.63/28.82  exact (zenon_H281 zenon_H284).
% 28.63/28.82  apply (zenon_L91_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hbb.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hcf.
% 28.63/28.82  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.82  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H9e. apply refl_equal.
% 28.63/28.82  exact (zenon_H61 zenon_H60).
% 28.63/28.82  apply (zenon_L18_ zenon_TH_ee); trivial.
% 28.63/28.82  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H61.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hb9.
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.82  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  apply zenon_H64. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L251_ *)
% 28.63/28.82  assert (zenon_L252_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n2))) -> (~(zenon_TH_ee = (n3))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H281 zenon_H72 zenon_Hc2 zenon_H6a zenon_H94 zenon_Hab zenon_Hac.
% 28.63/28.82  elim (classic ((~(zenon_TH_ee = (n1)))/\(~(gt zenon_TH_ee (n1))))); [ zenon_intro zenon_H190 | zenon_intro zenon_H191 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H190). zenon_intro zenon_Haa. zenon_intro zenon_H13f.
% 28.63/28.82  apply (zenon_L251_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (n1) (n0)) = (gt zenon_TH_ee (n0))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hc2.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact gt_1_0.
% 28.63/28.82  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.82  cut (((n1) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H192].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H191); [ zenon_intro zenon_H194 | zenon_intro zenon_H193 ].
% 28.63/28.82  apply zenon_H194. zenon_intro zenon_Hb3.
% 28.63/28.82  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.82  cut ((zenon_TH_ee = zenon_TH_ee) = ((n1) = zenon_TH_ee)).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H192.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hc0.
% 28.63/28.82  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.82  cut ((zenon_TH_ee = (n1))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_Haa zenon_Hb3).
% 28.63/28.82  apply zenon_H9e. apply refl_equal.
% 28.63/28.82  apply zenon_H9e. apply refl_equal.
% 28.63/28.82  apply zenon_H193. zenon_intro zenon_H177.
% 28.63/28.82  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.82  generalize (zenon_H13b (n1)). zenon_intro zenon_H195.
% 28.63/28.82  generalize (zenon_H195 (n0)). zenon_intro zenon_H196.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_H13f | zenon_intro zenon_H197 ].
% 28.63/28.82  exact (zenon_H13f zenon_H177).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H133 | zenon_intro zenon_Hcf ].
% 28.63/28.82  exact (zenon_H133 gt_1_0).
% 28.63/28.82  exact (zenon_Hc2 zenon_Hcf).
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L252_ *)
% 28.63/28.82  assert (zenon_L253_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(gt (n1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.82  do 1 intro. intros zenon_Hc5 zenon_Hac zenon_H94 zenon_H15c zenon_H72 zenon_Hd6 zenon_H6a.
% 28.63/28.82  elim (classic ((~((n0) = (succ zenon_TH_ee)))/\(~(gt (n0) (succ zenon_TH_ee))))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H314. zenon_intro zenon_H1d6.
% 28.63/28.82  apply (zenon_L106_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (succ zenon_TH_ee) (n0)) = (gt (n0) (n0))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hd6.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_H6a.
% 28.63/28.82  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.82  cut (((succ zenon_TH_ee) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H315].
% 28.63/28.82  congruence.
% 28.63/28.82  apply (zenon_notand_s _ _ zenon_H313); [ zenon_intro zenon_H317 | zenon_intro zenon_H316 ].
% 28.63/28.82  apply zenon_H317. zenon_intro zenon_H318.
% 28.63/28.82  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.82  cut (((n0) = (n0)) = ((succ zenon_TH_ee) = (n0))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_H315.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hc1.
% 28.63/28.82  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.82  cut (((n0) = (succ zenon_TH_ee))); [idtac | apply NNPP; zenon_intro zenon_H314].
% 28.63/28.82  congruence.
% 28.63/28.82  exact (zenon_H314 zenon_H318).
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  apply zenon_H316. zenon_intro zenon_H1dc.
% 28.63/28.82  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.82  generalize (zenon_H10c (succ zenon_TH_ee)). zenon_intro zenon_H319.
% 28.63/28.82  generalize (zenon_H319 (n0)). zenon_intro zenon_H31a.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H31a); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H31b ].
% 28.63/28.82  exact (zenon_H1d6 zenon_H1dc).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H31b); [ zenon_intro zenon_H70 | zenon_intro zenon_H1ac ].
% 28.63/28.82  exact (zenon_H70 zenon_H6a).
% 28.63/28.82  exact (zenon_Hd6 zenon_H1ac).
% 28.63/28.82  apply zenon_H69. apply refl_equal.
% 28.63/28.82  (* end of lemma zenon_L253_ *)
% 28.63/28.82  assert (zenon_L254_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.82  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H281 zenon_H236 zenon_H72.
% 28.63/28.82  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.82  elim (classic (gt zenon_TH_ee (n0))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hc2 ].
% 28.63/28.82  elim (classic (gt zenon_TH_ee (succ (tptp_minus_1)))); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hbb ].
% 28.63/28.82  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.82  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.82  generalize (zenon_H13b (succ (tptp_minus_1))). zenon_intro zenon_H13c.
% 28.63/28.82  generalize (zenon_H13c (succ (succ (n0)))). zenon_intro zenon_H237.
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H237); [ zenon_intro zenon_Hbb | zenon_intro zenon_H238 ].
% 28.63/28.82  exact (zenon_Hbb zenon_Hc3).
% 28.63/28.82  apply (zenon_imply_s _ _ zenon_H238); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H239 ].
% 28.63/28.82  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.82  exact (zenon_H236 zenon_H239).
% 28.63/28.82  apply (zenon_L250_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt zenon_TH_ee (n0)) = (gt zenon_TH_ee (succ (tptp_minus_1)))).
% 28.63/28.82  intro zenon_D_pnotp.
% 28.63/28.82  apply zenon_Hbb.
% 28.63/28.82  rewrite <- zenon_D_pnotp.
% 28.63/28.82  exact zenon_Hcf.
% 28.63/28.82  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.82  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.82  congruence.
% 28.63/28.82  apply zenon_H9e. apply refl_equal.
% 28.63/28.82  exact (zenon_H61 zenon_H60).
% 28.63/28.82  elim (classic ((~(zenon_TH_ee = (n2)))/\(~(gt zenon_TH_ee (n2))))); [ zenon_intro zenon_H23b | zenon_intro zenon_H23c ].
% 28.63/28.82  apply (zenon_and_s _ _ zenon_H23b). zenon_intro zenon_Hab. zenon_intro zenon_H23a.
% 28.63/28.82  apply (zenon_L252_ zenon_TH_ee); trivial.
% 28.63/28.82  cut ((gt (n2) (n0)) = (gt zenon_TH_ee (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hc2.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_2_0.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n2) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H23d].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H23c); [ zenon_intro zenon_H23f | zenon_intro zenon_H23e ].
% 28.63/28.83  apply zenon_H23f. zenon_intro zenon_Hb5.
% 28.63/28.83  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee) = ((n2) = zenon_TH_ee)).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H23d.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hc0.
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.83  cut ((zenon_TH_ee = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hab zenon_Hb5).
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  apply zenon_H23e. zenon_intro zenon_H240.
% 28.63/28.83  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.83  generalize (zenon_H13b (n2)). zenon_intro zenon_H241.
% 28.63/28.83  generalize (zenon_H241 (n0)). zenon_intro zenon_H277.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H277); [ zenon_intro zenon_H23a | zenon_intro zenon_H278 ].
% 28.63/28.83  exact (zenon_H23a zenon_H240).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_H18c | zenon_intro zenon_Hcf ].
% 28.63/28.83  exact (zenon_H18c gt_2_0).
% 28.63/28.83  exact (zenon_Hc2 zenon_Hcf).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H61.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hb9.
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L254_ *)
% 28.63/28.83  assert (zenon_L255_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hdf zenon_H281 zenon_H236 zenon_H72.
% 28.63/28.83  apply (zenon_L254_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L255_ *)
% 28.63/28.83  assert (zenon_L256_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H236 zenon_Hdf zenon_H6a zenon_H94 zenon_Hac zenon_H281.
% 28.63/28.83  apply (zenon_L255_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L256_ *)
% 28.63/28.83  assert (zenon_L257_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H281 zenon_H236 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a.
% 28.63/28.83  apply (zenon_L256_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L257_ *)
% 28.63/28.83  assert (zenon_L258_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n0))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H335.
% 28.63/28.83  elim (classic ((~((succ (succ (n0))) = (n2)))/\(~(gt (succ (succ (n0))) (n2))))); [ zenon_intro zenon_H336 | zenon_intro zenon_H337 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H336). zenon_intro zenon_H1e7. zenon_intro zenon_H1ff.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  cut ((gt (n2) (n0)) = (gt (succ (succ (n0))) (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H335.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_2_0.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H337); [ zenon_intro zenon_H339 | zenon_intro zenon_H338 ].
% 28.63/28.83  apply zenon_H339. zenon_intro successor_2.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e4.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H338. zenon_intro zenon_H1fe.
% 28.63/28.83  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.83  generalize (zenon_H1f8 (n2)). zenon_intro zenon_H33a.
% 28.63/28.83  generalize (zenon_H33a (n0)). zenon_intro zenon_H33b.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H33b); [ zenon_intro zenon_H1ff | zenon_intro zenon_H33c ].
% 28.63/28.83  exact (zenon_H1ff zenon_H1fe).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H33c); [ zenon_intro zenon_H18c | zenon_intro zenon_H33d ].
% 28.63/28.83  exact (zenon_H18c gt_2_0).
% 28.63/28.83  exact (zenon_H335 zenon_H33d).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L258_ *)
% 28.63/28.83  assert (zenon_L259_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_Hac zenon_H94 zenon_H6a zenon_H281 zenon_H236 zenon_H72.
% 28.63/28.83  apply (zenon_L257_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L259_ *)
% 28.63/28.83  assert (zenon_L260_ : forall (zenon_TH_ee : zenon_U), (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H94 zenon_H6a zenon_H236 zenon_H281 zenon_Hac zenon_Hdf zenon_H72.
% 28.63/28.83  apply (zenon_L259_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L260_ *)
% 28.63/28.83  assert (zenon_L261_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (succ (n0)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H285 zenon_H236 zenon_H6a zenon_H94 zenon_Hac zenon_Hdf.
% 28.63/28.83  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.83  apply (zenon_L5_); trivial.
% 28.63/28.83  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.83  generalize (zenon_Hc9 (succ (succ (succ (n0))))). zenon_intro zenon_H286.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H287 ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H281 | zenon_intro zenon_H224 ].
% 28.63/28.83  exact (zenon_H281 zenon_H284).
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H285.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H224.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.83  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.83  apply zenon_Hff. apply sym_equal. exact zenon_H171.
% 28.63/28.83  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.83  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.83  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.83  generalize (zenon_H173 (succ (succ (succ (n0))))). zenon_intro zenon_H288.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H62 | zenon_intro zenon_H289 ].
% 28.63/28.83  exact (zenon_H62 zenon_H172).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H289); [ zenon_intro zenon_H21f | zenon_intro zenon_H28a ].
% 28.63/28.83  exact (zenon_H21f zenon_H224).
% 28.63/28.83  exact (zenon_H285 zenon_H28a).
% 28.63/28.83  apply zenon_H210. apply refl_equal.
% 28.63/28.83  apply (zenon_L260_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L261_ *)
% 28.63/28.83  assert (zenon_L262_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TH_ee = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H290 zenon_Hdf zenon_Hac zenon_H94 zenon_H6a zenon_H236.
% 28.63/28.83  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.83  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H290.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H28a.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  exact (zenon_H211 successor_3).
% 28.63/28.83  apply (zenon_L261_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L262_ *)
% 28.63/28.83  assert (zenon_L263_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_Hdf zenon_H2fa zenon_H72.
% 28.63/28.83  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.83  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.83  elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H2ff ].
% 28.63/28.83  cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2fa.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H300.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2ff.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e9.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.83  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hba.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hc1.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H61 zenon_H60).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply (zenon_L250_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H61.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hb9.
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L263_ *)
% 28.63/28.83  assert (zenon_L264_ : forall (zenon_TH_ee : zenon_U), (~(gt (n1) (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H15c zenon_H6a zenon_H94 zenon_Hac zenon_H2ff zenon_Hdf zenon_H72 zenon_Hc5.
% 28.63/28.83  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.83  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.83  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.83  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2fe | zenon_intro zenon_H2fa ].
% 28.63/28.83  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.83  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.83  generalize (zenon_H1d9 (succ (succ (n0)))). zenon_intro zenon_H33e.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H33e); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H33f ].
% 28.63/28.83  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H33f); [ zenon_intro zenon_H2fa | zenon_intro zenon_H300 ].
% 28.63/28.83  exact (zenon_H2fa zenon_H2fe).
% 28.63/28.83  exact (zenon_H2ff zenon_H300).
% 28.63/28.83  apply (zenon_L263_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hd5.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1ac.
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_Hce zenon_Hcd).
% 28.63/28.83  apply (zenon_L253_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L264_ *)
% 28.63/28.83  assert (zenon_L265_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~(zenon_TH_ee = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (n3))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H2ff zenon_Hdf zenon_H6a zenon_H94 zenon_Hac zenon_Hc5 zenon_H2a9.
% 28.63/28.83  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1fc | zenon_intro zenon_H1ef ].
% 28.63/28.83  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H203 | zenon_intro zenon_H204 ].
% 28.63/28.83  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.63/28.83  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.83  generalize (zenon_H1f8 (n1)). zenon_intro zenon_H205.
% 28.63/28.83  generalize (zenon_H205 (n3)). zenon_intro zenon_H2aa.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2aa); [ zenon_intro zenon_H204 | zenon_intro zenon_H2ab ].
% 28.63/28.83  exact (zenon_H204 zenon_H203).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2ab); [ zenon_intro zenon_H15c | zenon_intro zenon_H2ac ].
% 28.63/28.83  exact (zenon_H15c zenon_H160).
% 28.63/28.83  exact (zenon_H2a9 zenon_H2ac).
% 28.63/28.83  apply (zenon_L264_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H204.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1fc.
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply (zenon_L147_); trivial.
% 28.63/28.83  (* end of lemma zenon_L265_ *)
% 28.63/28.83  assert (zenon_L266_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H2a9 zenon_Hc5 zenon_H94 zenon_H6a zenon_Hdf zenon_H2ff.
% 28.63/28.83  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.63/28.83  apply (zenon_L82_); trivial.
% 28.63/28.83  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2a9.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H94.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.83  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1f3.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1f2 zenon_H1f6).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.83  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.83  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.83  generalize (zenon_H1f9 zenon_TH_ee). zenon_intro zenon_H2db.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2dc ].
% 28.63/28.83  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2dd ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  cut ((gt (succ (succ (n0))) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2a9.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2dd.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  apply (zenon_L265_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L266_ *)
% 28.63/28.83  assert (zenon_L267_ : forall (zenon_TH_ee : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hc5 zenon_H94 zenon_H6a zenon_Hdf zenon_H2ff zenon_H209 zenon_H72.
% 28.63/28.83  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.83  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.83  cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H209.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2ac.
% 28.63/28.83  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.83  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e7.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H200.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H5c. apply refl_equal.
% 28.63/28.83  apply (zenon_L266_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e4.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L267_ *)
% 28.63/28.83  assert (zenon_L268_ : forall (zenon_TH_ee : zenon_U), (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H2ff zenon_Hdf zenon_H6a zenon_H94 zenon_Hc5 zenon_H72 zenon_H1fd.
% 28.63/28.83  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.63/28.83  apply (zenon_L267_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1fd.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_2.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.63/28.83  apply zenon_H219. zenon_intro zenon_H21a.
% 28.63/28.83  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.83  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H217.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H200.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H216 zenon_H21a).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.83  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.83  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.83  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.83  exact (zenon_H209 zenon_H20c).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.83  exact (zenon_H7f gt_3_2).
% 28.63/28.83  exact (zenon_H1fd zenon_H21e).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L268_ *)
% 28.63/28.83  assert (zenon_L269_ : forall (zenon_TH_ee : zenon_U), (~(gt zenon_TH_ee (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H236 zenon_H72 zenon_H246 zenon_Hdf zenon_H6a zenon_H94.
% 28.63/28.83  elim (classic ((~((succ (n0)) = (n3)))/\(~(gt (succ (n0)) (n3))))); [ zenon_intro zenon_H340 | zenon_intro zenon_H341 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H342. zenon_intro zenon_H290.
% 28.63/28.83  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16d ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H16c). zenon_intro zenon_H16e. zenon_intro zenon_H62.
% 28.63/28.83  apply (zenon_L5_); trivial.
% 28.63/28.83  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (n0)) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H290.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H94.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hff].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H16d); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 28.63/28.83  apply zenon_H170. zenon_intro zenon_H171.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hff.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H16e].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H16e zenon_H171).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H16f. zenon_intro zenon_H172.
% 28.63/28.83  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.83  generalize (zenon_H124 (succ (tptp_minus_1))). zenon_intro zenon_H173.
% 28.63/28.83  generalize (zenon_H173 zenon_TH_ee). zenon_intro zenon_H174.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H62 | zenon_intro zenon_H175 ].
% 28.63/28.83  exact (zenon_H62 zenon_H172).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H176 ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  cut ((gt (succ (n0)) zenon_TH_ee) = (gt (succ (n0)) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H290.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H176.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  apply (zenon_L262_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n2)) = (gt (succ (n0)) (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H246.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_2.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n3) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H343].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H341); [ zenon_intro zenon_H345 | zenon_intro zenon_H344 ].
% 28.63/28.83  apply zenon_H345. zenon_intro zenon_H346.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n3) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H343.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H342].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H342 zenon_H346).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H344. zenon_intro zenon_H28f.
% 28.63/28.83  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.83  generalize (zenon_H124 (n3)). zenon_intro zenon_H2bc.
% 28.63/28.83  generalize (zenon_H2bc (n2)). zenon_intro zenon_H347.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H347); [ zenon_intro zenon_H290 | zenon_intro zenon_H348 ].
% 28.63/28.83  exact (zenon_H290 zenon_H28f).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H348); [ zenon_intro zenon_H7f | zenon_intro zenon_H24b ].
% 28.63/28.83  exact (zenon_H7f gt_3_2).
% 28.63/28.83  exact (zenon_H246 zenon_H24b).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L269_ *)
% 28.63/28.83  assert (zenon_L270_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_H94 zenon_H6a zenon_H236 zenon_H2bb zenon_H72.
% 28.63/28.83  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.83  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2bb.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H24b.
% 28.63/28.83  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.83  apply (zenon_L269_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e4.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L270_ *)
% 28.63/28.83  assert (zenon_L271_ : forall (zenon_TH_ee : zenon_U), (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (n1))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H6a zenon_H94 zenon_Hdf zenon_H72 zenon_H13f.
% 28.63/28.83  elim (classic ((~(zenon_TH_ee = (n3)))/\(~(gt zenon_TH_ee (n3))))); [ zenon_intro zenon_H2ef | zenon_intro zenon_H2f0 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H2ef). zenon_intro zenon_Hac. zenon_intro zenon_H2da.
% 28.63/28.83  apply (zenon_L240_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n1)) = (gt zenon_TH_ee (n1))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H13f.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_1.
% 28.63/28.83  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.83  cut (((n3) = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H2f1].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H2f0); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f2 ].
% 28.63/28.83  apply zenon_H2f3. zenon_intro zenon_Hb4.
% 28.63/28.83  elim (classic (zenon_TH_ee = zenon_TH_ee)); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H9e ].
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee) = ((n3) = zenon_TH_ee)).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2f1.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hc0.
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  apply zenon_H2f2. zenon_intro zenon_H2de.
% 28.63/28.83  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.83  generalize (zenon_H13b (n3)). zenon_intro zenon_H2f4.
% 28.63/28.83  generalize (zenon_H2f4 (n1)). zenon_intro zenon_H349.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H349); [ zenon_intro zenon_H2da | zenon_intro zenon_H34a ].
% 28.63/28.83  exact (zenon_H2da zenon_H2de).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H34a); [ zenon_intro zenon_H16b | zenon_intro zenon_H177 ].
% 28.63/28.83  exact (zenon_H16b gt_3_1).
% 28.63/28.83  exact (zenon_H13f zenon_H177).
% 28.63/28.83  apply zenon_H5e. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L271_ *)
% 28.63/28.83  assert (zenon_L272_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_H94 zenon_H6a zenon_H100 zenon_H72.
% 28.63/28.83  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.83  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.63/28.83  cut ((gt zenon_TH_ee (n1)) = (gt zenon_TH_ee (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H100.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H177.
% 28.63/28.83  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  exact (zenon_H65 zenon_H111).
% 28.63/28.83  apply (zenon_L271_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H65.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L272_ *)
% 28.63/28.83  assert (zenon_L273_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H101 zenon_Hdf zenon_H94 zenon_H6a.
% 28.63/28.83  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.83  generalize (zenon_Hc9 (succ (n0))). zenon_intro zenon_H103.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H103); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H104 ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H104); [ zenon_intro zenon_H100 | zenon_intro zenon_H105 ].
% 28.63/28.83  exact (zenon_H100 zenon_H102).
% 28.63/28.83  exact (zenon_H101 zenon_H105).
% 28.63/28.83  apply (zenon_L272_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L273_ *)
% 28.63/28.83  assert (zenon_L274_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TH_ee (succ (succ (n0))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H236 zenon_H1e2 zenon_H6a zenon_H94 zenon_Hdf.
% 28.63/28.83  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H105 | zenon_intro zenon_H101 ].
% 28.63/28.83  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17a | zenon_intro zenon_H17d ].
% 28.63/28.83  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1e8 ].
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 (n1)). zenon_intro zenon_H1ca.
% 28.63/28.83  generalize (zenon_H1ca (succ (succ (n0)))). zenon_intro zenon_H2d6.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2d6); [ zenon_intro zenon_H17d | zenon_intro zenon_H2d7 ].
% 28.63/28.83  exact (zenon_H17d zenon_H17a).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2d7); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H1e9 ].
% 28.63/28.83  exact (zenon_H1e8 zenon_H1ed).
% 28.63/28.83  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.83  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.83  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (n1) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e8.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2bf.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H114 | zenon_intro zenon_H5e ].
% 28.63/28.83  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H68.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H114.
% 28.63/28.83  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.83  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H65 zenon_H111).
% 28.63/28.83  apply zenon_H5e. apply refl_equal.
% 28.63/28.83  apply zenon_H5e. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply (zenon_L270_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H65.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H17d.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H105.
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply (zenon_L273_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L274_ *)
% 28.63/28.83  assert (zenon_L275_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H1e2 zenon_Hdf zenon_H94 zenon_H6a.
% 28.63/28.83  elim (classic (gt zenon_TH_ee (succ (succ (n0))))); [ zenon_intro zenon_H239 | zenon_intro zenon_H236 ].
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.83  generalize (zenon_Hc9 (succ (succ (n0)))). zenon_intro zenon_H2c0.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2c0); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2c1 ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H236 | zenon_intro zenon_H1e9 ].
% 28.63/28.83  exact (zenon_H236 zenon_H239).
% 28.63/28.83  exact (zenon_H1e2 zenon_H1e9).
% 28.63/28.83  apply (zenon_L274_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L275_ *)
% 28.63/28.83  assert (zenon_L276_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_Hc5 zenon_H94 zenon_H6a zenon_H2fa zenon_H72.
% 28.63/28.83  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.83  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1e2 ].
% 28.63/28.83  elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H300 | zenon_intro zenon_H2ff ].
% 28.63/28.83  cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2fa.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H300.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2ff.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e9.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.83  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hba.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hc1.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H61 zenon_H60).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply (zenon_L275_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H61.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hb9.
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L276_ *)
% 28.63/28.83  assert (zenon_L277_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_Hd3 zenon_Hc5 zenon_H6a zenon_H94.
% 28.63/28.83  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.83  cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hd3.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd4.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.83  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.83  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hd5.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1ac.
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_Hce zenon_Hcd).
% 28.63/28.83  apply (zenon_L229_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L277_ *)
% 28.63/28.83  assert (zenon_L278_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H110 zenon_Hdf zenon_Hc5 zenon_H6a zenon_H94.
% 28.63/28.83  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12a ].
% 28.63/28.83  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.83  generalize (zenon_H12f (n0)). zenon_intro zenon_H130.
% 28.63/28.83  generalize (zenon_H130 (n1)). zenon_intro zenon_H131.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H131); [ zenon_intro zenon_H133 | zenon_intro zenon_H132 ].
% 28.63/28.83  exact (zenon_H133 gt_1_0).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_H12a | zenon_intro zenon_H134 ].
% 28.63/28.83  exact (zenon_H12a zenon_H12e).
% 28.63/28.83  exact (zenon_H110 zenon_H134).
% 28.63/28.83  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.83  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.83  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.83  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1a6 | zenon_intro zenon_H198 ].
% 28.63/28.83  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.83  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.83  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H244.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H244); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H245 ].
% 28.63/28.83  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H245); [ zenon_intro zenon_H198 | zenon_intro zenon_H12e ].
% 28.63/28.83  exact (zenon_H198 zenon_H1a6).
% 28.63/28.83  exact (zenon_H12a zenon_H12e).
% 28.63/28.83  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n2)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n2))))); [ zenon_intro zenon_H326 | zenon_intro zenon_H327 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H326). zenon_intro zenon_H329. zenon_intro zenon_H328.
% 28.63/28.83  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2fe | zenon_intro zenon_H2fa ].
% 28.63/28.83  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H328.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2fe.
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  apply (zenon_L276_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n2) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H198.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_2_1.
% 28.63/28.83  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.83  cut (((n2) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H32a].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H327); [ zenon_intro zenon_H32c | zenon_intro zenon_H32b ].
% 28.63/28.83  apply zenon_H32c. zenon_intro zenon_H32d.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n2) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H32a.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H329].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H329 zenon_H32d).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_H32b. zenon_intro zenon_H32e.
% 28.63/28.83  generalize (zenon_H72 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19b.
% 28.63/28.83  generalize (zenon_H19b (n2)). zenon_intro zenon_H32f.
% 28.63/28.83  generalize (zenon_H32f (n1)). zenon_intro zenon_H330.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H330); [ zenon_intro zenon_H328 | zenon_intro zenon_H331 ].
% 28.63/28.83  exact (zenon_H328 zenon_H32e).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H331); [ zenon_intro zenon_H78 | zenon_intro zenon_H1a6 ].
% 28.63/28.83  exact (zenon_H78 gt_2_1).
% 28.63/28.83  exact (zenon_H198 zenon_H1a6).
% 28.63/28.83  apply zenon_H5e. apply refl_equal.
% 28.63/28.83  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hd5.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1ac.
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_Hce zenon_Hcd).
% 28.63/28.83  apply (zenon_L229_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L278_ *)
% 28.63/28.83  assert (zenon_L279_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H110 zenon_Hdf zenon_Hc5 zenon_H6a zenon_H94.
% 28.63/28.83  apply (zenon_L278_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L279_ *)
% 28.63/28.83  assert (zenon_L280_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H209 zenon_H94 zenon_H6a zenon_Hc5 zenon_Hdf.
% 28.63/28.83  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H160 | zenon_intro zenon_H15c ].
% 28.63/28.83  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.83  generalize (zenon_H74 (n1)). zenon_intro zenon_H75.
% 28.63/28.83  generalize (zenon_H75 (n3)). zenon_intro zenon_H20a.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_H78 | zenon_intro zenon_H20b ].
% 28.63/28.83  exact (zenon_H78 gt_2_1).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H15c | zenon_intro zenon_H20c ].
% 28.63/28.83  exact (zenon_H15c zenon_H160).
% 28.63/28.83  exact (zenon_H209 zenon_H20c).
% 28.63/28.83  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.83  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H134 | zenon_intro zenon_H110 ].
% 28.63/28.83  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H135 | zenon_intro zenon_H136 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ].
% 28.63/28.83  generalize (zenon_H72 (n1)). zenon_intro zenon_H12f.
% 28.63/28.83  generalize (zenon_H12f (succ (n0))). zenon_intro zenon_H24c.
% 28.63/28.83  generalize (zenon_H24c (n3)). zenon_intro zenon_H291.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H291); [ zenon_intro zenon_H136 | zenon_intro zenon_H292 ].
% 28.63/28.83  exact (zenon_H136 zenon_H135).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H292); [ zenon_intro zenon_H290 | zenon_intro zenon_H160 ].
% 28.63/28.83  exact (zenon_H290 zenon_H28f).
% 28.63/28.83  exact (zenon_H15c zenon_H160).
% 28.63/28.83  apply (zenon_L233_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H136.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H134.
% 28.63/28.83  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.83  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5e].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H5e. apply refl_equal.
% 28.63/28.83  exact (zenon_H65 zenon_H111).
% 28.63/28.83  apply (zenon_L279_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H65.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L280_ *)
% 28.63/28.83  assert (zenon_L281_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H28b zenon_Hdf zenon_Hc5 zenon_H6a zenon_H94.
% 28.63/28.83  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H209 ].
% 28.63/28.83  generalize (zenon_H72 (n3)). zenon_intro zenon_H7b.
% 28.63/28.83  generalize (zenon_H7b (n2)). zenon_intro zenon_H7c.
% 28.63/28.83  generalize (zenon_H7c (n3)). zenon_intro zenon_H28c.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H28c); [ zenon_intro zenon_H7f | zenon_intro zenon_H28d ].
% 28.63/28.83  exact (zenon_H7f gt_3_2).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H28d); [ zenon_intro zenon_H209 | zenon_intro zenon_H28e ].
% 28.63/28.83  exact (zenon_H209 zenon_H20c).
% 28.63/28.83  exact (zenon_H28b zenon_H28e).
% 28.63/28.83  apply (zenon_L280_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L281_ *)
% 28.63/28.83  assert (zenon_L282_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H2a9 zenon_Hdf zenon_H94 zenon_H6a.
% 28.63/28.83  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H1f0). zenon_intro zenon_H1f2. zenon_intro zenon_H1ee.
% 28.63/28.83  apply (zenon_L82_); trivial.
% 28.63/28.83  elim (classic (zenon_TH_ee = (n3))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hac ].
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2a9.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H94.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1f3].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f4 ].
% 28.63/28.83  apply zenon_H1f5. zenon_intro zenon_H1f6.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1f3.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1f2 zenon_H1f6).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1f4. zenon_intro zenon_H1f7.
% 28.63/28.83  generalize (zenon_H72 (succ (succ (n0)))). zenon_intro zenon_H1f8.
% 28.63/28.83  generalize (zenon_H1f8 (succ (tptp_minus_1))). zenon_intro zenon_H1f9.
% 28.63/28.83  generalize (zenon_H1f9 zenon_TH_ee). zenon_intro zenon_H2db.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H1ee | zenon_intro zenon_H2dc ].
% 28.63/28.83  exact (zenon_H1ee zenon_H1f7).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H2dd ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  cut ((gt (succ (succ (n0))) zenon_TH_ee) = (gt (succ (succ (n0))) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2a9.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2dd.
% 28.63/28.83  cut ((zenon_TH_ee = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hac].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  exact (zenon_Hac zenon_Hb4).
% 28.63/28.83  apply (zenon_L232_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L282_ *)
% 28.63/28.83  assert (zenon_L283_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_H94 zenon_H6a zenon_H212 zenon_H72.
% 28.63/28.83  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20e | zenon_intro zenon_H8f ].
% 28.63/28.83  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2ac | zenon_intro zenon_H2a9 ].
% 28.63/28.83  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H212.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H2ac.
% 28.63/28.83  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  exact (zenon_H8f zenon_H20e).
% 28.63/28.83  apply (zenon_L282_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20f | zenon_intro zenon_H210 ].
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H8f.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H20f.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H211 successor_3).
% 28.63/28.83  apply zenon_H210. apply refl_equal.
% 28.63/28.83  apply zenon_H210. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L283_ *)
% 28.63/28.83  assert (zenon_L284_ : forall (zenon_TH_ee : zenon_U), (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H94 zenon_H6a zenon_Hc5 zenon_Hdf zenon_H72 zenon_H1fd.
% 28.63/28.83  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H215 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H214). zenon_intro zenon_H216. zenon_intro zenon_H209.
% 28.63/28.83  apply (zenon_L280_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1fd.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_2.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H217].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H215); [ zenon_intro zenon_H219 | zenon_intro zenon_H218 ].
% 28.63/28.83  apply zenon_H219. zenon_intro zenon_H21a.
% 28.63/28.83  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H5d ].
% 28.63/28.83  cut (((n2) = (n2)) = ((n3) = (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H217.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H200.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H216].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H216 zenon_H21a).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  apply zenon_H218. zenon_intro zenon_H20c.
% 28.63/28.83  generalize (zenon_H72 (n2)). zenon_intro zenon_H74.
% 28.63/28.83  generalize (zenon_H74 (n3)). zenon_intro zenon_H21b.
% 28.63/28.83  generalize (zenon_H21b (n2)). zenon_intro zenon_H21c.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H209 | zenon_intro zenon_H21d ].
% 28.63/28.83  exact (zenon_H209 zenon_H20c).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H7f | zenon_intro zenon_H21e ].
% 28.63/28.83  exact (zenon_H7f gt_3_2).
% 28.63/28.83  exact (zenon_H1fd zenon_H21e).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L284_ *)
% 28.63/28.83  assert (zenon_L285_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~((tptp_minus_1) = (n3))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H246 zenon_H94 zenon_H6a zenon_Hdf.
% 28.63/28.83  elim (classic ((~((succ (n0)) = (n3)))/\(~(gt (succ (n0)) (n3))))); [ zenon_intro zenon_H340 | zenon_intro zenon_H341 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H340). zenon_intro zenon_H342. zenon_intro zenon_H290.
% 28.63/28.83  apply (zenon_L233_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n2)) = (gt (succ (n0)) (n2))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H246.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_2.
% 28.63/28.83  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 28.63/28.83  cut (((n3) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H343].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H341); [ zenon_intro zenon_H345 | zenon_intro zenon_H344 ].
% 28.63/28.83  apply zenon_H345. zenon_intro zenon_H346.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n3) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H343.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H342].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H342 zenon_H346).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H344. zenon_intro zenon_H28f.
% 28.63/28.83  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.83  generalize (zenon_H124 (n3)). zenon_intro zenon_H2bc.
% 28.63/28.83  generalize (zenon_H2bc (n2)). zenon_intro zenon_H347.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H347); [ zenon_intro zenon_H290 | zenon_intro zenon_H348 ].
% 28.63/28.83  exact (zenon_H290 zenon_H28f).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H348); [ zenon_intro zenon_H7f | zenon_intro zenon_H24b ].
% 28.63/28.83  exact (zenon_H7f gt_3_2).
% 28.63/28.83  exact (zenon_H246 zenon_H24b).
% 28.63/28.83  apply zenon_H5d. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L285_ *)
% 28.63/28.83  assert (zenon_L286_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt zenon_TH_ee (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_H94 zenon_H6a zenon_H281 zenon_H72.
% 28.63/28.83  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H111 | zenon_intro zenon_H65 ].
% 28.63/28.83  elim (classic (gt zenon_TH_ee (n1))); [ zenon_intro zenon_H177 | zenon_intro zenon_H13f ].
% 28.63/28.83  elim (classic (gt zenon_TH_ee (succ (n0)))); [ zenon_intro zenon_H102 | zenon_intro zenon_H100 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28a | zenon_intro zenon_H285 ].
% 28.63/28.83  generalize (zenon_H72 zenon_TH_ee). zenon_intro zenon_H13b.
% 28.63/28.83  generalize (zenon_H13b (succ (n0))). zenon_intro zenon_H34b.
% 28.63/28.83  generalize (zenon_H34b (succ (succ (succ (n0))))). zenon_intro zenon_H34c.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H34c); [ zenon_intro zenon_H100 | zenon_intro zenon_H34d ].
% 28.63/28.83  exact (zenon_H100 zenon_H102).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H34d); [ zenon_intro zenon_H285 | zenon_intro zenon_H284 ].
% 28.63/28.83  exact (zenon_H285 zenon_H28a).
% 28.63/28.83  exact (zenon_H281 zenon_H284).
% 28.63/28.83  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1e3 | zenon_intro zenon_H1e4 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H24b | zenon_intro zenon_H246 ].
% 28.63/28.83  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2bf | zenon_intro zenon_H2bb ].
% 28.63/28.83  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H220 | zenon_intro zenon_H212 ].
% 28.63/28.83  generalize (zenon_H72 (succ (n0))). zenon_intro zenon_H124.
% 28.63/28.83  generalize (zenon_H124 (succ (succ (n0)))). zenon_intro zenon_H34e.
% 28.63/28.83  generalize (zenon_H34e (succ (succ (succ (n0))))). zenon_intro zenon_H34f.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H34f); [ zenon_intro zenon_H2bb | zenon_intro zenon_H350 ].
% 28.63/28.83  exact (zenon_H2bb zenon_H2bf).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H350); [ zenon_intro zenon_H212 | zenon_intro zenon_H28a ].
% 28.63/28.83  exact (zenon_H212 zenon_H220).
% 28.63/28.83  exact (zenon_H285 zenon_H28a).
% 28.63/28.83  apply (zenon_L283_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H2bb.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H24b.
% 28.63/28.83  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  exact (zenon_H1e4 zenon_H1e3).
% 28.63/28.83  apply (zenon_L285_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1e5 | zenon_intro zenon_H1e6 ].
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H1e4.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1e5.
% 28.63/28.83  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1e6].
% 28.63/28.83  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e7].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H1e7 successor_2).
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  apply zenon_H1e6. apply refl_equal.
% 28.63/28.83  cut ((gt zenon_TH_ee (n1)) = (gt zenon_TH_ee (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H100.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H177.
% 28.63/28.83  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 28.63/28.83  cut ((zenon_TH_ee = zenon_TH_ee)); [idtac | apply NNPP; zenon_intro zenon_H9e].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H9e. apply refl_equal.
% 28.63/28.83  exact (zenon_H65 zenon_H111).
% 28.63/28.83  apply (zenon_L271_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 28.63/28.83  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H65.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H66.
% 28.63/28.83  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H67].
% 28.63/28.83  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H68 successor_1).
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  apply zenon_H67. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L286_ *)
% 28.63/28.83  assert (zenon_L287_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H21f zenon_Hdf zenon_H94 zenon_H6a.
% 28.63/28.83  elim (classic (gt zenon_TH_ee (succ (succ (succ (n0)))))); [ zenon_intro zenon_H284 | zenon_intro zenon_H281 ].
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 zenon_TH_ee). zenon_intro zenon_Hc9.
% 28.63/28.83  generalize (zenon_Hc9 (succ (succ (succ (n0))))). zenon_intro zenon_H286.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_Ha8 | zenon_intro zenon_H287 ].
% 28.63/28.83  exact (zenon_Ha8 zenon_H94).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H281 | zenon_intro zenon_H224 ].
% 28.63/28.83  exact (zenon_H281 zenon_H284).
% 28.63/28.83  exact (zenon_H21f zenon_H224).
% 28.63/28.83  apply (zenon_L286_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L287_ *)
% 28.63/28.83  assert (zenon_L288_ : forall (zenon_TH_ee : zenon_U), (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 28.63/28.83  do 1 intro. intros zenon_Hdf zenon_Hc5 zenon_H94 zenon_H6a zenon_H295 zenon_H72.
% 28.63/28.83  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 28.63/28.83  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H21f ].
% 28.63/28.83  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H296 | zenon_intro zenon_H297 ].
% 28.63/28.83  cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H295.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H296.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_H210. apply refl_equal.
% 28.63/28.83  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H297.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H224.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H210].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H69 ].
% 28.63/28.83  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hba.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hc1.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H61].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H61 zenon_H60).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  apply zenon_H210. apply refl_equal.
% 28.63/28.83  apply (zenon_L287_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H61.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hb9.
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hba].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hba succ_tptp_minus_1).
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L288_ *)
% 28.63/28.83  assert (zenon_L289_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TH_ee) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H15b zenon_Hc5 zenon_H6a zenon_H94.
% 28.63/28.83  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hfd | zenon_intro zenon_Hdf ].
% 28.63/28.83  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H15b.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_0_tptp_minus_1.
% 28.63/28.83  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hdf].
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_Hdf zenon_Hfd).
% 28.63/28.83  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ].
% 28.63/28.83  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1ac | zenon_intro zenon_Hd6 ].
% 28.63/28.83  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 28.63/28.83  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H29d | zenon_intro zenon_H293 ].
% 28.63/28.83  generalize (zenon_H72 (n0)). zenon_intro zenon_H10c.
% 28.63/28.83  generalize (zenon_H10c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d9.
% 28.63/28.83  generalize (zenon_H1d9 (n3)). zenon_intro zenon_H2d2.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2d2); [ zenon_intro zenon_Hd5 | zenon_intro zenon_H2d3 ].
% 28.63/28.83  exact (zenon_Hd5 zenon_Hd4).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2d3); [ zenon_intro zenon_H293 | zenon_intro zenon_H15d ].
% 28.63/28.83  exact (zenon_H293 zenon_H29d).
% 28.63/28.83  exact (zenon_H15b zenon_H15d).
% 28.63/28.83  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H294 | zenon_intro zenon_H295 ].
% 28.63/28.83  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H293.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H294.
% 28.63/28.83  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H211].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  exact (zenon_H211 successor_3).
% 28.63/28.83  apply (zenon_L288_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hd5.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H1ac.
% 28.63/28.83  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hce].
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  congruence.
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_Hce zenon_Hcd).
% 28.63/28.83  apply (zenon_L229_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hce.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hd0.
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hd1].
% 28.63/28.83  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd2].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_Hd2 zenon_Hc5).
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  apply zenon_Hd1. apply refl_equal.
% 28.63/28.83  (* end of lemma zenon_L289_ *)
% 28.63/28.83  assert (zenon_L290_ : forall (zenon_TH_ee : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (gt (succ (tptp_minus_1)) zenon_TH_ee) -> (gt (succ zenon_TH_ee) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 28.63/28.83  do 1 intro. intros zenon_H72 zenon_H227 zenon_H94 zenon_H6a zenon_Hc5.
% 28.63/28.83  elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TH_ee)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TH_ee))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H251). zenon_intro zenon_H253. zenon_intro zenon_H1cd.
% 28.63/28.83  apply (zenon_L218_ zenon_TH_ee); trivial.
% 28.63/28.83  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H15d | zenon_intro zenon_H15b ].
% 28.63/28.83  generalize (zenon_H72 (succ zenon_TH_ee)). zenon_intro zenon_H11a.
% 28.63/28.83  generalize (zenon_H11a (n0)). zenon_intro zenon_H11b.
% 28.63/28.83  generalize (zenon_H11b (n3)). zenon_intro zenon_H254.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H70 | zenon_intro zenon_H255 ].
% 28.63/28.83  exact (zenon_H70 zenon_H6a).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H15b | zenon_intro zenon_H256 ].
% 28.63/28.83  exact (zenon_H15b zenon_H15d).
% 28.63/28.83  cut ((gt (succ zenon_TH_ee) (n3)) = (gt (succ (tptp_minus_1)) (n3))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H227.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_H256.
% 28.63/28.83  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 28.63/28.83  cut (((succ zenon_TH_ee) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H257].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H252); [ zenon_intro zenon_H259 | zenon_intro zenon_H258 ].
% 28.63/28.83  apply zenon_H259. zenon_intro zenon_H25a.
% 28.63/28.83  apply zenon_H257. apply sym_equal. exact zenon_H25a.
% 28.63/28.83  apply zenon_H258. zenon_intro zenon_H1d1.
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 (succ zenon_TH_ee)). zenon_intro zenon_H25b.
% 28.63/28.83  generalize (zenon_H25b (n3)). zenon_intro zenon_H25c.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H25c); [ zenon_intro zenon_H1cd | zenon_intro zenon_H25d ].
% 28.63/28.83  exact (zenon_H1cd zenon_H1d1).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H25d); [ zenon_intro zenon_H25e | zenon_intro zenon_H22b ].
% 28.63/28.83  exact (zenon_H25e zenon_H256).
% 28.63/28.83  exact (zenon_H227 zenon_H22b).
% 28.63/28.83  apply zenon_H5c. apply refl_equal.
% 28.63/28.83  apply (zenon_L289_ zenon_TH_ee); trivial.
% 28.63/28.83  (* end of lemma zenon_L290_ *)
% 28.63/28.83  apply NNPP. intro zenon_G.
% 28.63/28.83  elim (classic (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z))))))); [ zenon_intro zenon_H72 | zenon_intro zenon_H351 ].
% 28.63/28.83  apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_H353. zenon_intro zenon_H352.
% 28.63/28.83  apply (zenon_notallex_s (fun H : zenon_U => (((leq (n0) H)/\(leq H (tptp_minus_1)))->((a_select2 (mu_init) H) = (init)))) zenon_H352); [ zenon_intro zenon_H354; idtac ].
% 28.63/28.83  elim zenon_H354. zenon_intro zenon_TH_ee. zenon_intro zenon_H355.
% 28.63/28.83  apply (zenon_notimply_s _ _ zenon_H355). zenon_intro zenon_H357. zenon_intro zenon_H356.
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H357). zenon_intro zenon_H6f. zenon_intro zenon_H358.
% 28.63/28.83  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.63/28.83  generalize (zenon_H6d zenon_TH_ee). zenon_intro zenon_H6e.
% 28.63/28.83  apply (zenon_equiv_s _ _ zenon_H6e); [ zenon_intro zenon_H6b; zenon_intro zenon_H70 | zenon_intro zenon_H6f; zenon_intro zenon_H6a ].
% 28.63/28.83  exact (zenon_H6b zenon_H6f).
% 28.63/28.83  generalize (leq_succ_gt_equiv zenon_TH_ee). zenon_intro zenon_H96.
% 28.63/28.83  generalize (zenon_H96 (tptp_minus_1)). zenon_intro zenon_H359.
% 28.63/28.83  apply (zenon_equiv_s _ _ zenon_H359); [ zenon_intro zenon_H35a; zenon_intro zenon_Ha8 | zenon_intro zenon_H358; zenon_intro zenon_H94 ].
% 28.63/28.83  exact (zenon_H35a zenon_H358).
% 28.63/28.83  generalize (sum_plus_base zenon_E). zenon_intro zenon_Hc5.
% 28.63/28.83  generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1c1.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1c2 | zenon_intro zenon_Hfa ].
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H1c2); [ zenon_intro zenon_He4 | zenon_intro zenon_H1ad ].
% 28.63/28.83  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H6d.
% 28.63/28.83  generalize (zenon_H6d (tptp_minus_1)). zenon_intro zenon_He5.
% 28.63/28.83  apply (zenon_equiv_s _ _ zenon_He5); [ zenon_intro zenon_He4; zenon_intro zenon_Hb6 | zenon_intro zenon_He6; zenon_intro zenon_Hb8 ].
% 28.63/28.83  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H225 | zenon_intro zenon_H226 ].
% 28.63/28.83  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H228. zenon_intro zenon_H227.
% 28.63/28.83  apply (zenon_L290_ zenon_TH_ee); trivial.
% 28.63/28.83  cut ((gt (n3) (n0)) = (gt (succ (tptp_minus_1)) (n0))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_Hb6.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact gt_3_0.
% 28.63/28.83  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 28.63/28.83  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 28.63/28.83  congruence.
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H226); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 28.63/28.83  apply zenon_H22e. zenon_intro zenon_H22f.
% 28.63/28.83  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H64 ].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 28.63/28.83  intro zenon_D_pnotp.
% 28.63/28.83  apply zenon_H22c.
% 28.63/28.83  rewrite <- zenon_D_pnotp.
% 28.63/28.83  exact zenon_Hb9.
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 28.63/28.83  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H228].
% 28.63/28.83  congruence.
% 28.63/28.83  exact (zenon_H228 zenon_H22f).
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H64. apply refl_equal.
% 28.63/28.83  apply zenon_H22d. zenon_intro zenon_H22b.
% 28.63/28.83  generalize (zenon_H72 (succ (tptp_minus_1))). zenon_intro zenon_Hc8.
% 28.63/28.83  generalize (zenon_Hc8 (n3)). zenon_intro zenon_H230.
% 28.63/28.83  generalize (zenon_H230 (n0)). zenon_intro zenon_H2ed.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2ed); [ zenon_intro zenon_H227 | zenon_intro zenon_H2ee ].
% 28.63/28.83  exact (zenon_H227 zenon_H22b).
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H2ee); [ zenon_intro zenon_H18f | zenon_intro zenon_Hb8 ].
% 28.63/28.83  exact (zenon_H18f gt_3_0).
% 28.63/28.83  exact (zenon_Hb6 zenon_Hb8).
% 28.63/28.83  apply zenon_H69. apply refl_equal.
% 28.63/28.83  exact (zenon_He4 zenon_He6).
% 28.63/28.83  apply (zenon_L66_); trivial.
% 28.63/28.83  apply (zenon_L231_ zenon_TH_ee); trivial.
% 28.63/28.83  apply zenon_H351. zenon_intro zenon_Tx_bhb. apply NNPP. zenon_intro zenon_H35c.
% 28.63/28.83  apply zenon_H35c. zenon_intro zenon_Ty_bhd. apply NNPP. zenon_intro zenon_H35e.
% 28.63/28.83  apply zenon_H35e. zenon_intro zenon_Tz_bhf. apply NNPP. zenon_intro zenon_H360.
% 28.63/28.83  apply (zenon_notimply_s _ _ zenon_H360). zenon_intro zenon_H362. zenon_intro zenon_H361.
% 28.63/28.83  apply (zenon_notimply_s _ _ zenon_H361). zenon_intro zenon_H364. zenon_intro zenon_H363.
% 28.63/28.83  generalize (transitivity_gt zenon_Tx_bhb). zenon_intro zenon_H365.
% 28.63/28.83  generalize (zenon_H365 zenon_Ty_bhd). zenon_intro zenon_H366.
% 28.63/28.83  generalize (zenon_H366 zenon_Tz_bhf). zenon_intro zenon_H367.
% 28.63/28.83  apply (zenon_imply_s _ _ zenon_H367); [ zenon_intro zenon_H369 | zenon_intro zenon_H368 ].
% 28.63/28.83  apply (zenon_notand_s _ _ zenon_H369); [ zenon_intro zenon_H36b | zenon_intro zenon_H36a ].
% 28.63/28.83  exact (zenon_H36b zenon_H362).
% 28.63/28.83  exact (zenon_H36a zenon_H364).
% 28.63/28.83  exact (zenon_H363 zenon_H368).
% 28.63/28.83  Qed.
% 28.63/28.83  % SZS output end Proof
% 28.63/28.83  (* END-PROOF *)
% 28.63/28.83  nodes searched: 2032825
% 28.63/28.83  max branch formulas: 6783
% 28.63/28.83  proof nodes created: 4423
% 28.63/28.83  formulas created: 761653
% 28.63/28.83  
%------------------------------------------------------------------------------