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

View Problem - Process Solution

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

% Computer : n027.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 99.62s 99.84s
% Output   : Proof 99.72s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SWV189+1 : TPTP v8.1.0. Bugfixed v3.3.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n027.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 600
% 0.12/0.33  % DateTime : Wed Jun 15 17:24:49 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 99.62/99.84  (* PROOF-FOUND *)
% 99.62/99.84  % SZS status Theorem
% 99.62/99.84  (* BEGIN-PROOF *)
% 99.62/99.84  % SZS output start Proof
% 99.62/99.84  Theorem cl5_nebula_init_0121 : ((forall A : zenon_U, (((leq (n0) A)/\(leq A (n4)))->((a_select3 (center_init) A (n0)) = (init))))->(forall B : zenon_U, (((leq (n0) B)/\(leq B (tptp_minus_1)))->(forall C : zenon_U, (((leq (n0) C)/\(leq C (n4)))->((a_select3 (q_init) B C) = (init))))))).
% 99.62/99.84  Proof.
% 99.62/99.84  assert (zenon_L1_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (~(leq (n0) zenon_TB_dj)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H55 zenon_H56.
% 99.62/99.84  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H58.
% 99.62/99.84  generalize (zenon_H58 zenon_TB_dj). zenon_intro zenon_H59.
% 99.62/99.84  apply (zenon_equiv_s _ _ zenon_H59); [ zenon_intro zenon_H56; zenon_intro zenon_H5b | zenon_intro zenon_H5a; zenon_intro zenon_H55 ].
% 99.62/99.84  exact (zenon_H5b zenon_H55).
% 99.62/99.84  exact (zenon_H56 zenon_H5a).
% 99.62/99.84  (* end of lemma zenon_L1_ *)
% 99.62/99.84  assert (zenon_L2_ : (~((n1) = (n1))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H5c.
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L2_ *)
% 99.62/99.84  assert (zenon_L3_ : (~(gt (n1) (succ (tptp_minus_1)))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H5d.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5d.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact gt_1_0.
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply zenon_H5f. apply sym_equal. exact succ_tptp_minus_1.
% 99.62/99.84  (* end of lemma zenon_L3_ *)
% 99.62/99.84  assert (zenon_L4_ : (~(gt (succ (n0)) (succ (tptp_minus_1)))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H60.
% 99.62/99.84  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H61 | zenon_intro zenon_H5d ].
% 99.62/99.84  cut ((gt (n1) (succ (tptp_minus_1))) = (gt (succ (n0)) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H60.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H61.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H63.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H64.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply (zenon_L3_); trivial.
% 99.62/99.84  (* end of lemma zenon_L4_ *)
% 99.62/99.84  assert (zenon_L5_ : forall (zenon_TB_dj : 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_TB_dj))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H68 zenon_H69 zenon_H55.
% 99.62/99.84  cut (((n0) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 99.62/99.84  congruence.
% 99.62/99.84  generalize (finite_domain_0 zenon_TB_dj). zenon_intro zenon_H6b.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H6d | zenon_intro zenon_H6c ].
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H56 | zenon_intro zenon_H6e ].
% 99.62/99.84  apply (zenon_L1_ zenon_TB_dj); trivial.
% 99.62/99.84  generalize (leq_succ_gt_equiv zenon_TB_dj). zenon_intro zenon_H6f.
% 99.62/99.84  generalize (zenon_H6f (n0)). zenon_intro zenon_H70.
% 99.62/99.84  apply (zenon_equiv_s _ _ zenon_H70); [ zenon_intro zenon_H6e; zenon_intro zenon_H73 | zenon_intro zenon_H72; zenon_intro zenon_H71 ].
% 99.62/99.84  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.62/99.84  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.62/99.84  apply (zenon_L4_); trivial.
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n0)) zenon_TB_dj)).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H73.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H69.
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.62/99.84  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.62/99.84  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H78.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H64.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H76 zenon_H7b).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H79. zenon_intro zenon_H7c.
% 99.62/99.84  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.84  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.62/99.84  generalize (zenon_H7e zenon_TB_dj). zenon_intro zenon_H7f.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H7f); [ zenon_intro zenon_H60 | zenon_intro zenon_H80 ].
% 99.62/99.84  exact (zenon_H60 zenon_H7c).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H81 | zenon_intro zenon_H71 ].
% 99.62/99.84  exact (zenon_H81 zenon_H69).
% 99.62/99.84  exact (zenon_H73 zenon_H71).
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  exact (zenon_H6e zenon_H72).
% 99.62/99.84  apply zenon_H6a. apply sym_equal. exact zenon_H6c.
% 99.62/99.84  (* end of lemma zenon_L5_ *)
% 99.62/99.84  assert (zenon_L6_ : (~((n0) = (n0))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H82.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L6_ *)
% 99.62/99.84  assert (zenon_L7_ : (~((n3) = (n3))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H83.
% 99.62/99.84  apply zenon_H83. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L7_ *)
% 99.62/99.84  assert (zenon_L8_ : (~((n2) = (n2))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H84.
% 99.62/99.84  apply zenon_H84. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L8_ *)
% 99.62/99.84  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).
% 99.62/99.84  do 0 intro. intros zenon_H67 zenon_H85.
% 99.62/99.84  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H61 | zenon_intro zenon_H5d ].
% 99.62/99.84  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.62/99.84  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.62/99.84  generalize (zenon_H87 (succ (tptp_minus_1))). zenon_intro zenon_H88.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H88); [ zenon_intro zenon_H8a | zenon_intro zenon_H89 ].
% 99.62/99.84  exact (zenon_H8a gt_2_1).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H89); [ zenon_intro zenon_H5d | zenon_intro zenon_H8b ].
% 99.62/99.84  exact (zenon_H5d zenon_H61).
% 99.62/99.84  exact (zenon_H85 zenon_H8b).
% 99.62/99.84  apply (zenon_L3_); trivial.
% 99.62/99.84  (* end of lemma zenon_L9_ *)
% 99.62/99.84  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 (succ (succ (n0))) (succ (tptp_minus_1)))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H67 zenon_H8c.
% 99.62/99.84  elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H8b | zenon_intro zenon_H85 ].
% 99.62/99.84  cut ((gt (n2) (succ (tptp_minus_1))) = (gt (succ (succ (n0))) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H8c.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H8b.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.84  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H8d.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H8e.
% 99.62/99.84  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.84  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H90 successor_2).
% 99.62/99.84  apply zenon_H8f. apply refl_equal.
% 99.62/99.84  apply zenon_H8f. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply (zenon_L9_); trivial.
% 99.62/99.84  (* end of lemma zenon_L10_ *)
% 99.62/99.84  assert (zenon_L11_ : (~((n4) = (n4))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H91.
% 99.62/99.84  apply zenon_H91. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L11_ *)
% 99.62/99.84  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 (n3) (succ (tptp_minus_1)))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_H67 zenon_H92.
% 99.62/99.84  elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H8b | zenon_intro zenon_H85 ].
% 99.62/99.84  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.62/99.84  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.62/99.84  generalize (zenon_H94 (succ (tptp_minus_1))). zenon_intro zenon_H95.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H95); [ zenon_intro zenon_H97 | zenon_intro zenon_H96 ].
% 99.62/99.84  exact (zenon_H97 gt_3_2).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H96); [ zenon_intro zenon_H85 | zenon_intro zenon_H98 ].
% 99.62/99.84  exact (zenon_H85 zenon_H8b).
% 99.62/99.84  exact (zenon_H92 zenon_H98).
% 99.62/99.84  apply (zenon_L9_); trivial.
% 99.62/99.84  (* end of lemma zenon_L12_ *)
% 99.62/99.84  assert (zenon_L13_ : (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).
% 99.62/99.84  do 0 intro. intros zenon_H67 zenon_H99.
% 99.62/99.84  elim (classic (gt (n3) (succ (tptp_minus_1)))); [ zenon_intro zenon_H98 | zenon_intro zenon_H92 ].
% 99.62/99.84  generalize (zenon_H67 (n4)). zenon_intro zenon_H9a.
% 99.62/99.84  generalize (zenon_H9a (n3)). zenon_intro zenon_H9b.
% 99.62/99.84  generalize (zenon_H9b (succ (tptp_minus_1))). zenon_intro zenon_H9c.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H9c); [ zenon_intro zenon_H9e | zenon_intro zenon_H9d ].
% 99.62/99.84  exact (zenon_H9e gt_4_3).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H9d); [ zenon_intro zenon_H92 | zenon_intro zenon_H9f ].
% 99.62/99.84  exact (zenon_H92 zenon_H98).
% 99.62/99.84  exact (zenon_H99 zenon_H9f).
% 99.62/99.84  apply (zenon_L12_); trivial.
% 99.62/99.84  (* end of lemma zenon_L13_ *)
% 99.62/99.84  assert (zenon_L14_ : (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).
% 99.62/99.84  do 0 intro. intros zenon_H67 zenon_Ha0.
% 99.62/99.84  elim (classic (gt (n4) (succ (tptp_minus_1)))); [ zenon_intro zenon_H9f | zenon_intro zenon_H99 ].
% 99.62/99.84  elim (classic (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Ha2 ].
% 99.62/99.84  cut ((gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1))) = (gt (succ (n3)) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Ha0.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha1.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (succ (succ (succ (n0))))) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha3].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ].
% 99.62/99.84  cut (((succ (n3)) = (succ (n3))) = ((succ (succ (succ (succ (n0))))) = (succ (n3)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Ha3.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha4.
% 99.62/99.84  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 99.62/99.84  cut (((succ (n3)) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 99.62/99.84  congruence.
% 99.62/99.84  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_Ha7. apply sym_equal. exact successor_3.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  cut ((gt (n4) (succ (tptp_minus_1))) = (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Ha2.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H9f.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((n4) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Haa ].
% 99.62/99.84  cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0)))))) = ((n4) = (succ (succ (succ (succ (n0))))))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Ha8.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha9.
% 99.62/99.84  cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_Haa].
% 99.62/99.84  cut (((succ (succ (succ (succ (n0))))) = (n4))); [idtac | apply NNPP; zenon_intro zenon_Hab].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hab successor_4).
% 99.62/99.84  apply zenon_Haa. apply refl_equal.
% 99.62/99.84  apply zenon_Haa. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply (zenon_L13_); trivial.
% 99.62/99.84  (* end of lemma zenon_L14_ *)
% 99.62/99.84  assert (zenon_L15_ : forall (zenon_TB_dj : 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_TB_dj) -> (~(leq zenon_TB_dj (n3))) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H69 zenon_Hac.
% 99.62/99.84  generalize (leq_succ_gt_equiv zenon_TB_dj). zenon_intro zenon_H6f.
% 99.62/99.84  generalize (zenon_H6f (n3)). zenon_intro zenon_Had.
% 99.62/99.84  apply (zenon_equiv_s _ _ zenon_Had); [ zenon_intro zenon_Hac; zenon_intro zenon_Hb0 | zenon_intro zenon_Haf; zenon_intro zenon_Hae ].
% 99.62/99.84  elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb2 ].
% 99.62/99.84  apply (zenon_and_s _ _ zenon_Hb1). zenon_intro zenon_Hb3. zenon_intro zenon_Ha0.
% 99.62/99.84  apply (zenon_L14_); trivial.
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n3)) zenon_TB_dj)).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hb0.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H69.
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb5 ].
% 99.62/99.84  apply zenon_Hb6. zenon_intro zenon_Hb7.
% 99.62/99.84  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ].
% 99.62/99.84  cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hb4.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha4.
% 99.62/99.84  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 99.62/99.84  cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hb3 zenon_Hb7).
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Hb5. zenon_intro zenon_Hb8.
% 99.62/99.84  generalize (zenon_H67 (succ (n3))). zenon_intro zenon_Hb9.
% 99.62/99.84  generalize (zenon_Hb9 (succ (tptp_minus_1))). zenon_intro zenon_Hba.
% 99.62/99.84  generalize (zenon_Hba zenon_TB_dj). zenon_intro zenon_Hbb.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Hbc ].
% 99.62/99.84  exact (zenon_Ha0 zenon_Hb8).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hbc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hae ].
% 99.62/99.84  exact (zenon_H81 zenon_H69).
% 99.62/99.84  exact (zenon_Hb0 zenon_Hae).
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  exact (zenon_Hac zenon_Haf).
% 99.62/99.84  (* end of lemma zenon_L15_ *)
% 99.62/99.84  assert (zenon_L16_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n0))) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H55 zenon_H69 zenon_Hbd zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.84  generalize (finite_domain_3 zenon_TB_dj). zenon_intro zenon_Hc1.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc2 ].
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hc3); [ zenon_intro zenon_H56 | zenon_intro zenon_Hac ].
% 99.62/99.84  apply (zenon_L1_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_L15_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H6c | zenon_intro zenon_Hc4 ].
% 99.62/99.84  exact (zenon_Hbd zenon_H6c).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc5 ].
% 99.62/99.84  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 99.62/99.84  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.84  exact (zenon_Hc0 zenon_Hc7).
% 99.62/99.84  (* end of lemma zenon_L16_ *)
% 99.62/99.84  assert (zenon_L17_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_Hc9 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.84  elim (classic (zenon_TB_dj = (n0))); [ zenon_intro zenon_H6c | zenon_intro zenon_Hbd ].
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hc9.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H69.
% 99.62/99.84  cut ((zenon_TB_dj = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  exact (zenon_Hbd zenon_H6c).
% 99.62/99.84  apply (zenon_L16_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L17_ *)
% 99.62/99.84  assert (zenon_L18_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.84  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_Hca zenon_H67.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) (n0)) = (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hca.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcb.
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply (zenon_L17_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5f.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcc.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L18_ *)
% 99.62/99.84  assert (zenon_L19_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (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).
% 99.62/99.84  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_Hce zenon_H67.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.84  elim (classic (gt (n0) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ].
% 99.62/99.84  cut ((gt (n0) (succ (tptp_minus_1))) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hce.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd0.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((n0) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj) = ((n0) = zenon_TB_dj)).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H6a.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd2.
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  cut ((zenon_TB_dj = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_L16_ zenon_TB_dj); trivial.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (n0) (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hd1.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcf.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.84  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hcd.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd3.
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5f.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcc.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L19_ *)
% 99.62/99.84  assert (zenon_L20_ : forall (zenon_TB_dj : 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_TB_dj (n0))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_Hd4 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.84  cut ((gt zenon_TB_dj (succ (tptp_minus_1))) = (gt zenon_TB_dj (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hd4.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd5.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply (zenon_L19_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L20_ *)
% 99.62/99.84  assert (zenon_L21_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.62/99.84  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.84  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.84  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.62/99.84  exact (zenon_H81 zenon_H69).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.62/99.84  exact (zenon_Hd9 zenon_Hd8).
% 99.62/99.84  exact (zenon_Hd6 zenon_Hde).
% 99.62/99.84  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.84  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.84  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hd9.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He1.
% 99.62/99.84  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  exact (zenon_He0 zenon_Hdf).
% 99.62/99.84  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He0.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He2.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_He4 zenon_Hd7).
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L21_ *)
% 99.62/99.84  assert (zenon_L22_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_He5 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.84  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))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He5.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He6.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He0.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He2.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_He4 zenon_Hd7).
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He7.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hde.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.84  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hcd.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd3.
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  apply (zenon_L21_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5f.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcc.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L22_ *)
% 99.62/99.84  assert (zenon_L23_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.84  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H67 zenon_He8 zenon_Hd7.
% 99.62/99.84  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.84  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.84  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He8.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He9.
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.84  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He4.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd3.
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_He0 zenon_Hdf).
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.62/99.84  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))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hea.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Heb.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  exact (zenon_He4 zenon_Hd7).
% 99.62/99.84  apply (zenon_L22_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_He0.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He2.
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.84  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_He4 zenon_Hd7).
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  apply zenon_He3. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L23_ *)
% 99.62/99.84  assert (zenon_L24_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H68 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  cut (((n0) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 99.62/99.84  congruence.
% 99.62/99.84  generalize (finite_domain_3 zenon_TB_dj). zenon_intro zenon_Hc1.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc2 ].
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hc3); [ zenon_intro zenon_H56 | zenon_intro zenon_Hac ].
% 99.62/99.84  apply (zenon_L1_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_L15_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H6c | zenon_intro zenon_Hc4 ].
% 99.62/99.84  apply zenon_H6a. apply sym_equal. exact zenon_H6c.
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc5 ].
% 99.62/99.84  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 99.62/99.84  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.84  exact (zenon_Hc0 zenon_Hc7).
% 99.62/99.84  (* end of lemma zenon_L24_ *)
% 99.62/99.84  assert (zenon_L25_ : (~((tptp_minus_1) = (tptp_minus_1))) -> False).
% 99.62/99.84  do 0 intro. intros zenon_Hec.
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L25_ *)
% 99.62/99.84  assert (zenon_L26_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n0))) -> (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_Hed zenon_Hee zenon_Hef zenon_Hf0.
% 99.62/99.84  generalize (finite_domain_3 zenon_TB_dj). zenon_intro zenon_Hc1.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc3 | zenon_intro zenon_Hc2 ].
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hc3); [ zenon_intro zenon_H56 | zenon_intro zenon_Hac ].
% 99.62/99.84  apply (zenon_L1_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_L15_ zenon_TB_dj); trivial.
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc2); [ zenon_intro zenon_H6c | zenon_intro zenon_Hc4 ].
% 99.62/99.84  generalize (finite_domain_3 (tptp_minus_1)). zenon_intro zenon_Hf1.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hf1); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf2 ].
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hf3); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hf4 ].
% 99.62/99.84  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H58.
% 99.62/99.84  generalize (zenon_H58 (tptp_minus_1)). zenon_intro zenon_Hf6.
% 99.62/99.84  apply (zenon_equiv_s _ _ zenon_Hf6); [ zenon_intro zenon_Hf5; zenon_intro zenon_Hc9 | zenon_intro zenon_Hf7; zenon_intro zenon_Hcb ].
% 99.62/99.84  apply (zenon_L17_ zenon_TB_dj); trivial.
% 99.62/99.84  exact (zenon_Hf5 zenon_Hf7).
% 99.62/99.84  generalize (leq_succ_gt_equiv (tptp_minus_1)). zenon_intro zenon_Hf8.
% 99.62/99.84  generalize (zenon_Hf8 (n3)). zenon_intro zenon_Hf9.
% 99.62/99.84  apply (zenon_equiv_s _ _ zenon_Hf9); [ zenon_intro zenon_Hf4; zenon_intro zenon_Hfc | zenon_intro zenon_Hfb; zenon_intro zenon_Hfa ].
% 99.62/99.84  elim (classic ((~((succ (n3)) = (n0)))/\(~(gt (succ (n3)) (n0))))); [ zenon_intro zenon_Hfd | zenon_intro zenon_Hfe ].
% 99.62/99.84  apply (zenon_and_s _ _ zenon_Hfd). zenon_intro zenon_H100. zenon_intro zenon_Hff.
% 99.62/99.84  elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hb2 ].
% 99.62/99.84  apply (zenon_and_s _ _ zenon_Hb1). zenon_intro zenon_Hb3. zenon_intro zenon_Ha0.
% 99.62/99.84  apply (zenon_L14_); trivial.
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n3)) (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hff.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H69.
% 99.62/99.84  cut ((zenon_TB_dj = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Hb4].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hb2); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb5 ].
% 99.62/99.84  apply zenon_Hb6. zenon_intro zenon_Hb7.
% 99.62/99.84  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ].
% 99.62/99.84  cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hb4.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha4.
% 99.62/99.84  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 99.62/99.84  cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_Hb3].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hb3 zenon_Hb7).
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Hb5. zenon_intro zenon_Hb8.
% 99.62/99.84  generalize (zenon_H67 (succ (n3))). zenon_intro zenon_Hb9.
% 99.62/99.84  generalize (zenon_Hb9 (succ (tptp_minus_1))). zenon_intro zenon_Hba.
% 99.62/99.84  generalize (zenon_Hba zenon_TB_dj). zenon_intro zenon_Hbb.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hbb); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Hbc ].
% 99.62/99.84  exact (zenon_Ha0 zenon_Hb8).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_Hbc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hae ].
% 99.62/99.84  exact (zenon_H81 zenon_H69).
% 99.62/99.84  cut ((gt (succ (n3)) zenon_TB_dj) = (gt (succ (n3)) (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hff.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hae.
% 99.62/99.84  cut ((zenon_TB_dj = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hbd].
% 99.62/99.84  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  exact (zenon_Hbd zenon_H6c).
% 99.62/99.84  exact (zenon_Hbd zenon_H6c).
% 99.62/99.84  cut ((gt (n0) (tptp_minus_1)) = (gt (succ (n3)) (tptp_minus_1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hfc.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact gt_0_tptp_minus_1.
% 99.62/99.84  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.84  cut (((n0) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H101].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_Hfe); [ zenon_intro zenon_H103 | zenon_intro zenon_H102 ].
% 99.62/99.84  apply zenon_H103. zenon_intro zenon_H104.
% 99.62/99.84  elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ].
% 99.62/99.84  cut (((succ (n3)) = (succ (n3))) = ((n0) = (succ (n3)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H101.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Ha4.
% 99.62/99.84  cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_Ha5].
% 99.62/99.84  cut (((succ (n3)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H100].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H100 zenon_H104).
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_Ha5. apply refl_equal.
% 99.62/99.84  apply zenon_H102. zenon_intro zenon_H105.
% 99.62/99.84  generalize (zenon_H67 (succ (n3))). zenon_intro zenon_Hb9.
% 99.62/99.84  generalize (zenon_Hb9 (n0)). zenon_intro zenon_H106.
% 99.62/99.84  generalize (zenon_H106 (tptp_minus_1)). zenon_intro zenon_H107.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hff | zenon_intro zenon_H108 ].
% 99.62/99.84  exact (zenon_Hff zenon_H105).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_H109 | zenon_intro zenon_Hfa ].
% 99.62/99.84  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.84  exact (zenon_Hfc zenon_Hfa).
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  exact (zenon_Hf4 zenon_Hfb).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hf2); [ zenon_intro zenon_H10b | zenon_intro zenon_H10a ].
% 99.62/99.84  exact (zenon_Hed zenon_H10b).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_H10a); [ zenon_intro zenon_H10d | zenon_intro zenon_H10c ].
% 99.62/99.84  exact (zenon_Hee zenon_H10d).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_H10c); [ zenon_intro zenon_H10f | zenon_intro zenon_H10e ].
% 99.62/99.84  exact (zenon_Hef zenon_H10f).
% 99.62/99.84  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc5 ].
% 99.62/99.84  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.84  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 99.62/99.84  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.84  exact (zenon_Hc0 zenon_Hc7).
% 99.62/99.84  (* end of lemma zenon_L26_ *)
% 99.62/99.84  assert (zenon_L27_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H78 zenon_Hf0 zenon_Hef zenon_Hee zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hed].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_L26_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L27_ *)
% 99.62/99.84  assert (zenon_L28_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (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).
% 99.62/99.84  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H110 zenon_Hee zenon_Hef zenon_Hf0 zenon_H67.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.84  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.84  cut ((gt zenon_TB_dj (succ (tptp_minus_1))) = (gt zenon_TB_dj (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H110.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd5.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  apply (zenon_L27_ zenon_TB_dj); trivial.
% 99.62/99.84  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hce.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_He1.
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H77. apply refl_equal.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5f.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcc.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L28_ *)
% 99.62/99.84  assert (zenon_L29_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H111 zenon_Hee zenon_Hef zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.84  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.84  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.84  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.62/99.84  exact (zenon_H81 zenon_H69).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.62/99.84  exact (zenon_H110 zenon_H112).
% 99.62/99.84  exact (zenon_H111 zenon_H115).
% 99.62/99.84  apply (zenon_L28_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L29_ *)
% 99.62/99.84  assert (zenon_L30_ : forall (zenon_TB_dj : zenon_U), (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.84  do 1 intro. intros zenon_Hee zenon_Hef zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H116 zenon_H67.
% 99.62/99.84  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.84  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.84  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.84  cut ((gt (n0) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H116.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H117.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((n0) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H119].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.84  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n0) = (tptp_minus_1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H119.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H11a.
% 99.62/99.84  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.84  cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hed].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_L26_ zenon_TB_dj); trivial.
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H118.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H115.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.84  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_Hcd.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hd3.
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H5f zenon_H5e).
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply (zenon_L29_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H5f.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_Hcc.
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.84  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  apply zenon_H62. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L30_ *)
% 99.62/99.84  assert (zenon_L31_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H118 zenon_Hf0 zenon_Hef zenon_Hee zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.84  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.84  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.84  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.84  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.84  exact (zenon_H116 zenon_H11b).
% 99.62/99.84  exact (zenon_H118 zenon_H117).
% 99.62/99.84  apply (zenon_L30_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L31_ *)
% 99.62/99.84  assert (zenon_L32_ : forall (zenon_TB_dj : zenon_U), (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.84  do 1 intro. intros zenon_Hf0 zenon_Hef zenon_Hee zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H67 zenon_H120.
% 99.62/99.84  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.84  elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 99.62/99.84  cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H120.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H122.
% 99.62/99.84  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.84  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H66.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H124.
% 99.62/99.84  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.84  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H63 zenon_H121).
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H125 | zenon_intro zenon_H126 ].
% 99.62/99.84  cut ((gt (succ (n0)) (succ (n0))) = (gt (succ (n0)) (n1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H123.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H125.
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  elim (classic ((~((succ (n0)) = (succ zenon_TB_dj)))/\(~(gt (succ (n0)) (succ zenon_TB_dj))))); [ zenon_intro zenon_H127 | zenon_intro zenon_H128 ].
% 99.62/99.84  apply (zenon_and_s _ _ zenon_H127). zenon_intro zenon_H68. zenon_intro zenon_H129.
% 99.62/99.84  apply (zenon_L24_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.84  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.62/99.84  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.62/99.84  generalize (zenon_H12b (succ (n0))). zenon_intro zenon_H12c.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H12c); [ zenon_intro zenon_H5b | zenon_intro zenon_H12d ].
% 99.62/99.84  exact (zenon_H5b zenon_H55).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H12d); [ zenon_intro zenon_H118 | zenon_intro zenon_H12e ].
% 99.62/99.84  exact (zenon_H118 zenon_H117).
% 99.62/99.84  cut ((gt (succ zenon_TB_dj) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H126.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H12e.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ zenon_TB_dj) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 99.62/99.84  congruence.
% 99.62/99.84  apply (zenon_notand_s _ _ zenon_H128); [ zenon_intro zenon_H131 | zenon_intro zenon_H130 ].
% 99.62/99.84  apply zenon_H131. zenon_intro zenon_H132.
% 99.62/99.84  apply zenon_H12f. apply sym_equal. exact zenon_H132.
% 99.62/99.84  apply zenon_H130. zenon_intro zenon_H133.
% 99.62/99.84  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.84  generalize (zenon_H7d (succ zenon_TB_dj)). zenon_intro zenon_H134.
% 99.62/99.84  generalize (zenon_H134 (succ (n0))). zenon_intro zenon_H135.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H135); [ zenon_intro zenon_H129 | zenon_intro zenon_H136 ].
% 99.62/99.84  exact (zenon_H129 zenon_H133).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_H137 | zenon_intro zenon_H125 ].
% 99.62/99.84  exact (zenon_H137 zenon_H12e).
% 99.62/99.84  exact (zenon_H126 zenon_H125).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply (zenon_L31_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H63.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H64.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L32_ *)
% 99.62/99.84  assert (zenon_L33_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H138 zenon_Hf0 zenon_Hef zenon_Hee zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.84  cut ((gt (tptp_minus_1) (succ (n0))) = (gt (tptp_minus_1) (n1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H138.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H11b.
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  apply (zenon_L30_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L33_ *)
% 99.62/99.84  assert (zenon_L34_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H139 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_Hef zenon_Hf0.
% 99.62/99.84  elim (classic ((tptp_minus_1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_Hee ].
% 99.62/99.84  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n1))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H139.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact gt_0_tptp_minus_1.
% 99.62/99.84  cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 99.62/99.84  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H82. apply refl_equal.
% 99.62/99.84  exact (zenon_Hee zenon_H10d).
% 99.62/99.84  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H13a | zenon_intro zenon_H138 ].
% 99.62/99.84  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.84  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.84  generalize (zenon_H11d (n1)). zenon_intro zenon_H13b.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H13b); [ zenon_intro zenon_H109 | zenon_intro zenon_H13c ].
% 99.62/99.84  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H13c); [ zenon_intro zenon_H138 | zenon_intro zenon_H13d ].
% 99.62/99.84  exact (zenon_H138 zenon_H13a).
% 99.62/99.84  exact (zenon_H139 zenon_H13d).
% 99.62/99.84  apply (zenon_L33_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L34_ *)
% 99.62/99.84  assert (zenon_L35_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H120 zenon_Hf0 zenon_Hef zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H13d | zenon_intro zenon_H139 ].
% 99.62/99.84  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.84  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.62/99.84  generalize (zenon_H13f (n1)). zenon_intro zenon_H140.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H140); [ zenon_intro zenon_H142 | zenon_intro zenon_H141 ].
% 99.62/99.84  exact (zenon_H142 gt_1_0).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H141); [ zenon_intro zenon_H139 | zenon_intro zenon_H143 ].
% 99.62/99.84  exact (zenon_H139 zenon_H13d).
% 99.62/99.84  exact (zenon_H120 zenon_H143).
% 99.62/99.84  apply (zenon_L34_ zenon_TB_dj); trivial.
% 99.62/99.84  (* end of lemma zenon_L35_ *)
% 99.62/99.84  assert (zenon_L36_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H126 zenon_Hf0 zenon_Hef zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.84  cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H126.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H144.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.84  congruence.
% 99.62/99.84  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H63.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H64.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.84  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.62/99.84  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H145.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H143.
% 99.62/99.84  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.84  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_H5c. apply refl_equal.
% 99.62/99.84  exact (zenon_H63 zenon_H121).
% 99.62/99.84  apply (zenon_L35_ zenon_TB_dj); trivial.
% 99.62/99.84  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.84  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H63.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H64.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.84  congruence.
% 99.62/99.84  exact (zenon_H66 successor_1).
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  apply zenon_H65. apply refl_equal.
% 99.62/99.84  (* end of lemma zenon_L36_ *)
% 99.62/99.84  assert (zenon_L37_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.84  do 1 intro. intros zenon_H67 zenon_H118 zenon_Hf0 zenon_Hef zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.84  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.84  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.84  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.84  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.84  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.84  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.84  exact (zenon_H116 zenon_H11b).
% 99.62/99.84  exact (zenon_H118 zenon_H117).
% 99.62/99.84  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.84  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H13a | zenon_intro zenon_H138 ].
% 99.62/99.84  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H116.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H13a.
% 99.62/99.84  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.84  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.84  congruence.
% 99.62/99.84  apply zenon_Hec. apply refl_equal.
% 99.62/99.84  exact (zenon_H63 zenon_H121).
% 99.62/99.84  elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H125 | zenon_intro zenon_H126 ].
% 99.62/99.84  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.84  cut ((gt (n1) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))).
% 99.62/99.84  intro zenon_D_pnotp.
% 99.62/99.84  apply zenon_H116.
% 99.62/99.84  rewrite <- zenon_D_pnotp.
% 99.62/99.84  exact zenon_H144.
% 99.62/99.84  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.84  cut (((n1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H146].
% 99.62/99.85  congruence.
% 99.62/99.85  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n1) = (tptp_minus_1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H146.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H11a.
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.85  cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hee].
% 99.62/99.85  congruence.
% 99.62/99.85  apply (zenon_L33_ zenon_TB_dj); trivial.
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  cut ((gt (succ (n0)) (succ (n0))) = (gt (n1) (succ (n0)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H145.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H125.
% 99.62/99.85  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.85  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.85  congruence.
% 99.62/99.85  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.85  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H66.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H124.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_H63 zenon_H121).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  apply (zenon_L36_ zenon_TB_dj); trivial.
% 99.62/99.85  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.85  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H63.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H64.
% 99.62/99.85  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.85  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_H66 successor_1).
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L37_ *)
% 99.62/99.85  assert (zenon_L38_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_Hef zenon_Hf0 zenon_H111 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.85  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.85  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.85  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.62/99.85  generalize (zenon_H147 (succ (n0))). zenon_intro zenon_H148.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H148); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H149 ].
% 99.62/99.85  exact (zenon_Hc9 zenon_Hcb).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H149); [ zenon_intro zenon_H118 | zenon_intro zenon_H115 ].
% 99.62/99.85  exact (zenon_H118 zenon_H117).
% 99.62/99.85  exact (zenon_H111 zenon_H115).
% 99.62/99.85  apply (zenon_L37_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_Hc9.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_Hcf.
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.85  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L38_ *)
% 99.62/99.85  assert (zenon_L39_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (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).
% 99.62/99.85  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H110 zenon_Hef zenon_Hf0 zenon_H67.
% 99.62/99.85  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.85  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.85  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.85  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.85  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.85  generalize (zenon_H14b (succ (n0))). zenon_intro zenon_H14c.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H14c); [ zenon_intro zenon_Hce | zenon_intro zenon_H14d ].
% 99.62/99.85  exact (zenon_Hce zenon_Hd5).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H111 | zenon_intro zenon_H112 ].
% 99.62/99.85  exact (zenon_H111 zenon_H115).
% 99.62/99.85  exact (zenon_H110 zenon_H112).
% 99.62/99.85  apply (zenon_L38_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_Hce.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_He1.
% 99.62/99.85  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.85  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H77. apply refl_equal.
% 99.62/99.85  exact (zenon_H5f zenon_H5e).
% 99.62/99.85  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.85  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H5f.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_Hcc.
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L39_ *)
% 99.62/99.85  assert (zenon_L40_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H14e zenon_Hef zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.85  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.85  cut ((gt zenon_TB_dj (succ (n0))) = (gt zenon_TB_dj (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H14e.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H112.
% 99.62/99.85  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.85  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H77. apply refl_equal.
% 99.62/99.85  exact (zenon_H66 successor_1).
% 99.62/99.85  apply (zenon_L39_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L40_ *)
% 99.62/99.85  assert (zenon_L41_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H14f zenon_H14e zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_Hf0.
% 99.62/99.85  elim (classic ((tptp_minus_1) = (n2))); [ zenon_intro zenon_H10f | zenon_intro zenon_Hef ].
% 99.62/99.85  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n2))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H14f.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_0_tptp_minus_1.
% 99.62/99.85  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 99.62/99.85  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H82. apply refl_equal.
% 99.62/99.85  exact (zenon_Hef zenon_H10f).
% 99.62/99.85  apply (zenon_L40_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L41_ *)
% 99.62/99.85  assert (zenon_L42_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H150 zenon_Hf0 zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.85  elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H151 | zenon_intro zenon_H14f ].
% 99.62/99.85  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.85  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.62/99.85  generalize (zenon_H13f (n2)). zenon_intro zenon_H152.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H152); [ zenon_intro zenon_H142 | zenon_intro zenon_H153 ].
% 99.62/99.85  exact (zenon_H142 gt_1_0).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H153); [ zenon_intro zenon_H14f | zenon_intro zenon_H154 ].
% 99.62/99.85  exact (zenon_H14f zenon_H151).
% 99.62/99.85  exact (zenon_H150 zenon_H154).
% 99.62/99.85  apply (zenon_L41_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L42_ *)
% 99.62/99.85  assert (zenon_L43_ : forall (zenon_TB_dj : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.85  do 1 intro. intros zenon_Hf0 zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H67 zenon_H120.
% 99.62/99.85  elim (classic ((~((n1) = (n2)))/\(~(gt (n1) (n2))))); [ zenon_intro zenon_H155 | zenon_intro zenon_H156 ].
% 99.62/99.85  apply (zenon_and_s _ _ zenon_H155). zenon_intro zenon_H157. zenon_intro zenon_H150.
% 99.62/99.85  apply (zenon_L42_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (n2) (n1)) = (gt (n1) (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H120.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_2_1.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n2) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H158].
% 99.62/99.85  congruence.
% 99.62/99.85  apply (zenon_notand_s _ _ zenon_H156); [ zenon_intro zenon_H15a | zenon_intro zenon_H159 ].
% 99.62/99.85  apply zenon_H15a. zenon_intro zenon_H15b.
% 99.62/99.85  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.85  cut (((n1) = (n1)) = ((n2) = (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H158.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H124.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H157].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_H157 zenon_H15b).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H159. zenon_intro zenon_H154.
% 99.62/99.85  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.85  generalize (zenon_H13e (n2)). zenon_intro zenon_H15c.
% 99.62/99.85  generalize (zenon_H15c (n1)). zenon_intro zenon_H15d.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H15d); [ zenon_intro zenon_H150 | zenon_intro zenon_H15e ].
% 99.62/99.85  exact (zenon_H150 zenon_H154).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H15e); [ zenon_intro zenon_H8a | zenon_intro zenon_H143 ].
% 99.62/99.85  exact (zenon_H8a gt_2_1).
% 99.62/99.85  exact (zenon_H120 zenon_H143).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L43_ *)
% 99.62/99.85  assert (zenon_L44_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.85  do 1 intro. intros zenon_Hee zenon_H67 zenon_H138 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.85  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H15f | zenon_intro zenon_H160 ].
% 99.62/99.85  apply (zenon_and_s _ _ zenon_H15f). zenon_intro zenon_Hef. zenon_intro zenon_H161.
% 99.62/99.85  apply (zenon_L33_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H138.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_2_1.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H162].
% 99.62/99.85  congruence.
% 99.62/99.85  apply (zenon_notand_s _ _ zenon_H160); [ zenon_intro zenon_H164 | zenon_intro zenon_H163 ].
% 99.62/99.85  apply zenon_H164. zenon_intro zenon_H10f.
% 99.62/99.85  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H162.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H11a.
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.85  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_Hef zenon_H10f).
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_H163. zenon_intro zenon_H165.
% 99.62/99.85  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.85  generalize (zenon_H166 (n2)). zenon_intro zenon_H167.
% 99.62/99.85  generalize (zenon_H167 (n1)). zenon_intro zenon_H168.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H168); [ zenon_intro zenon_H161 | zenon_intro zenon_H169 ].
% 99.62/99.85  exact (zenon_H161 zenon_H165).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H169); [ zenon_intro zenon_H8a | zenon_intro zenon_H13a ].
% 99.62/99.85  exact (zenon_H8a gt_2_1).
% 99.62/99.85  exact (zenon_H138 zenon_H13a).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L44_ *)
% 99.62/99.85  assert (zenon_L45_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (n1))) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H118 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H14e.
% 99.62/99.85  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.85  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.85  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.85  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.85  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.85  exact (zenon_H116 zenon_H11b).
% 99.62/99.85  exact (zenon_H118 zenon_H117).
% 99.62/99.85  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.85  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H13a | zenon_intro zenon_H138 ].
% 99.62/99.85  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H116.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H13a.
% 99.62/99.85  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  exact (zenon_H63 zenon_H121).
% 99.62/99.85  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H15f | zenon_intro zenon_H160 ].
% 99.62/99.85  apply (zenon_and_s _ _ zenon_H15f). zenon_intro zenon_Hef. zenon_intro zenon_H161.
% 99.62/99.85  apply (zenon_L40_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H138.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_2_1.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H162].
% 99.62/99.85  congruence.
% 99.62/99.85  apply (zenon_notand_s _ _ zenon_H160); [ zenon_intro zenon_H164 | zenon_intro zenon_H163 ].
% 99.62/99.85  apply zenon_H164. zenon_intro zenon_H10f.
% 99.62/99.85  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H162.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H11a.
% 99.62/99.85  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.85  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_Hef zenon_H10f).
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_Hec. apply refl_equal.
% 99.62/99.85  apply zenon_H163. zenon_intro zenon_H165.
% 99.62/99.85  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.85  generalize (zenon_H166 (n2)). zenon_intro zenon_H167.
% 99.62/99.85  generalize (zenon_H167 (n1)). zenon_intro zenon_H168.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H168); [ zenon_intro zenon_H161 | zenon_intro zenon_H169 ].
% 99.62/99.85  exact (zenon_H161 zenon_H165).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H169); [ zenon_intro zenon_H8a | zenon_intro zenon_H13a ].
% 99.62/99.85  exact (zenon_H8a gt_2_1).
% 99.62/99.85  exact (zenon_H138 zenon_H13a).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.85  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H63.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H64.
% 99.62/99.85  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.85  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_H66 successor_1).
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  apply zenon_H65. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L45_ *)
% 99.62/99.85  assert (zenon_L46_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H14e zenon_Hf0 zenon_H111 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.85  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.85  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.85  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.62/99.85  generalize (zenon_H147 (succ (n0))). zenon_intro zenon_H148.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H148); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H149 ].
% 99.62/99.85  exact (zenon_Hc9 zenon_Hcb).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H149); [ zenon_intro zenon_H118 | zenon_intro zenon_H115 ].
% 99.62/99.85  exact (zenon_H118 zenon_H117).
% 99.62/99.85  exact (zenon_H111 zenon_H115).
% 99.62/99.85  apply (zenon_L45_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_Hc9.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_Hcf.
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.85  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L46_ *)
% 99.62/99.85  assert (zenon_L47_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ (n0)))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.85  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H110 zenon_H14e zenon_Hf0 zenon_H67.
% 99.62/99.85  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.85  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.85  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.85  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.85  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.85  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.85  generalize (zenon_H14b (succ (n0))). zenon_intro zenon_H14c.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H14c); [ zenon_intro zenon_Hce | zenon_intro zenon_H14d ].
% 99.62/99.85  exact (zenon_Hce zenon_Hd5).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H111 | zenon_intro zenon_H112 ].
% 99.62/99.85  exact (zenon_H111 zenon_H115).
% 99.62/99.85  exact (zenon_H110 zenon_H112).
% 99.62/99.85  apply (zenon_L46_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_Hce.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_He1.
% 99.62/99.85  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.85  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H77. apply refl_equal.
% 99.62/99.85  exact (zenon_H5f zenon_H5e).
% 99.62/99.85  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.85  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H5f.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_Hcc.
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.85  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  apply zenon_H62. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L47_ *)
% 99.62/99.85  assert (zenon_L48_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H14e zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.85  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.85  cut ((gt zenon_TB_dj (succ (n0))) = (gt zenon_TB_dj (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H14e.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H112.
% 99.62/99.85  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.85  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H77. apply refl_equal.
% 99.62/99.85  exact (zenon_H66 successor_1).
% 99.62/99.85  apply (zenon_L47_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L48_ *)
% 99.62/99.85  assert (zenon_L49_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (n1))) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H16a zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e.
% 99.62/99.85  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_H10e | zenon_intro zenon_Hf0 ].
% 99.62/99.85  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H16a.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_0_tptp_minus_1.
% 99.62/99.85  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.62/99.85  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.85  congruence.
% 99.62/99.85  apply zenon_H82. apply refl_equal.
% 99.62/99.85  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.85  apply (zenon_L48_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L49_ *)
% 99.62/99.85  assert (zenon_L50_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.85  do 1 intro. intros zenon_H67 zenon_H16b zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.85  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.62/99.85  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.85  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.62/99.85  generalize (zenon_H13f (n3)). zenon_intro zenon_H16d.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H142 | zenon_intro zenon_H16e ].
% 99.62/99.85  exact (zenon_H142 gt_1_0).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H16a | zenon_intro zenon_H16f ].
% 99.62/99.85  exact (zenon_H16a zenon_H16c).
% 99.62/99.85  exact (zenon_H16b zenon_H16f).
% 99.62/99.85  apply (zenon_L49_ zenon_TB_dj); trivial.
% 99.62/99.85  (* end of lemma zenon_L50_ *)
% 99.62/99.85  assert (zenon_L51_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.85  do 1 intro. intros zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H67 zenon_H120.
% 99.62/99.85  elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H170 | zenon_intro zenon_H171 ].
% 99.62/99.85  apply (zenon_and_s _ _ zenon_H170). zenon_intro zenon_H172. zenon_intro zenon_H16b.
% 99.62/99.85  apply (zenon_L50_ zenon_TB_dj); trivial.
% 99.62/99.85  cut ((gt (n3) (n1)) = (gt (n1) (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H120.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact gt_3_1.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H173].
% 99.62/99.85  congruence.
% 99.62/99.85  apply (zenon_notand_s _ _ zenon_H171); [ zenon_intro zenon_H175 | zenon_intro zenon_H174 ].
% 99.62/99.85  apply zenon_H175. zenon_intro zenon_H176.
% 99.62/99.85  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.85  cut (((n1) = (n1)) = ((n3) = (n1))).
% 99.62/99.85  intro zenon_D_pnotp.
% 99.62/99.85  apply zenon_H173.
% 99.62/99.85  rewrite <- zenon_D_pnotp.
% 99.62/99.85  exact zenon_H124.
% 99.62/99.85  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.85  cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 99.62/99.85  congruence.
% 99.62/99.85  exact (zenon_H172 zenon_H176).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  apply zenon_H174. zenon_intro zenon_H16f.
% 99.62/99.85  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.85  generalize (zenon_H13e (n3)). zenon_intro zenon_H177.
% 99.62/99.85  generalize (zenon_H177 (n1)). zenon_intro zenon_H178.
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H178); [ zenon_intro zenon_H16b | zenon_intro zenon_H179 ].
% 99.62/99.85  exact (zenon_H16b zenon_H16f).
% 99.62/99.85  apply (zenon_imply_s _ _ zenon_H179); [ zenon_intro zenon_H17a | zenon_intro zenon_H143 ].
% 99.62/99.85  exact (zenon_H17a gt_3_1).
% 99.62/99.85  exact (zenon_H120 zenon_H143).
% 99.62/99.85  apply zenon_H5c. apply refl_equal.
% 99.62/99.85  (* end of lemma zenon_L51_ *)
% 99.62/99.85  assert (zenon_L52_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.85  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67 zenon_H120.
% 99.62/99.86  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.86  elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H122 | zenon_intro zenon_H123 ].
% 99.62/99.86  cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H120.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H122.
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.86  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H66.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H124.
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H63 zenon_H121).
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.62/99.86  apply (zenon_L4_); trivial.
% 99.62/99.86  elim (classic (zenon_TB_dj = (n1))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hbe ].
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n0)) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H123.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H69.
% 99.62/99.86  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.62/99.86  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H78.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H76 zenon_H7b).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H79. zenon_intro zenon_H7c.
% 99.62/99.86  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.86  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.62/99.86  generalize (zenon_H7e zenon_TB_dj). zenon_intro zenon_H7f.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H7f); [ zenon_intro zenon_H60 | zenon_intro zenon_H80 ].
% 99.62/99.86  exact (zenon_H60 zenon_H7c).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H81 | zenon_intro zenon_H71 ].
% 99.62/99.86  exact (zenon_H81 zenon_H69).
% 99.62/99.86  cut ((gt (succ (n0)) zenon_TB_dj) = (gt (succ (n0)) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H123.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H71.
% 99.62/99.86  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.86  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.86  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.62/99.86  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.86  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.86  generalize (zenon_Hdb (n1)). zenon_intro zenon_H17c.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H17c); [ zenon_intro zenon_H81 | zenon_intro zenon_H17d ].
% 99.62/99.86  exact (zenon_H81 zenon_H69).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H17d); [ zenon_intro zenon_H14e | zenon_intro zenon_H17e ].
% 99.62/99.86  exact (zenon_H14e zenon_H17b).
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (n0)) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H123.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H17e.
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.62/99.86  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.62/99.86  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.62/99.86  apply zenon_H79. zenon_intro zenon_H7c.
% 99.62/99.86  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.86  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.62/99.86  generalize (zenon_H7e (n1)). zenon_intro zenon_H17f.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H17f); [ zenon_intro zenon_H60 | zenon_intro zenon_H180 ].
% 99.62/99.86  exact (zenon_H60 zenon_H7c).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H180); [ zenon_intro zenon_H181 | zenon_intro zenon_H122 ].
% 99.62/99.86  exact (zenon_H181 zenon_H17e).
% 99.62/99.86  exact (zenon_H123 zenon_H122).
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  apply (zenon_L51_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H63.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L52_ *)
% 99.62/99.86  assert (zenon_L53_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.86  do 1 intro. intros zenon_Hee zenon_H67 zenon_H138 zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.86  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H182 | zenon_intro zenon_H183 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_Hf0. zenon_intro zenon_H184.
% 99.62/99.86  apply (zenon_L44_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H138.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_3_1.
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H183); [ zenon_intro zenon_H187 | zenon_intro zenon_H186 ].
% 99.62/99.86  apply zenon_H187. zenon_intro zenon_H10e.
% 99.62/99.86  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H185.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H11a.
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.86  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_H186. zenon_intro zenon_H188.
% 99.62/99.86  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.86  generalize (zenon_H166 (n3)). zenon_intro zenon_H189.
% 99.62/99.86  generalize (zenon_H189 (n1)). zenon_intro zenon_H18a.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18a); [ zenon_intro zenon_H184 | zenon_intro zenon_H18b ].
% 99.62/99.86  exact (zenon_H184 zenon_H188).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18b); [ zenon_intro zenon_H17a | zenon_intro zenon_H13a ].
% 99.62/99.86  exact (zenon_H17a gt_3_1).
% 99.62/99.86  exact (zenon_H138 zenon_H13a).
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L53_ *)
% 99.62/99.86  assert (zenon_L54_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e zenon_H116 zenon_H67.
% 99.62/99.86  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.86  elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H13a | zenon_intro zenon_H138 ].
% 99.62/99.86  cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H116.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H13a.
% 99.62/99.86  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  exact (zenon_H63 zenon_H121).
% 99.62/99.86  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H182 | zenon_intro zenon_H183 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_Hf0. zenon_intro zenon_H184.
% 99.62/99.86  apply (zenon_L48_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H138.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_3_1.
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H183); [ zenon_intro zenon_H187 | zenon_intro zenon_H186 ].
% 99.62/99.86  apply zenon_H187. zenon_intro zenon_H10e.
% 99.62/99.86  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H185.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H11a.
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.86  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_H186. zenon_intro zenon_H188.
% 99.62/99.86  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.86  generalize (zenon_H166 (n3)). zenon_intro zenon_H189.
% 99.62/99.86  generalize (zenon_H189 (n1)). zenon_intro zenon_H18a.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18a); [ zenon_intro zenon_H184 | zenon_intro zenon_H18b ].
% 99.62/99.86  exact (zenon_H184 zenon_H188).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18b); [ zenon_intro zenon_H17a | zenon_intro zenon_H13a ].
% 99.62/99.86  exact (zenon_H17a gt_3_1).
% 99.62/99.86  exact (zenon_H138 zenon_H13a).
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H63.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L54_ *)
% 99.62/99.86  assert (zenon_L55_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_H126 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0.
% 99.62/99.86  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.86  cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H126.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H144.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H63.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.86  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.62/99.86  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H145.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H143.
% 99.62/99.86  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  exact (zenon_H63 zenon_H121).
% 99.62/99.86  apply (zenon_L52_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H63.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L55_ *)
% 99.62/99.86  assert (zenon_L56_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H116 zenon_H111 zenon_H67.
% 99.62/99.86  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.86  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H111.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H17e.
% 99.62/99.86  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  exact (zenon_H63 zenon_H121).
% 99.62/99.86  elim (classic (zenon_TB_dj = (n1))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hbe ].
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H181.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H69.
% 99.62/99.86  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.86  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.62/99.86  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.86  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.86  generalize (zenon_Hdb (n1)). zenon_intro zenon_H17c.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H17c); [ zenon_intro zenon_H81 | zenon_intro zenon_H17d ].
% 99.62/99.86  exact (zenon_H81 zenon_H69).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H17d); [ zenon_intro zenon_H14e | zenon_intro zenon_H17e ].
% 99.62/99.86  exact (zenon_H14e zenon_H17b).
% 99.62/99.86  exact (zenon_H181 zenon_H17e).
% 99.62/99.86  apply (zenon_L54_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.86  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H63.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H64.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L56_ *)
% 99.62/99.86  assert (zenon_L57_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt (tptp_minus_1) (succ (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).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H116 zenon_H118 zenon_H67.
% 99.62/99.86  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.86  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H118.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H115.
% 99.62/99.86  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.86  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hcd.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hd3.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H5f zenon_H5e).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_H65. apply refl_equal.
% 99.62/99.86  apply (zenon_L56_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H5f.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hcc.
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L57_ *)
% 99.62/99.86  assert (zenon_L58_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_H118 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0.
% 99.62/99.86  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.86  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.86  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.86  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.86  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.86  exact (zenon_H116 zenon_H11b).
% 99.62/99.86  exact (zenon_H118 zenon_H117).
% 99.62/99.86  apply (zenon_L57_ zenon_TB_dj); trivial.
% 99.62/99.86  (* end of lemma zenon_L58_ *)
% 99.62/99.86  assert (zenon_L59_ : forall (zenon_TB_dj : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_Hf0 zenon_H14e zenon_H67 zenon_H18c zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.86  elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H15f | zenon_intro zenon_H160 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H15f). zenon_intro zenon_Hef. zenon_intro zenon_H161.
% 99.62/99.86  apply (zenon_L40_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n2) (n0)) = (gt (tptp_minus_1) (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H18c.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_2_0.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H162].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H160); [ zenon_intro zenon_H164 | zenon_intro zenon_H163 ].
% 99.62/99.86  apply zenon_H164. zenon_intro zenon_H10f.
% 99.62/99.86  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H162.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H11a.
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.86  cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hef].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hef zenon_H10f).
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_H163. zenon_intro zenon_H165.
% 99.62/99.86  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.86  generalize (zenon_H166 (n2)). zenon_intro zenon_H167.
% 99.62/99.86  generalize (zenon_H167 (n0)). zenon_intro zenon_H18d.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18d); [ zenon_intro zenon_H161 | zenon_intro zenon_H18e ].
% 99.62/99.86  exact (zenon_H161 zenon_H165).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H18e); [ zenon_intro zenon_H190 | zenon_intro zenon_H18f ].
% 99.62/99.86  exact (zenon_H190 gt_2_0).
% 99.62/99.86  exact (zenon_H18c zenon_H18f).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L59_ *)
% 99.62/99.86  assert (zenon_L60_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H14e zenon_H67 zenon_H18c zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.86  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H182 | zenon_intro zenon_H183 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_Hf0. zenon_intro zenon_H184.
% 99.62/99.86  apply (zenon_L59_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H18c.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_3_0.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H183); [ zenon_intro zenon_H187 | zenon_intro zenon_H186 ].
% 99.62/99.86  apply zenon_H187. zenon_intro zenon_H10e.
% 99.62/99.86  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H185.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H11a.
% 99.62/99.86  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.62/99.86  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_Hec. apply refl_equal.
% 99.62/99.86  apply zenon_H186. zenon_intro zenon_H188.
% 99.62/99.86  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.62/99.86  generalize (zenon_H166 (n3)). zenon_intro zenon_H189.
% 99.62/99.86  generalize (zenon_H189 (n0)). zenon_intro zenon_H191.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H191); [ zenon_intro zenon_H184 | zenon_intro zenon_H192 ].
% 99.62/99.86  exact (zenon_H184 zenon_H188).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H192); [ zenon_intro zenon_H193 | zenon_intro zenon_H18f ].
% 99.62/99.86  exact (zenon_H193 gt_3_0).
% 99.62/99.86  exact (zenon_H18c zenon_H18f).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L60_ *)
% 99.62/99.86  assert (zenon_L61_ : forall (zenon_TB_dj : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TB_dj (n0))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H18c zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67 zenon_Hd4.
% 99.62/99.86  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.62/99.86  apply (zenon_L60_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hd4.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_1_0.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.62/99.86  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.62/99.86  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.86  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H196.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hd2.
% 99.62/99.86  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.86  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.86  apply zenon_H77. apply refl_equal.
% 99.62/99.86  apply zenon_H77. apply refl_equal.
% 99.62/99.86  apply zenon_H197. zenon_intro zenon_H17b.
% 99.62/99.86  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.86  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.62/99.86  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.62/99.86  exact (zenon_H14e zenon_H17b).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.62/99.86  exact (zenon_H142 gt_1_0).
% 99.62/99.86  exact (zenon_Hd4 zenon_He1).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L61_ *)
% 99.62/99.86  assert (zenon_L62_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H18c.
% 99.62/99.86  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.62/99.86  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.86  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.86  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.62/99.86  exact (zenon_H81 zenon_H69).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.62/99.86  exact (zenon_Hd9 zenon_Hd8).
% 99.62/99.86  exact (zenon_Hd6 zenon_Hde).
% 99.62/99.86  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.86  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.86  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hd9.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He1.
% 99.62/99.86  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.86  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H77. apply refl_equal.
% 99.62/99.86  exact (zenon_He0 zenon_Hdf).
% 99.62/99.86  apply (zenon_L61_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He0.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He2.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_He4 zenon_Hd7).
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L62_ *)
% 99.62/99.86  assert (zenon_L63_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H18c zenon_He7 zenon_H67.
% 99.62/99.86  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.86  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.62/99.86  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He7.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hde.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.86  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hcd.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hd3.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H5f zenon_H5e).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply (zenon_L62_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H5f.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hcc.
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.86  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  apply zenon_H62. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L63_ *)
% 99.62/99.86  assert (zenon_L64_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_He5 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H18c.
% 99.62/99.86  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.86  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))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He5.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He6.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He0.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He2.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_He4 zenon_Hd7).
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply (zenon_L63_ zenon_TB_dj); trivial.
% 99.62/99.86  (* end of lemma zenon_L64_ *)
% 99.62/99.86  assert (zenon_L65_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_H19c zenon_H18c zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.86  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H19d | zenon_intro zenon_H19e ].
% 99.62/99.86  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H19c.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H19d.
% 99.62/99.86  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  exact (zenon_H66 successor_1).
% 99.62/99.86  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.62/99.86  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.86  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.86  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.86  generalize (zenon_H19f (n0)). zenon_intro zenon_H1a0.
% 99.62/99.86  generalize (zenon_H1a0 (succ (n0))). zenon_intro zenon_H1a1.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_Hea | zenon_intro zenon_H1a2 ].
% 99.62/99.86  exact (zenon_Hea zenon_He9).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H118 | zenon_intro zenon_H19d ].
% 99.62/99.86  exact (zenon_H118 zenon_H117).
% 99.62/99.86  exact (zenon_H19e zenon_H19d).
% 99.62/99.86  apply (zenon_L58_ zenon_TB_dj); trivial.
% 99.62/99.86  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))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hea.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Heb.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  exact (zenon_He4 zenon_Hd7).
% 99.62/99.86  apply (zenon_L64_ zenon_TB_dj); trivial.
% 99.62/99.86  (* end of lemma zenon_L65_ *)
% 99.62/99.86  assert (zenon_L66_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H18c zenon_H67 zenon_Hea.
% 99.62/99.86  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 99.62/99.86  apply (zenon_and_s _ _ zenon_H1a3). zenon_intro zenon_H1a5. zenon_intro zenon_H19c.
% 99.62/99.86  apply (zenon_L65_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_Hea.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact gt_1_0.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 99.62/99.86  congruence.
% 99.62/99.86  apply (zenon_notand_s _ _ zenon_H1a4); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a7 ].
% 99.62/99.86  apply zenon_H1a8. zenon_intro zenon_H1a9.
% 99.62/99.86  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H1a6.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He2.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_H1a5 zenon_H1a9).
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_H1a7. zenon_intro zenon_H1aa.
% 99.62/99.86  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.86  generalize (zenon_H19f (n1)). zenon_intro zenon_H1ab.
% 99.62/99.86  generalize (zenon_H1ab (n0)). zenon_intro zenon_H1ac.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1ac); [ zenon_intro zenon_H19c | zenon_intro zenon_H1ad ].
% 99.62/99.86  exact (zenon_H19c zenon_H1aa).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1ad); [ zenon_intro zenon_H142 | zenon_intro zenon_He9 ].
% 99.62/99.86  exact (zenon_H142 gt_1_0).
% 99.62/99.86  exact (zenon_Hea zenon_He9).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L66_ *)
% 99.62/99.86  assert (zenon_L67_ : forall (zenon_TB_dj : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.86  do 1 intro. intros zenon_H18c zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67 zenon_He8 zenon_Hd7.
% 99.62/99.86  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.86  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.86  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He8.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He9.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.86  congruence.
% 99.62/99.86  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.86  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He4.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_Hd3.
% 99.62/99.86  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.86  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_He0 zenon_Hdf).
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply zenon_H82. apply refl_equal.
% 99.62/99.86  apply (zenon_L66_ zenon_TB_dj); trivial.
% 99.62/99.86  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_He0.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_He2.
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.86  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.86  congruence.
% 99.62/99.86  exact (zenon_He4 zenon_Hd7).
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  apply zenon_He3. apply refl_equal.
% 99.62/99.86  (* end of lemma zenon_L67_ *)
% 99.62/99.86  assert (zenon_L68_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H67 zenon_He8 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.86  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18f | zenon_intro zenon_H18c ].
% 99.62/99.86  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.86  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.86  generalize (zenon_H11d (n0)). zenon_intro zenon_H1ae.
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1ae); [ zenon_intro zenon_H109 | zenon_intro zenon_H1af ].
% 99.62/99.86  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.86  apply (zenon_imply_s _ _ zenon_H1af); [ zenon_intro zenon_H18c | zenon_intro zenon_H1b0 ].
% 99.62/99.86  exact (zenon_H18c zenon_H18f).
% 99.62/99.86  exact (zenon_He8 zenon_H1b0).
% 99.62/99.86  apply (zenon_L67_ zenon_TB_dj); trivial.
% 99.62/99.86  (* end of lemma zenon_L68_ *)
% 99.62/99.86  assert (zenon_L69_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n1) (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.86  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H1b1 zenon_H67.
% 99.62/99.86  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.86  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.62/99.86  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.86  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TB_dj))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H1b1.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H144.
% 99.62/99.86  cut (((succ (n0)) = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 99.62/99.86  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.86  congruence.
% 99.62/99.86  apply zenon_H5c. apply refl_equal.
% 99.62/99.86  apply (zenon_L5_ zenon_TB_dj); trivial.
% 99.62/99.86  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.62/99.86  intro zenon_D_pnotp.
% 99.62/99.86  apply zenon_H145.
% 99.62/99.86  rewrite <- zenon_D_pnotp.
% 99.62/99.86  exact zenon_H143.
% 99.62/99.87  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.87  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H5c. apply refl_equal.
% 99.62/99.87  exact (zenon_H63 zenon_H121).
% 99.62/99.87  apply (zenon_L52_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.87  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H63.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H64.
% 99.62/99.87  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.87  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H66 successor_1).
% 99.62/99.87  apply zenon_H65. apply refl_equal.
% 99.62/99.87  apply zenon_H65. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L69_ *)
% 99.62/99.87  assert (zenon_L70_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H118 zenon_H111 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.87  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.87  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.87  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.87  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.87  exact (zenon_H116 zenon_H11b).
% 99.62/99.87  exact (zenon_H118 zenon_H117).
% 99.62/99.87  apply (zenon_L56_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L70_ *)
% 99.62/99.87  assert (zenon_L71_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H111.
% 99.62/99.87  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.87  cut ((gt (n0) (succ (n0))) = (gt (succ (tptp_minus_1)) (succ (n0)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H111.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H117.
% 99.62/99.87  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H65. apply refl_equal.
% 99.62/99.87  apply (zenon_L70_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L71_ *)
% 99.62/99.87  assert (zenon_L72_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1b2 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.62/99.87  elim (classic (gt (n1) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b1 ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.62/99.87  generalize (zenon_H1b4 (succ zenon_TB_dj)). zenon_intro zenon_H1b5.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1b5); [ zenon_intro zenon_H181 | zenon_intro zenon_H1b6 ].
% 99.62/99.87  exact (zenon_H181 zenon_H17e).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1b6); [ zenon_intro zenon_H1b1 | zenon_intro zenon_H1b7 ].
% 99.62/99.87  exact (zenon_H1b1 zenon_H1b3).
% 99.62/99.87  exact (zenon_H1b2 zenon_H1b7).
% 99.62/99.87  apply (zenon_L69_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H181.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H115.
% 99.62/99.87  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_H66 successor_1).
% 99.62/99.87  apply (zenon_L71_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L72_ *)
% 99.62/99.87  assert (zenon_L73_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_Hf0 zenon_H14e zenon_H1b8 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.87  elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H151 | zenon_intro zenon_H14f ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.62/99.87  generalize (zenon_H147 (n2)). zenon_intro zenon_H1b9.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1b9); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H1ba ].
% 99.62/99.87  exact (zenon_Hc9 zenon_Hcb).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H14f | zenon_intro zenon_H1bb ].
% 99.62/99.87  exact (zenon_H14f zenon_H151).
% 99.62/99.87  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.87  apply (zenon_L41_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hc9.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcf.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L73_ *)
% 99.62/99.87  assert (zenon_L74_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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_TB_dj (n0))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H1b8 zenon_H67 zenon_Hd4.
% 99.62/99.87  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.62/99.87  apply (zenon_L73_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hd4.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_1_0.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.62/99.87  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.62/99.87  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H196.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hd2.
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H197. zenon_intro zenon_H17b.
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.62/99.87  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.62/99.87  exact (zenon_H14e zenon_H17b).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.62/99.87  exact (zenon_H142 gt_1_0).
% 99.62/99.87  exact (zenon_Hd4 zenon_He1).
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L74_ *)
% 99.62/99.87  assert (zenon_L75_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_H1b8 zenon_Hd7 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.87  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.62/99.87  exact (zenon_H81 zenon_H69).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.62/99.87  exact (zenon_Hd9 zenon_Hd8).
% 99.62/99.87  exact (zenon_Hd6 zenon_Hde).
% 99.62/99.87  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.87  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hd9.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He1.
% 99.62/99.87  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  exact (zenon_He0 zenon_Hdf).
% 99.62/99.87  apply (zenon_L74_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He2.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_He4 zenon_Hd7).
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L75_ *)
% 99.62/99.87  assert (zenon_L76_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_He5 zenon_H1b8 zenon_Hd7 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.87  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))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He5.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He6.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He2.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_He4 zenon_Hd7).
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He7.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hde.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.87  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hcd.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hd3.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply (zenon_L75_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L76_ *)
% 99.62/99.87  assert (zenon_L77_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (n2))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_Hea zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_Hd7 zenon_H1b8.
% 99.62/99.87  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.62/99.87  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))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hea.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Heb.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  exact (zenon_He4 zenon_Hd7).
% 99.62/99.87  apply (zenon_L76_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L77_ *)
% 99.62/99.87  assert (zenon_L78_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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 (n0) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H1b8 zenon_H67 zenon_He8 zenon_Hd7.
% 99.62/99.87  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.87  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.87  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He8.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He9.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.87  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He4.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hd3.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_He0 zenon_Hdf).
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  apply (zenon_L77_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He2.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_He4 zenon_Hd7).
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L78_ *)
% 99.62/99.87  assert (zenon_L79_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (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).
% 99.62/99.87  do 1 intro. intros zenon_H1b8 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H1bc zenon_H67 zenon_Hd7.
% 99.62/99.87  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.87  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.62/99.87  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.87  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TB_dj))); [ zenon_intro zenon_H1bd | zenon_intro zenon_H1be ].
% 99.62/99.87  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.87  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.62/99.87  generalize (zenon_H1bf (succ zenon_TB_dj)). zenon_intro zenon_H1c0.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1c0); [ zenon_intro zenon_He7 | zenon_intro zenon_H1c1 ].
% 99.62/99.87  exact (zenon_He7 zenon_He6).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1be | zenon_intro zenon_H1c2 ].
% 99.62/99.87  exact (zenon_H1be zenon_H1bd).
% 99.62/99.87  exact (zenon_H1bc zenon_H1c2).
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.87  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b2 ].
% 99.62/99.87  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.87  generalize (zenon_H19f (succ (tptp_minus_1))). zenon_intro zenon_H1c5.
% 99.62/99.87  generalize (zenon_H1c5 (succ zenon_TB_dj)). zenon_intro zenon_H1c6.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1c6); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H1c7 ].
% 99.62/99.87  exact (zenon_H1c4 zenon_H1c3).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1c7); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H1bd ].
% 99.62/99.87  exact (zenon_H1b2 zenon_H1b7).
% 99.62/99.87  exact (zenon_H1be zenon_H1bd).
% 99.62/99.87  apply (zenon_L72_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1c4.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He9.
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  apply (zenon_L77_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He7.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1b0.
% 99.62/99.87  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  exact (zenon_He0 zenon_Hdf).
% 99.62/99.87  apply (zenon_L78_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_He0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He2.
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.87  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_He4 zenon_Hd7).
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  apply zenon_He3. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L79_ *)
% 99.62/99.87  assert (zenon_L80_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_Hd7 zenon_H1bc zenon_H1c8 zenon_H67.
% 99.62/99.87  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1c8.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1bb.
% 99.62/99.87  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_H8d zenon_H1c9).
% 99.62/99.87  apply (zenon_L79_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H8d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H8e.
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H90 successor_2).
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L80_ *)
% 99.62/99.87  assert (zenon_L81_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H1ca zenon_H1bc zenon_Hd7 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67.
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H61 | zenon_intro zenon_H5d ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.87  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.87  generalize (zenon_H13e (succ (tptp_minus_1))). zenon_intro zenon_H1cc.
% 99.62/99.87  generalize (zenon_H1cc (succ (succ (n0)))). zenon_intro zenon_H1cd.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1cd); [ zenon_intro zenon_H5d | zenon_intro zenon_H1ce ].
% 99.62/99.87  exact (zenon_H5d zenon_H61).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1ce); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1cf ].
% 99.62/99.87  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.87  exact (zenon_H1ca zenon_H1cf).
% 99.62/99.87  apply (zenon_L80_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_1_0.
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H5c. apply refl_equal.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L81_ *)
% 99.62/99.87  assert (zenon_L82_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H110 zenon_H67.
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.87  generalize (zenon_H14b (succ (n0))). zenon_intro zenon_H14c.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H14c); [ zenon_intro zenon_Hce | zenon_intro zenon_H14d ].
% 99.62/99.87  exact (zenon_Hce zenon_Hd5).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H111 | zenon_intro zenon_H112 ].
% 99.62/99.87  exact (zenon_H111 zenon_H115).
% 99.62/99.87  exact (zenon_H110 zenon_H112).
% 99.62/99.87  apply (zenon_L71_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hce.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He1.
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.62/99.87  apply (zenon_L47_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hd4.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_1_0.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.62/99.87  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.62/99.87  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H196.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hd2.
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H197. zenon_intro zenon_H17b.
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.62/99.87  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.62/99.87  exact (zenon_H14e zenon_H17b).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.62/99.87  exact (zenon_H142 gt_1_0).
% 99.62/99.87  exact (zenon_Hd4 zenon_He1).
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L82_ *)
% 99.62/99.87  assert (zenon_L83_ : forall (zenon_TB_dj : 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_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1d0 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H1d1). zenon_intro zenon_H1d3. zenon_intro zenon_H8c.
% 99.62/99.87  apply (zenon_L10_); trivial.
% 99.62/99.87  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.87  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.62/99.87  exact (zenon_H81 zenon_H69).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.62/99.87  exact (zenon_H110 zenon_H112).
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1d0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H115.
% 99.62/99.87  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.62/99.87  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.62/99.87  apply zenon_H1d4. apply sym_equal. exact zenon_H1d7.
% 99.62/99.87  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.62/99.87  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.87  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.62/99.87  generalize (zenon_H1da (succ (n0))). zenon_intro zenon_H1db.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1db); [ zenon_intro zenon_H8c | zenon_intro zenon_H1dc ].
% 99.62/99.87  exact (zenon_H8c zenon_H1d8).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1dc); [ zenon_intro zenon_H111 | zenon_intro zenon_H1dd ].
% 99.62/99.87  exact (zenon_H111 zenon_H115).
% 99.62/99.87  exact (zenon_H1d0 zenon_H1dd).
% 99.62/99.87  apply zenon_H65. apply refl_equal.
% 99.62/99.87  apply (zenon_L82_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L83_ *)
% 99.62/99.87  assert (zenon_L84_ : forall (zenon_TB_dj : 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 (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1de zenon_H1bc zenon_Hd7 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.62/99.87  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.62/99.87  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ].
% 99.62/99.87  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.87  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.62/99.87  generalize (zenon_H1e1 (succ (succ (n0)))). zenon_intro zenon_H1e2.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1e2); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e3 ].
% 99.62/99.87  exact (zenon_H1e0 zenon_H1df).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1e3); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1e4 ].
% 99.62/99.87  exact (zenon_H1ca zenon_H1cf).
% 99.62/99.87  exact (zenon_H1de zenon_H1e4).
% 99.62/99.87  apply (zenon_L81_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1e0.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1dd.
% 99.62/99.87  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  exact (zenon_H66 successor_1).
% 99.62/99.87  apply (zenon_L83_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L84_ *)
% 99.62/99.87  assert (zenon_L85_ : forall (zenon_TB_dj : 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))) (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1e5 zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1de ].
% 99.62/99.87  cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1e5.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1e4.
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  exact (zenon_H90 successor_2).
% 99.62/99.87  apply (zenon_L84_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L85_ *)
% 99.62/99.87  assert (zenon_L86_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.87  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67 zenon_H1e6.
% 99.62/99.87  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.87  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1e5 ].
% 99.62/99.87  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1e6.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1e7.
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.62/99.87  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H90.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1e8.
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H8d zenon_H1c9).
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  apply (zenon_L85_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H8d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H8e.
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H90 successor_2).
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L86_ *)
% 99.62/99.87  assert (zenon_L87_ : (~(gt (n3) (succ (succ (n0))))) -> False).
% 99.62/99.87  do 0 intro. intros zenon_H1e9.
% 99.62/99.87  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.87  cut ((gt (n3) (n2)) = (gt (n3) (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1e9.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_3_2.
% 99.62/99.87  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.87  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H83. apply refl_equal.
% 99.62/99.87  exact (zenon_H8d zenon_H1c9).
% 99.62/99.87  apply zenon_H8d. apply sym_equal. exact successor_2.
% 99.62/99.87  (* end of lemma zenon_L87_ *)
% 99.62/99.87  assert (zenon_L88_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (n1))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1ea zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e.
% 99.62/99.87  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.62/99.87  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.62/99.87  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.62/99.87  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.62/99.87  exact (zenon_H8a gt_2_1).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.62/99.87  exact (zenon_H16b zenon_H16f).
% 99.62/99.87  exact (zenon_H1ea zenon_H1ed).
% 99.62/99.87  apply (zenon_L50_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L88_ *)
% 99.62/99.87  assert (zenon_L89_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e zenon_H1ee zenon_H67.
% 99.62/99.87  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.62/99.87  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.62/99.87  cut ((gt (n2) (n3)) = (gt (n2) (succ (succ (succ (n0)))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1ee.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1ed.
% 99.62/99.87  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  exact (zenon_Ha7 zenon_H1ef).
% 99.62/99.87  apply (zenon_L88_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.62/99.87  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Ha7.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1f0.
% 99.62/99.87  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.62/99.87  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H1f2 successor_3).
% 99.62/99.87  apply zenon_H1f1. apply refl_equal.
% 99.62/99.87  apply zenon_H1f1. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L89_ *)
% 99.62/99.87  assert (zenon_L90_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (n1))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1f3 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e.
% 99.62/99.87  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f4 | zenon_intro zenon_H1ee ].
% 99.62/99.87  cut ((gt (n2) (succ (succ (succ (n0))))) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1f3.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1f4.
% 99.62/99.87  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.62/99.87  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.87  congruence.
% 99.62/99.87  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H8d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H8e.
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H90 successor_2).
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  apply zenon_H1f1. apply refl_equal.
% 99.62/99.87  apply (zenon_L89_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L90_ *)
% 99.62/99.87  assert (zenon_L91_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e zenon_H67 zenon_H1e6.
% 99.62/99.87  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f6 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_H1f7. zenon_intro zenon_H1ea.
% 99.62/99.87  apply (zenon_L88_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1e6.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_3_2.
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H1f6); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1f9 ].
% 99.62/99.87  apply zenon_H1fa. zenon_intro zenon_H1fb.
% 99.62/99.87  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.62/99.87  cut (((n2) = (n2)) = ((n3) = (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1f8.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1e8.
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H1f7 zenon_H1fb).
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  apply zenon_H1f9. zenon_intro zenon_H1ed.
% 99.62/99.87  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.62/99.87  generalize (zenon_H86 (n3)). zenon_intro zenon_H1fc.
% 99.62/99.87  generalize (zenon_H1fc (n2)). zenon_intro zenon_H1fd.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1ea | zenon_intro zenon_H1fe ].
% 99.62/99.87  exact (zenon_H1ea zenon_H1ed).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H1fe); [ zenon_intro zenon_H97 | zenon_intro zenon_H1ff ].
% 99.62/99.87  exact (zenon_H97 gt_3_2).
% 99.62/99.87  exact (zenon_H1e6 zenon_H1ff).
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L91_ *)
% 99.62/99.87  assert (zenon_L92_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0 zenon_H14e zenon_H200 zenon_H67.
% 99.62/99.87  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.87  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (succ (succ (n0)))). zenon_intro zenon_H202.
% 99.62/99.87  generalize (zenon_H202 (succ (succ (succ (n0))))). zenon_intro zenon_H203.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H204 ].
% 99.62/99.87  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H205 ].
% 99.62/99.87  exact (zenon_H1f3 zenon_H201).
% 99.62/99.87  exact (zenon_H200 zenon_H205).
% 99.62/99.87  apply (zenon_L90_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1c8.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H1bb.
% 99.62/99.87  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_H8d zenon_H1c9).
% 99.62/99.87  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H206 | zenon_intro zenon_H207 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H206). zenon_intro zenon_H209. zenon_intro zenon_H208.
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.87  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.62/99.87  generalize (zenon_H147 (n3)). zenon_intro zenon_H20a.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H20a); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H20b ].
% 99.62/99.87  exact (zenon_Hc9 zenon_Hcb).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H20b); [ zenon_intro zenon_H16a | zenon_intro zenon_H20c ].
% 99.62/99.87  exact (zenon_H16a zenon_H16c).
% 99.62/99.87  exact (zenon_H208 zenon_H20c).
% 99.62/99.87  apply (zenon_L49_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hc9.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcf.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H1b8.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_3_2.
% 99.62/99.87  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.87  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H207); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 99.62/99.87  apply zenon_H20f. zenon_intro zenon_H210.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H20d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H209 zenon_H210).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H20e. zenon_intro zenon_H20c.
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.62/99.87  generalize (zenon_H211 (n2)). zenon_intro zenon_H212.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H212); [ zenon_intro zenon_H208 | zenon_intro zenon_H213 ].
% 99.62/99.87  exact (zenon_H208 zenon_H20c).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H213); [ zenon_intro zenon_H97 | zenon_intro zenon_H1bb ].
% 99.62/99.87  exact (zenon_H97 gt_3_2).
% 99.62/99.87  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.87  apply zenon_H84. apply refl_equal.
% 99.62/99.87  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H8d.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H8e.
% 99.62/99.87  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.87  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_H90 successor_2).
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  apply zenon_H8f. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L92_ *)
% 99.62/99.87  assert (zenon_L93_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H67 zenon_H1c8 zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H208 ].
% 99.62/99.87  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H1e9 ].
% 99.62/99.87  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.87  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.62/99.87  generalize (zenon_H211 (succ (succ (n0)))). zenon_intro zenon_H215.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H208 | zenon_intro zenon_H216 ].
% 99.62/99.87  exact (zenon_H208 zenon_H20c).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1cb ].
% 99.62/99.87  exact (zenon_H1e9 zenon_H214).
% 99.62/99.87  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.87  apply (zenon_L87_); trivial.
% 99.62/99.87  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (tptp_minus_1)) (n3))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H208.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_H205.
% 99.62/99.87  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  exact (zenon_H1f2 successor_3).
% 99.62/99.87  apply (zenon_L92_ zenon_TB_dj); trivial.
% 99.62/99.87  (* end of lemma zenon_L93_ *)
% 99.62/99.87  assert (zenon_L94_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ (succ (n0))))) -> (~(gt zenon_TB_dj (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H217 zenon_H14e zenon_H67.
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.87  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.62/99.87  exact (zenon_Hce zenon_Hd5).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.62/99.87  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.87  exact (zenon_H217 zenon_H21a).
% 99.62/99.87  apply (zenon_L93_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hce.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He1.
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L94_ *)
% 99.62/99.87  assert (zenon_L95_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (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_TB_dj (n0))) -> False).
% 99.62/99.87  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H217 zenon_H67 zenon_Hd4.
% 99.62/99.87  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.62/99.87  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.62/99.87  apply (zenon_L94_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hd4.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact gt_1_0.
% 99.62/99.87  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.87  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.62/99.87  congruence.
% 99.62/99.87  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.62/99.87  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.62/99.87  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H196.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hd2.
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  apply zenon_H197. zenon_intro zenon_H17b.
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.62/99.87  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.62/99.87  exact (zenon_H14e zenon_H17b).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.62/99.87  exact (zenon_H142 gt_1_0).
% 99.62/99.87  exact (zenon_Hd4 zenon_He1).
% 99.62/99.87  apply zenon_H82. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L95_ *)
% 99.62/99.87  assert (zenon_L96_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((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).
% 99.62/99.87  do 1 intro. intros zenon_H217 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H1bc zenon_Hf0 zenon_H67.
% 99.62/99.87  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.87  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.87  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.87  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.87  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.87  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.62/99.87  exact (zenon_Hce zenon_Hd5).
% 99.62/99.87  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.62/99.87  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.87  exact (zenon_H217 zenon_H21a).
% 99.62/99.87  apply (zenon_L80_ zenon_TB_dj); trivial.
% 99.62/99.87  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_Hce.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_He1.
% 99.62/99.87  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.87  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.87  congruence.
% 99.62/99.87  apply zenon_H77. apply refl_equal.
% 99.62/99.87  exact (zenon_H5f zenon_H5e).
% 99.62/99.87  apply (zenon_L95_ zenon_TB_dj); trivial.
% 99.62/99.87  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.87  intro zenon_D_pnotp.
% 99.62/99.87  apply zenon_H5f.
% 99.62/99.87  rewrite <- zenon_D_pnotp.
% 99.62/99.87  exact zenon_Hcc.
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.87  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.87  congruence.
% 99.62/99.87  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  apply zenon_H62. apply refl_equal.
% 99.62/99.87  (* end of lemma zenon_L96_ *)
% 99.62/99.87  assert (zenon_L97_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H21b zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.88  elim (classic (gt zenon_TB_dj (succ (succ (n0))))); [ zenon_intro zenon_H21a | zenon_intro zenon_H217 ].
% 99.62/99.88  cut ((gt zenon_TB_dj (succ (succ (n0)))) = (gt zenon_TB_dj (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H21b.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H21a.
% 99.62/99.88  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  exact (zenon_H90 successor_2).
% 99.62/99.88  apply (zenon_L96_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L97_ *)
% 99.62/99.88  assert (zenon_L98_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H16a zenon_H21b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H1bc.
% 99.62/99.88  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_H10e | zenon_intro zenon_Hf0 ].
% 99.62/99.88  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H16a.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_0_tptp_minus_1.
% 99.62/99.88  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  exact (zenon_Hf0 zenon_H10e).
% 99.62/99.88  apply (zenon_L97_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L98_ *)
% 99.62/99.88  assert (zenon_L99_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H16b zenon_H1bc zenon_H21b zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.88  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.62/99.88  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.88  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.62/99.88  generalize (zenon_H13f (n3)). zenon_intro zenon_H16d.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H142 | zenon_intro zenon_H16e ].
% 99.62/99.88  exact (zenon_H142 gt_1_0).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H16a | zenon_intro zenon_H16f ].
% 99.62/99.88  exact (zenon_H16a zenon_H16c).
% 99.62/99.88  exact (zenon_H16b zenon_H16f).
% 99.62/99.88  apply (zenon_L98_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L99_ *)
% 99.62/99.88  assert (zenon_L100_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H1ea zenon_H21b zenon_H1bc zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.62/99.88  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.62/99.88  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.62/99.88  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.62/99.88  exact (zenon_H8a gt_2_1).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.62/99.88  exact (zenon_H16b zenon_H16f).
% 99.62/99.88  exact (zenon_H1ea zenon_H1ed).
% 99.62/99.88  apply (zenon_L99_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L100_ *)
% 99.62/99.88  assert (zenon_L101_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.88  do 1 intro. intros zenon_H21b zenon_H1bc zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H67 zenon_H1e6.
% 99.62/99.88  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f6 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_H1f7. zenon_intro zenon_H1ea.
% 99.62/99.88  apply (zenon_L100_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e6.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_3_2.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H1f6); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1f9 ].
% 99.62/99.88  apply zenon_H1fa. zenon_intro zenon_H1fb.
% 99.62/99.88  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.62/99.88  cut (((n2) = (n2)) = ((n3) = (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1f8.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1e8.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H1f7 zenon_H1fb).
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  apply zenon_H1f9. zenon_intro zenon_H1ed.
% 99.62/99.88  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.62/99.88  generalize (zenon_H86 (n3)). zenon_intro zenon_H1fc.
% 99.62/99.88  generalize (zenon_H1fc (n2)). zenon_intro zenon_H1fd.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1ea | zenon_intro zenon_H1fe ].
% 99.62/99.88  exact (zenon_H1ea zenon_H1ed).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1fe); [ zenon_intro zenon_H97 | zenon_intro zenon_H1ff ].
% 99.62/99.88  exact (zenon_H97 gt_3_2).
% 99.62/99.88  exact (zenon_H1e6 zenon_H1ff).
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L101_ *)
% 99.62/99.88  assert (zenon_L102_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (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).
% 99.62/99.88  do 1 intro. intros zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H67 zenon_H1e6.
% 99.62/99.88  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.88  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1e5 ].
% 99.62/99.88  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e6.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1e7.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.62/99.88  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H90.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1e8.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H8d zenon_H1c9).
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H1d1). zenon_intro zenon_H1d3. zenon_intro zenon_H8c.
% 99.62/99.88  apply (zenon_L10_); trivial.
% 99.62/99.88  elim (classic (zenon_TB_dj = (n2))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbf ].
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (succ (n0))) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e5.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H69.
% 99.62/99.88  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.62/99.88  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.62/99.88  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1d4.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H8e.
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H1d3 zenon_H1d7).
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.62/99.88  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.88  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.62/99.88  generalize (zenon_H1da zenon_TB_dj). zenon_intro zenon_H21c.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H8c | zenon_intro zenon_H21d ].
% 99.62/99.88  exact (zenon_H8c zenon_H1d8).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H81 | zenon_intro zenon_H21e ].
% 99.62/99.88  exact (zenon_H81 zenon_H69).
% 99.62/99.88  cut ((gt (succ (succ (n0))) zenon_TB_dj) = (gt (succ (succ (n0))) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e5.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H21e.
% 99.62/99.88  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.88  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.88  elim (classic (gt zenon_TB_dj (n2))); [ zenon_intro zenon_H21f | zenon_intro zenon_H21b ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.88  generalize (zenon_Hdb (n2)). zenon_intro zenon_H220.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H220); [ zenon_intro zenon_H81 | zenon_intro zenon_H221 ].
% 99.62/99.88  exact (zenon_H81 zenon_H69).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H221); [ zenon_intro zenon_H21b | zenon_intro zenon_H1bb ].
% 99.62/99.88  exact (zenon_H21b zenon_H21f).
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (succ (n0))) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e5.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1bb.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.62/99.88  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.62/99.88  apply zenon_H1d4. apply sym_equal. exact zenon_H1d7.
% 99.62/99.88  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.62/99.88  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.88  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.62/99.88  generalize (zenon_H1da (n2)). zenon_intro zenon_H222.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H222); [ zenon_intro zenon_H8c | zenon_intro zenon_H223 ].
% 99.62/99.88  exact (zenon_H8c zenon_H1d8).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H223); [ zenon_intro zenon_H1b8 | zenon_intro zenon_H1e7 ].
% 99.62/99.88  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.88  exact (zenon_H1e5 zenon_H1e7).
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  apply (zenon_L101_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H8d.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H8e.
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.88  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H90 successor_2).
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L102_ *)
% 99.62/99.88  assert (zenon_L103_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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_TB_dj (n1))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b zenon_H67 zenon_H14e.
% 99.62/99.88  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.62/99.88  apply (zenon_L99_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n2) (n1)) = (gt zenon_TB_dj (n1))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H14e.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_2_1.
% 99.62/99.88  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.88  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.62/99.88  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.62/99.88  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H226.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd2.
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H227. zenon_intro zenon_H21f.
% 99.62/99.88  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.88  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.62/99.88  generalize (zenon_H229 (n1)). zenon_intro zenon_H22a.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H21b | zenon_intro zenon_H22b ].
% 99.62/99.88  exact (zenon_H21b zenon_H21f).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H8a | zenon_intro zenon_H17b ].
% 99.62/99.88  exact (zenon_H8a gt_2_1).
% 99.62/99.88  exact (zenon_H14e zenon_H17b).
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L103_ *)
% 99.62/99.88  assert (zenon_L104_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H110 zenon_H67.
% 99.62/99.88  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.62/99.88  cut ((gt zenon_TB_dj (n1)) = (gt zenon_TB_dj (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H110.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H17b.
% 99.62/99.88  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  exact (zenon_H63 zenon_H121).
% 99.62/99.88  apply (zenon_L103_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.88  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H63.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H64.
% 99.62/99.88  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.88  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H66 successor_1).
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L104_ *)
% 99.62/99.88  assert (zenon_L105_ : forall (zenon_TB_dj : 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_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H111 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.88  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.62/99.88  exact (zenon_H81 zenon_H69).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.62/99.88  exact (zenon_H110 zenon_H112).
% 99.62/99.88  exact (zenon_H111 zenon_H115).
% 99.62/99.88  apply (zenon_L104_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L105_ *)
% 99.62/99.88  assert (zenon_L106_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (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).
% 99.62/99.88  do 1 intro. intros zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H118 zenon_H67.
% 99.62/99.88  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H118.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H115.
% 99.62/99.88  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.88  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hcd.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd3.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H5f zenon_H5e).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply (zenon_L105_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H5f.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcc.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L106_ *)
% 99.62/99.88  assert (zenon_L107_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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_TB_dj (n0))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b zenon_H67 zenon_Hd4.
% 99.62/99.88  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.62/99.88  apply (zenon_L99_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n2) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hd4.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_2_0.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.62/99.88  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.62/99.88  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H226.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd2.
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H227. zenon_intro zenon_H21f.
% 99.62/99.88  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.88  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.62/99.88  generalize (zenon_H229 (n0)). zenon_intro zenon_H22c.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22c); [ zenon_intro zenon_H21b | zenon_intro zenon_H22d ].
% 99.62/99.88  exact (zenon_H21b zenon_H21f).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H190 | zenon_intro zenon_He1 ].
% 99.62/99.88  exact (zenon_H190 gt_2_0).
% 99.62/99.88  exact (zenon_Hd4 zenon_He1).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L107_ *)
% 99.62/99.88  assert (zenon_L108_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.88  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.62/99.88  exact (zenon_H81 zenon_H69).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.62/99.88  exact (zenon_Hd9 zenon_Hd8).
% 99.62/99.88  exact (zenon_Hd6 zenon_Hde).
% 99.62/99.88  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.88  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hd9.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He1.
% 99.62/99.88  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  exact (zenon_He0 zenon_Hdf).
% 99.62/99.88  apply (zenon_L107_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He2.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_He4 zenon_Hd7).
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L108_ *)
% 99.62/99.88  assert (zenon_L109_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_He5 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.88  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))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He5.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He6.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He2.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_He4 zenon_Hd7).
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He7.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hde.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.88  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hcd.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd3.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H5f zenon_H5e).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply (zenon_L108_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H5f.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcc.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L109_ *)
% 99.62/99.88  assert (zenon_L110_ : forall (zenon_TB_dj : 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)))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (n3))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H19e zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b.
% 99.62/99.88  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.62/99.88  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.88  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.88  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.88  generalize (zenon_H19f (n0)). zenon_intro zenon_H1a0.
% 99.62/99.88  generalize (zenon_H1a0 (succ (n0))). zenon_intro zenon_H1a1.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_Hea | zenon_intro zenon_H1a2 ].
% 99.62/99.88  exact (zenon_Hea zenon_He9).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H118 | zenon_intro zenon_H19d ].
% 99.62/99.88  exact (zenon_H118 zenon_H117).
% 99.62/99.88  exact (zenon_H19e zenon_H19d).
% 99.62/99.88  apply (zenon_L106_ zenon_TB_dj); trivial.
% 99.62/99.88  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))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hea.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Heb.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  exact (zenon_He4 zenon_Hd7).
% 99.62/99.88  apply (zenon_L109_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L110_ *)
% 99.62/99.88  assert (zenon_L111_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H19c zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H19d | zenon_intro zenon_H19e ].
% 99.62/99.88  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H19c.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H19d.
% 99.62/99.88  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  exact (zenon_H66 successor_1).
% 99.62/99.88  apply (zenon_L110_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L111_ *)
% 99.62/99.88  assert (zenon_L112_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (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 (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H67 zenon_Hea.
% 99.62/99.88  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H1a3). zenon_intro zenon_H1a5. zenon_intro zenon_H19c.
% 99.62/99.88  apply (zenon_L111_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hea.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_1_0.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H1a4); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a7 ].
% 99.62/99.88  apply zenon_H1a8. zenon_intro zenon_H1a9.
% 99.62/99.88  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1a6.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He2.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H1a5 zenon_H1a9).
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_H1a7. zenon_intro zenon_H1aa.
% 99.62/99.88  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.88  generalize (zenon_H19f (n1)). zenon_intro zenon_H1ab.
% 99.62/99.88  generalize (zenon_H1ab (n0)). zenon_intro zenon_H1ac.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1ac); [ zenon_intro zenon_H19c | zenon_intro zenon_H1ad ].
% 99.62/99.88  exact (zenon_H19c zenon_H1aa).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1ad); [ zenon_intro zenon_H142 | zenon_intro zenon_He9 ].
% 99.62/99.88  exact (zenon_H142 gt_1_0).
% 99.62/99.88  exact (zenon_Hea zenon_He9).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L112_ *)
% 99.62/99.88  assert (zenon_L113_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b zenon_H67 zenon_He8 zenon_Hd7.
% 99.62/99.88  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.88  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.88  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He8.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He9.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.88  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He4.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd3.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_He0 zenon_Hdf).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  apply (zenon_L112_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He2.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_He4 zenon_Hd7).
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L113_ *)
% 99.62/99.88  assert (zenon_L114_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H120 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.88  elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H13d | zenon_intro zenon_H139 ].
% 99.62/99.88  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.88  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.62/99.88  generalize (zenon_H13f (n1)). zenon_intro zenon_H140.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H140); [ zenon_intro zenon_H142 | zenon_intro zenon_H141 ].
% 99.62/99.88  exact (zenon_H142 gt_1_0).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H141); [ zenon_intro zenon_H139 | zenon_intro zenon_H143 ].
% 99.62/99.88  exact (zenon_H139 zenon_H13d).
% 99.62/99.88  exact (zenon_H120 zenon_H143).
% 99.62/99.88  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.88  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.62/99.88  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.88  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H1aa | zenon_intro zenon_H19c ].
% 99.62/99.88  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.88  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.62/99.88  generalize (zenon_H1bf (n1)). zenon_intro zenon_H22e.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22e); [ zenon_intro zenon_He7 | zenon_intro zenon_H22f ].
% 99.62/99.88  exact (zenon_He7 zenon_He6).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H22f); [ zenon_intro zenon_H19c | zenon_intro zenon_H13d ].
% 99.62/99.88  exact (zenon_H19c zenon_H1aa).
% 99.62/99.88  exact (zenon_H139 zenon_H13d).
% 99.62/99.88  apply (zenon_L111_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He7.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1b0.
% 99.62/99.88  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  exact (zenon_He0 zenon_Hdf).
% 99.62/99.88  apply (zenon_L113_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_He0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He2.
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.88  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_He4 zenon_Hd7).
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  apply zenon_He3. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L114_ *)
% 99.62/99.88  assert (zenon_L115_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (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 (n1) (n1))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H67 zenon_H120.
% 99.62/99.88  elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H170 | zenon_intro zenon_H171 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H170). zenon_intro zenon_H172. zenon_intro zenon_H16b.
% 99.62/99.88  apply (zenon_L114_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n3) (n1)) = (gt (n1) (n1))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H120.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_3_1.
% 99.62/99.88  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.88  cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H173].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H171); [ zenon_intro zenon_H175 | zenon_intro zenon_H174 ].
% 99.62/99.88  apply zenon_H175. zenon_intro zenon_H176.
% 99.62/99.88  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.62/99.88  cut (((n1) = (n1)) = ((n3) = (n1))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H173.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H124.
% 99.62/99.88  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.88  cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H172 zenon_H176).
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  apply zenon_H174. zenon_intro zenon_H16f.
% 99.62/99.88  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.88  generalize (zenon_H13e (n3)). zenon_intro zenon_H177.
% 99.62/99.88  generalize (zenon_H177 (n1)). zenon_intro zenon_H178.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H178); [ zenon_intro zenon_H16b | zenon_intro zenon_H179 ].
% 99.62/99.88  exact (zenon_H16b zenon_H16f).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H179); [ zenon_intro zenon_H17a | zenon_intro zenon_H143 ].
% 99.62/99.88  exact (zenon_H17a gt_3_1).
% 99.62/99.88  exact (zenon_H120 zenon_H143).
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L115_ *)
% 99.62/99.88  assert (zenon_L116_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H1b1 zenon_H67.
% 99.62/99.88  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.88  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.62/99.88  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.88  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TB_dj))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1b1.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H144.
% 99.62/99.88  cut (((succ (n0)) = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 99.62/99.88  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  apply (zenon_L5_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H145.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H143.
% 99.62/99.88  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.88  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H5c. apply refl_equal.
% 99.62/99.88  exact (zenon_H63 zenon_H121).
% 99.62/99.88  apply (zenon_L115_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.88  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H63.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H64.
% 99.62/99.88  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.88  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H66 successor_1).
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L116_ *)
% 99.62/99.88  assert (zenon_L117_ : forall (zenon_TB_dj : 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 zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H129 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.62/99.88  elim (classic (gt (n1) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b1 ].
% 99.62/99.88  cut ((gt (n1) (succ zenon_TB_dj)) = (gt (succ (n0)) (succ zenon_TB_dj))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H129.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1b3.
% 99.62/99.88  cut (((succ zenon_TB_dj) = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 99.62/99.88  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.88  congruence.
% 99.62/99.88  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.88  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H63.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H64.
% 99.62/99.88  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.88  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H66 successor_1).
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply zenon_H230. apply refl_equal.
% 99.62/99.88  apply (zenon_L116_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L117_ *)
% 99.62/99.88  assert (zenon_L118_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H118 zenon_H14e zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55.
% 99.62/99.88  elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H11b | zenon_intro zenon_H116 ].
% 99.62/99.88  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.88  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.62/99.88  generalize (zenon_H11d (succ (n0))). zenon_intro zenon_H11e.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H109 | zenon_intro zenon_H11f ].
% 99.62/99.88  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H116 | zenon_intro zenon_H117 ].
% 99.62/99.88  exact (zenon_H116 zenon_H11b).
% 99.62/99.88  exact (zenon_H118 zenon_H117).
% 99.62/99.88  apply (zenon_L54_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L118_ *)
% 99.62/99.88  assert (zenon_L119_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n1))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H14e zenon_H111 zenon_H55 zenon_H69 zenon_Hbe zenon_Hbf zenon_Hc0.
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.62/99.88  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.62/99.88  generalize (zenon_H147 (succ (n0))). zenon_intro zenon_H148.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H148); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H149 ].
% 99.62/99.88  exact (zenon_Hc9 zenon_Hcb).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H149); [ zenon_intro zenon_H118 | zenon_intro zenon_H115 ].
% 99.62/99.88  exact (zenon_H118 zenon_H117).
% 99.62/99.88  exact (zenon_H111 zenon_H115).
% 99.62/99.88  apply (zenon_L118_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hc9.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcf.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.88  apply (zenon_L18_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L119_ *)
% 99.62/99.88  assert (zenon_L120_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ (n0)))) -> (~(gt zenon_TB_dj (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H110 zenon_H14e zenon_H67.
% 99.62/99.88  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.88  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.88  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.88  generalize (zenon_H14b (succ (n0))). zenon_intro zenon_H14c.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H14c); [ zenon_intro zenon_Hce | zenon_intro zenon_H14d ].
% 99.62/99.88  exact (zenon_Hce zenon_Hd5).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H111 | zenon_intro zenon_H112 ].
% 99.62/99.88  exact (zenon_H111 zenon_H115).
% 99.62/99.88  exact (zenon_H110 zenon_H112).
% 99.62/99.88  apply (zenon_L119_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hce.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He1.
% 99.62/99.88  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  exact (zenon_H5f zenon_H5e).
% 99.62/99.88  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H5f.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcc.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L120_ *)
% 99.62/99.88  assert (zenon_L121_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (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_TB_dj (n0))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H110 zenon_H67 zenon_Hd4 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0.
% 99.62/99.88  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.62/99.88  apply (zenon_L120_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hd4.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_1_0.
% 99.62/99.88  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.88  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.62/99.88  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.62/99.88  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H196.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hd2.
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hbe zenon_Hc6).
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  apply zenon_H197. zenon_intro zenon_H17b.
% 99.62/99.88  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.88  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.62/99.88  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.62/99.88  exact (zenon_H14e zenon_H17b).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.62/99.88  exact (zenon_H142 gt_1_0).
% 99.62/99.88  exact (zenon_Hd4 zenon_He1).
% 99.62/99.88  apply zenon_H82. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L121_ *)
% 99.62/99.88  assert (zenon_L122_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt zenon_TB_dj (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H110 zenon_H67.
% 99.62/99.88  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.88  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.88  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.88  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.88  generalize (zenon_H14b (succ (n0))). zenon_intro zenon_H14c.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H14c); [ zenon_intro zenon_Hce | zenon_intro zenon_H14d ].
% 99.62/99.88  exact (zenon_Hce zenon_Hd5).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H111 | zenon_intro zenon_H112 ].
% 99.62/99.88  exact (zenon_H111 zenon_H115).
% 99.62/99.88  exact (zenon_H110 zenon_H112).
% 99.62/99.88  apply (zenon_L71_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Hce.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_He1.
% 99.62/99.88  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.88  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H77. apply refl_equal.
% 99.62/99.88  exact (zenon_H5f zenon_H5e).
% 99.62/99.88  apply (zenon_L121_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H5f.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcc.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L122_ *)
% 99.62/99.88  assert (zenon_L123_ : forall (zenon_TB_dj : 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_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H231 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0.
% 99.62/99.88  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.62/99.88  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.62/99.88  elim (classic (gt (n1) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b1 ].
% 99.62/99.88  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.88  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.62/99.88  generalize (zenon_H1e1 (succ zenon_TB_dj)). zenon_intro zenon_H232.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H232); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H233 ].
% 99.62/99.88  exact (zenon_H1e0 zenon_H1df).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H233); [ zenon_intro zenon_H1b1 | zenon_intro zenon_H234 ].
% 99.62/99.88  exact (zenon_H1b1 zenon_H1b3).
% 99.62/99.88  exact (zenon_H231 zenon_H234).
% 99.62/99.88  apply (zenon_L69_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1e0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1dd.
% 99.62/99.88  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  exact (zenon_H66 successor_1).
% 99.62/99.88  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H1d1). zenon_intro zenon_H1d3. zenon_intro zenon_H8c.
% 99.62/99.88  apply (zenon_L10_); trivial.
% 99.62/99.88  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.88  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.62/99.88  exact (zenon_H81 zenon_H69).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.62/99.88  exact (zenon_H110 zenon_H112).
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1d0.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H115.
% 99.62/99.88  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.62/99.88  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.62/99.88  apply zenon_H1d4. apply sym_equal. exact zenon_H1d7.
% 99.62/99.88  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.62/99.88  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.88  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.62/99.88  generalize (zenon_H1da (succ (n0))). zenon_intro zenon_H1db.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1db); [ zenon_intro zenon_H8c | zenon_intro zenon_H1dc ].
% 99.62/99.88  exact (zenon_H8c zenon_H1d8).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H1dc); [ zenon_intro zenon_H111 | zenon_intro zenon_H1dd ].
% 99.62/99.88  exact (zenon_H111 zenon_H115).
% 99.62/99.88  exact (zenon_H1d0 zenon_H1dd).
% 99.62/99.88  apply zenon_H65. apply refl_equal.
% 99.62/99.88  apply (zenon_L122_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L123_ *)
% 99.62/99.88  assert (zenon_L124_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H235 zenon_H1bc zenon_H21b zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.88  elim (classic ((~((succ (succ (n0))) = (succ zenon_TB_dj)))/\(~(gt (succ (succ (n0))) (succ zenon_TB_dj))))); [ zenon_intro zenon_H236 | zenon_intro zenon_H237 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H236). zenon_intro zenon_H238. zenon_intro zenon_H231.
% 99.62/99.88  apply (zenon_L123_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.62/99.88  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.62/99.88  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.62/99.88  generalize (zenon_H12b (n3)). zenon_intro zenon_H239.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H239); [ zenon_intro zenon_H5b | zenon_intro zenon_H23a ].
% 99.62/99.88  exact (zenon_H5b zenon_H55).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H23a); [ zenon_intro zenon_H16a | zenon_intro zenon_H23b ].
% 99.62/99.88  exact (zenon_H16a zenon_H16c).
% 99.62/99.88  cut ((gt (succ zenon_TB_dj) (n3)) = (gt (succ (succ (n0))) (n3))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H235.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H23b.
% 99.62/99.88  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.62/99.88  cut (((succ zenon_TB_dj) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H237); [ zenon_intro zenon_H23e | zenon_intro zenon_H23d ].
% 99.62/99.88  apply zenon_H23e. zenon_intro zenon_H23f.
% 99.62/99.88  apply zenon_H23c. apply sym_equal. exact zenon_H23f.
% 99.62/99.88  apply zenon_H23d. zenon_intro zenon_H234.
% 99.62/99.88  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.62/99.88  generalize (zenon_H1d9 (succ zenon_TB_dj)). zenon_intro zenon_H240.
% 99.62/99.88  generalize (zenon_H240 (n3)). zenon_intro zenon_H241.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H231 | zenon_intro zenon_H242 ].
% 99.62/99.88  exact (zenon_H231 zenon_H234).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H244 | zenon_intro zenon_H243 ].
% 99.62/99.88  exact (zenon_H244 zenon_H23b).
% 99.62/99.88  exact (zenon_H235 zenon_H243).
% 99.62/99.88  apply zenon_H83. apply refl_equal.
% 99.62/99.88  apply (zenon_L98_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L124_ *)
% 99.62/99.88  assert (zenon_L125_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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).
% 99.62/99.88  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H1bc zenon_H21b zenon_H1f3 zenon_H67.
% 99.62/99.88  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.62/99.88  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.62/99.88  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1f3.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H243.
% 99.62/99.88  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H8f. apply refl_equal.
% 99.62/99.88  exact (zenon_Ha7 zenon_H1ef).
% 99.62/99.88  apply (zenon_L124_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.62/99.88  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_Ha7.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1f0.
% 99.62/99.88  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.62/99.88  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H1f2 successor_3).
% 99.62/99.88  apply zenon_H1f1. apply refl_equal.
% 99.62/99.88  apply zenon_H1f1. apply refl_equal.
% 99.62/99.88  (* end of lemma zenon_L125_ *)
% 99.62/99.88  assert (zenon_L126_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.88  do 1 intro. intros zenon_H67 zenon_H208 zenon_H1bc zenon_H21b zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.88  elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TB_dj)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TB_dj))))); [ zenon_intro zenon_H245 | zenon_intro zenon_H246 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H245). zenon_intro zenon_H247. zenon_intro zenon_H1b2.
% 99.62/99.88  apply (zenon_L72_ zenon_TB_dj); trivial.
% 99.62/99.88  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.62/99.88  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.62/99.88  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.62/99.88  generalize (zenon_H12b (n3)). zenon_intro zenon_H239.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H239); [ zenon_intro zenon_H5b | zenon_intro zenon_H23a ].
% 99.62/99.88  exact (zenon_H5b zenon_H55).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H23a); [ zenon_intro zenon_H16a | zenon_intro zenon_H23b ].
% 99.62/99.88  exact (zenon_H16a zenon_H16c).
% 99.62/99.88  cut ((gt (succ zenon_TB_dj) (n3)) = (gt (succ (tptp_minus_1)) (n3))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H208.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H23b.
% 99.62/99.88  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.62/99.88  cut (((succ zenon_TB_dj) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H246); [ zenon_intro zenon_H24a | zenon_intro zenon_H249 ].
% 99.62/99.88  apply zenon_H24a. zenon_intro zenon_H24b.
% 99.62/99.88  apply zenon_H248. apply sym_equal. exact zenon_H24b.
% 99.62/99.88  apply zenon_H249. zenon_intro zenon_H1b7.
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda (succ zenon_TB_dj)). zenon_intro zenon_H24c.
% 99.62/99.88  generalize (zenon_H24c (n3)). zenon_intro zenon_H24d.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H24e ].
% 99.62/99.88  exact (zenon_H1b2 zenon_H1b7).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H244 | zenon_intro zenon_H20c ].
% 99.62/99.88  exact (zenon_H244 zenon_H23b).
% 99.62/99.88  exact (zenon_H208 zenon_H20c).
% 99.62/99.88  apply zenon_H83. apply refl_equal.
% 99.62/99.88  apply (zenon_L98_ zenon_TB_dj); trivial.
% 99.62/99.88  (* end of lemma zenon_L126_ *)
% 99.62/99.88  assert (zenon_L127_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.62/99.88  do 1 intro. intros zenon_H21b zenon_H1bc zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H200 zenon_H67.
% 99.62/99.88  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.62/99.88  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.88  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda (succ (succ (n0)))). zenon_intro zenon_H202.
% 99.62/99.88  generalize (zenon_H202 (succ (succ (succ (n0))))). zenon_intro zenon_H203.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H204 ].
% 99.62/99.88  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H205 ].
% 99.62/99.88  exact (zenon_H1f3 zenon_H201).
% 99.62/99.88  exact (zenon_H200 zenon_H205).
% 99.62/99.88  apply (zenon_L125_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1c8.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H1bb.
% 99.62/99.88  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  congruence.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  exact (zenon_H8d zenon_H1c9).
% 99.62/99.88  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H206 | zenon_intro zenon_H207 ].
% 99.62/99.88  apply (zenon_and_s _ _ zenon_H206). zenon_intro zenon_H209. zenon_intro zenon_H208.
% 99.62/99.88  apply (zenon_L126_ zenon_TB_dj); trivial.
% 99.62/99.88  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H1b8.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact gt_3_2.
% 99.62/99.88  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.62/99.88  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 99.62/99.88  congruence.
% 99.62/99.88  apply (zenon_notand_s _ _ zenon_H207); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 99.62/99.88  apply zenon_H20f. zenon_intro zenon_H210.
% 99.62/99.88  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H20d.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_Hcc.
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.88  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 99.62/99.88  congruence.
% 99.62/99.88  exact (zenon_H209 zenon_H210).
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H62. apply refl_equal.
% 99.62/99.88  apply zenon_H20e. zenon_intro zenon_H20c.
% 99.62/99.88  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.88  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.62/99.88  generalize (zenon_H211 (n2)). zenon_intro zenon_H212.
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H212); [ zenon_intro zenon_H208 | zenon_intro zenon_H213 ].
% 99.62/99.88  exact (zenon_H208 zenon_H20c).
% 99.62/99.88  apply (zenon_imply_s _ _ zenon_H213); [ zenon_intro zenon_H97 | zenon_intro zenon_H1bb ].
% 99.62/99.88  exact (zenon_H97 gt_3_2).
% 99.62/99.88  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.88  apply zenon_H84. apply refl_equal.
% 99.62/99.88  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.62/99.88  intro zenon_D_pnotp.
% 99.62/99.88  apply zenon_H8d.
% 99.62/99.88  rewrite <- zenon_D_pnotp.
% 99.62/99.88  exact zenon_H8e.
% 99.62/99.88  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.62/99.89  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_H90 successor_2).
% 99.62/99.89  apply zenon_H8f. apply refl_equal.
% 99.62/99.89  apply zenon_H8f. apply refl_equal.
% 99.62/99.89  (* end of lemma zenon_L127_ *)
% 99.62/99.89  assert (zenon_L128_ : forall (zenon_TB_dj : 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_TB_dj (succ (succ (n0))))) -> (~(gt zenon_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_H217 zenon_H21b zenon_H1bc zenon_H1c8 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_Hd7.
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.62/99.89  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ].
% 99.62/99.89  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.89  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.62/99.89  generalize (zenon_H1b4 (succ (succ (n0)))). zenon_intro zenon_H24f.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H24f); [ zenon_intro zenon_H181 | zenon_intro zenon_H250 ].
% 99.62/99.89  exact (zenon_H181 zenon_H17e).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H250); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1cb ].
% 99.62/99.89  exact (zenon_H1ca zenon_H1cf).
% 99.62/99.89  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.89  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.89  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.62/99.89  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.62/99.89  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.62/99.89  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.62/99.89  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.62/99.89  generalize (zenon_H253 (succ (succ (n0)))). zenon_intro zenon_H254.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H145 | zenon_intro zenon_H255 ].
% 99.62/99.89  exact (zenon_H145 zenon_H144).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H252 | zenon_intro zenon_H1cf ].
% 99.62/99.89  exact (zenon_H252 zenon_H251).
% 99.62/99.89  exact (zenon_H1ca zenon_H1cf).
% 99.62/99.89  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.62/99.89  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.62/99.89  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H1e9 ].
% 99.62/99.89  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.89  generalize (zenon_H7d (n3)). zenon_intro zenon_H25a.
% 99.62/99.89  generalize (zenon_H25a (succ (succ (n0)))). zenon_intro zenon_H25b.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H25b); [ zenon_intro zenon_H259 | zenon_intro zenon_H25c ].
% 99.62/99.89  exact (zenon_H259 zenon_H258).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H25c); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H251 ].
% 99.62/99.89  exact (zenon_H1e9 zenon_H214).
% 99.62/99.89  exact (zenon_H252 zenon_H251).
% 99.62/99.89  apply (zenon_L87_); trivial.
% 99.62/99.89  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H259.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H256.
% 99.62/99.89  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.62/99.89  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H65. apply refl_equal.
% 99.62/99.89  exact (zenon_H1f2 successor_3).
% 99.62/99.89  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.62/99.89  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.62/99.89  apply (zenon_L4_); trivial.
% 99.62/99.89  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.62/99.89  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.89  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.89  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.62/99.89  exact (zenon_H81 zenon_H69).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.62/99.89  exact (zenon_H25e zenon_H25d).
% 99.62/99.89  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H257.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H205.
% 99.62/99.89  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.62/99.89  congruence.
% 99.62/99.89  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.62/99.89  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.62/99.89  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.62/99.89  apply zenon_H79. zenon_intro zenon_H7c.
% 99.62/99.89  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.62/99.89  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.62/99.89  generalize (zenon_H7e (succ (succ (succ (n0))))). zenon_intro zenon_H261.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H60 | zenon_intro zenon_H262 ].
% 99.62/99.89  exact (zenon_H60 zenon_H7c).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H200 | zenon_intro zenon_H256 ].
% 99.62/99.89  exact (zenon_H200 zenon_H205).
% 99.62/99.89  exact (zenon_H257 zenon_H256).
% 99.62/99.89  apply zenon_H1f1. apply refl_equal.
% 99.62/99.89  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.62/99.89  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.89  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.89  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.62/99.89  exact (zenon_Hce zenon_Hd5).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.62/99.89  exact (zenon_H200 zenon_H205).
% 99.62/99.89  exact (zenon_H25e zenon_H25d).
% 99.62/99.89  apply (zenon_L127_ zenon_TB_dj); trivial.
% 99.62/99.89  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_Hce.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_He1.
% 99.62/99.89  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  exact (zenon_H5f zenon_H5e).
% 99.62/99.89  apply (zenon_L95_ zenon_TB_dj); trivial.
% 99.62/99.89  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H5f.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_Hcc.
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H145.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H143.
% 99.62/99.89  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.89  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H5c. apply refl_equal.
% 99.62/99.89  exact (zenon_H63 zenon_H121).
% 99.62/99.89  apply (zenon_L52_ zenon_TB_dj); trivial.
% 99.62/99.89  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.89  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H63.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H64.
% 99.62/99.89  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.89  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_H66 successor_1).
% 99.62/99.89  apply zenon_H65. apply refl_equal.
% 99.62/99.89  apply zenon_H65. apply refl_equal.
% 99.62/99.89  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H181.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H115.
% 99.62/99.89  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  exact (zenon_H66 successor_1).
% 99.62/99.89  apply (zenon_L71_ zenon_TB_dj); trivial.
% 99.62/99.89  (* end of lemma zenon_L128_ *)
% 99.62/99.89  assert (zenon_L129_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ (succ (n0))))) -> (~(gt zenon_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.89  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_Hd7 zenon_H217 zenon_H21b zenon_H1bc zenon_H67.
% 99.62/99.89  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.62/99.89  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.89  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.62/99.89  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.62/99.89  exact (zenon_Hce zenon_Hd5).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.62/99.89  exact (zenon_H1c8 zenon_H1cb).
% 99.62/99.89  exact (zenon_H217 zenon_H21a).
% 99.62/99.89  apply (zenon_L128_ zenon_TB_dj); trivial.
% 99.62/99.89  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_Hce.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_He1.
% 99.62/99.89  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  exact (zenon_H5f zenon_H5e).
% 99.62/99.89  apply (zenon_L95_ zenon_TB_dj); trivial.
% 99.62/99.89  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H5f.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_Hcc.
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  (* end of lemma zenon_L129_ *)
% 99.62/99.89  assert (zenon_L130_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_H21b zenon_H1bc zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.62/99.89  elim (classic (gt zenon_TB_dj (succ (succ (n0))))); [ zenon_intro zenon_H21a | zenon_intro zenon_H217 ].
% 99.62/99.89  cut ((gt zenon_TB_dj (succ (succ (n0)))) = (gt zenon_TB_dj (n2))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H21b.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H21a.
% 99.62/99.89  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  exact (zenon_H90 successor_2).
% 99.62/99.89  apply (zenon_L129_ zenon_TB_dj); trivial.
% 99.62/99.89  (* end of lemma zenon_L130_ *)
% 99.62/99.89  assert (zenon_L131_ : forall (zenon_TB_dj : 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_TB_dj (n1))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_H14e zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.89  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.62/99.89  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.62/99.89  apply (zenon_L130_ zenon_TB_dj); trivial.
% 99.62/99.89  cut ((gt (n2) (n1)) = (gt zenon_TB_dj (n1))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H14e.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact gt_2_1.
% 99.62/99.89  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.89  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.62/99.89  congruence.
% 99.62/99.89  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.62/99.89  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.62/99.89  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H226.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_Hd2.
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  apply zenon_H227. zenon_intro zenon_H21f.
% 99.62/99.89  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.89  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.62/99.89  generalize (zenon_H229 (n1)). zenon_intro zenon_H22a.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H21b | zenon_intro zenon_H22b ].
% 99.62/99.89  exact (zenon_H21b zenon_H21f).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H8a | zenon_intro zenon_H17b ].
% 99.62/99.89  exact (zenon_H8a gt_2_1).
% 99.62/99.89  exact (zenon_H14e zenon_H17b).
% 99.62/99.89  apply zenon_H5c. apply refl_equal.
% 99.62/99.89  (* end of lemma zenon_L131_ *)
% 99.62/99.89  assert (zenon_L132_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H1bc zenon_H110 zenon_H67.
% 99.62/99.89  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.62/99.89  cut ((gt zenon_TB_dj (n1)) = (gt zenon_TB_dj (succ (n0)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H110.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H17b.
% 99.62/99.89  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  exact (zenon_H63 zenon_H121).
% 99.62/99.89  apply (zenon_L131_ zenon_TB_dj); trivial.
% 99.62/99.89  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.62/99.89  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H63.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H64.
% 99.62/99.89  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.62/99.89  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_H66 successor_1).
% 99.62/99.89  apply zenon_H65. apply refl_equal.
% 99.62/99.89  apply zenon_H65. apply refl_equal.
% 99.62/99.89  (* end of lemma zenon_L132_ *)
% 99.62/99.89  assert (zenon_L133_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_H111 zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H1bc.
% 99.62/99.89  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.62/99.89  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.89  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.89  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.62/99.89  exact (zenon_H81 zenon_H69).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.62/99.89  exact (zenon_H110 zenon_H112).
% 99.62/99.89  exact (zenon_H111 zenon_H115).
% 99.62/99.89  apply (zenon_L132_ zenon_TB_dj); trivial.
% 99.62/99.89  (* end of lemma zenon_L133_ *)
% 99.62/99.89  assert (zenon_L134_ : forall (zenon_TB_dj : 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_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_H1b2 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.62/99.89  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.62/99.89  elim (classic (gt (n1) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b1 ].
% 99.62/99.89  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.89  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.62/99.89  generalize (zenon_H1b4 (succ zenon_TB_dj)). zenon_intro zenon_H1b5.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H1b5); [ zenon_intro zenon_H181 | zenon_intro zenon_H1b6 ].
% 99.62/99.89  exact (zenon_H181 zenon_H17e).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H1b6); [ zenon_intro zenon_H1b1 | zenon_intro zenon_H1b7 ].
% 99.62/99.89  exact (zenon_H1b1 zenon_H1b3).
% 99.62/99.89  exact (zenon_H1b2 zenon_H1b7).
% 99.62/99.89  apply (zenon_L116_ zenon_TB_dj); trivial.
% 99.62/99.89  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H181.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_H115.
% 99.62/99.89  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.89  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H62. apply refl_equal.
% 99.62/99.89  exact (zenon_H66 successor_1).
% 99.62/99.89  apply (zenon_L133_ zenon_TB_dj); trivial.
% 99.62/99.89  (* end of lemma zenon_L134_ *)
% 99.62/99.89  assert (zenon_L135_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (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_TB_dj (n0))) -> False).
% 99.62/99.89  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H208 zenon_H67 zenon_Hd4.
% 99.62/99.89  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.62/99.89  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.62/99.89  apply (zenon_L126_ zenon_TB_dj); trivial.
% 99.62/99.89  cut ((gt (n2) (n0)) = (gt zenon_TB_dj (n0))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_Hd4.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact gt_2_0.
% 99.62/99.89  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.89  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.62/99.89  congruence.
% 99.62/99.89  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.62/99.89  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.62/99.89  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_H226.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_Hd2.
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.89  congruence.
% 99.62/99.89  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  apply zenon_H227. zenon_intro zenon_H21f.
% 99.62/99.89  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.62/99.89  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.62/99.89  generalize (zenon_H229 (n0)). zenon_intro zenon_H22c.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H22c); [ zenon_intro zenon_H21b | zenon_intro zenon_H22d ].
% 99.62/99.89  exact (zenon_H21b zenon_H21f).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H190 | zenon_intro zenon_He1 ].
% 99.62/99.89  exact (zenon_H190 gt_2_0).
% 99.62/99.89  exact (zenon_Hd4 zenon_He1).
% 99.62/99.89  apply zenon_H82. apply refl_equal.
% 99.62/99.89  (* end of lemma zenon_L135_ *)
% 99.62/99.89  assert (zenon_L136_ : forall (zenon_TB_dj : 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)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.89  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.62/99.89  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.62/99.89  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.89  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.89  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.62/99.89  exact (zenon_H81 zenon_H69).
% 99.62/99.89  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.62/99.89  exact (zenon_Hd9 zenon_Hd8).
% 99.62/99.89  exact (zenon_Hd6 zenon_Hde).
% 99.62/99.89  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.62/99.89  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.62/99.89  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_Hd9.
% 99.62/99.89  rewrite <- zenon_D_pnotp.
% 99.62/99.89  exact zenon_He1.
% 99.62/99.89  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.89  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.62/99.89  congruence.
% 99.62/99.89  apply zenon_H77. apply refl_equal.
% 99.62/99.89  exact (zenon_He0 zenon_Hdf).
% 99.62/99.89  apply (zenon_L135_ zenon_TB_dj); trivial.
% 99.62/99.89  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.89  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.89  intro zenon_D_pnotp.
% 99.62/99.89  apply zenon_He0.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_He2.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_He4 zenon_Hd7).
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L136_ *)
% 99.62/99.90  assert (zenon_L137_ : forall (zenon_TB_dj : 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)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.90  do 1 intro. intros zenon_H67 zenon_He5 zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.62/99.90  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.62/99.90  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))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_He5.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_He6.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.62/99.90  congruence.
% 99.62/99.90  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_He0.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_He2.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_He4 zenon_Hd7).
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.90  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.62/99.90  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_He7.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hde.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.90  congruence.
% 99.62/99.90  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.90  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_Hcd.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hd3.
% 99.62/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.90  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H5f zenon_H5e).
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply (zenon_L136_ zenon_TB_dj); trivial.
% 99.62/99.90  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H5f.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hcc.
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L137_ *)
% 99.62/99.90  assert (zenon_L138_ : forall (zenon_TB_dj : 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 (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> False).
% 99.62/99.90  do 1 intro. intros zenon_H67 zenon_H16b zenon_H19e zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H208.
% 99.62/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.62/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.62/99.90  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.62/99.90  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.90  generalize (zenon_H19f (n0)). zenon_intro zenon_H1a0.
% 99.62/99.90  generalize (zenon_H1a0 (succ (n0))). zenon_intro zenon_H1a1.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_Hea | zenon_intro zenon_H1a2 ].
% 99.62/99.90  exact (zenon_Hea zenon_He9).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H118 | zenon_intro zenon_H19d ].
% 99.62/99.90  exact (zenon_H118 zenon_H117).
% 99.62/99.90  exact (zenon_H19e zenon_H19d).
% 99.62/99.90  apply (zenon_L106_ zenon_TB_dj); trivial.
% 99.62/99.90  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))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_Hea.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Heb.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  congruence.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  exact (zenon_He4 zenon_Hd7).
% 99.62/99.90  apply (zenon_L137_ zenon_TB_dj); trivial.
% 99.62/99.90  (* end of lemma zenon_L138_ *)
% 99.62/99.90  assert (zenon_L139_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.90  do 1 intro. intros zenon_H67 zenon_H19c zenon_H16b zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.62/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H19d | zenon_intro zenon_H19e ].
% 99.62/99.90  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H19c.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_H19d.
% 99.62/99.90  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  congruence.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  exact (zenon_H66 successor_1).
% 99.62/99.90  apply (zenon_L138_ zenon_TB_dj); trivial.
% 99.62/99.90  (* end of lemma zenon_L139_ *)
% 99.62/99.90  assert (zenon_L140_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.90  do 1 intro. intros zenon_H16b zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7 zenon_H67 zenon_Hea.
% 99.62/99.90  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 99.62/99.90  apply (zenon_and_s _ _ zenon_H1a3). zenon_intro zenon_H1a5. zenon_intro zenon_H19c.
% 99.62/99.90  apply (zenon_L139_ zenon_TB_dj); trivial.
% 99.62/99.90  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_Hea.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact gt_1_0.
% 99.62/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.90  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 99.62/99.90  congruence.
% 99.62/99.90  apply (zenon_notand_s _ _ zenon_H1a4); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a7 ].
% 99.62/99.90  apply zenon_H1a8. zenon_intro zenon_H1a9.
% 99.62/99.90  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H1a6.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_He2.
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.62/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H1a5 zenon_H1a9).
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply zenon_He3. apply refl_equal.
% 99.62/99.90  apply zenon_H1a7. zenon_intro zenon_H1aa.
% 99.62/99.90  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.62/99.90  generalize (zenon_H19f (n1)). zenon_intro zenon_H1ab.
% 99.62/99.90  generalize (zenon_H1ab (n0)). zenon_intro zenon_H1ac.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H1ac); [ zenon_intro zenon_H19c | zenon_intro zenon_H1ad ].
% 99.62/99.90  exact (zenon_H19c zenon_H1aa).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H1ad); [ zenon_intro zenon_H142 | zenon_intro zenon_He9 ].
% 99.62/99.90  exact (zenon_H142 gt_1_0).
% 99.62/99.90  exact (zenon_Hea zenon_He9).
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L140_ *)
% 99.62/99.90  assert (zenon_L141_ : forall (zenon_TB_dj : 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))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.62/99.90  do 1 intro. intros zenon_H67 zenon_H181 zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.62/99.90  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H206 | zenon_intro zenon_H207 ].
% 99.62/99.90  apply (zenon_and_s _ _ zenon_H206). zenon_intro zenon_H209. zenon_intro zenon_H208.
% 99.62/99.90  elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H265 | zenon_intro zenon_H266 ].
% 99.62/99.90  apply (zenon_and_s _ _ zenon_H265). zenon_intro zenon_H267. zenon_intro zenon_H1b8.
% 99.62/99.90  elim (classic (zenon_TB_dj = (n2))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbf ].
% 99.62/99.90  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (tptp_minus_1)) (n2))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H1b8.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_H69.
% 99.62/99.90  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.90  congruence.
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  exact (zenon_Hbf zenon_Hc8).
% 99.62/99.90  elim (classic (gt zenon_TB_dj (n2))); [ zenon_intro zenon_H21f | zenon_intro zenon_H21b ].
% 99.62/99.90  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.90  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.62/99.90  generalize (zenon_Hdb (n2)). zenon_intro zenon_H220.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H220); [ zenon_intro zenon_H81 | zenon_intro zenon_H221 ].
% 99.62/99.90  exact (zenon_H81 zenon_H69).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H221); [ zenon_intro zenon_H21b | zenon_intro zenon_H1bb ].
% 99.62/99.90  exact (zenon_H21b zenon_H21f).
% 99.62/99.90  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.90  apply (zenon_L126_ zenon_TB_dj); trivial.
% 99.62/99.90  cut ((gt (n2) (n1)) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H181.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact gt_2_1.
% 99.62/99.90  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.90  cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H268].
% 99.62/99.90  congruence.
% 99.62/99.90  apply (zenon_notand_s _ _ zenon_H266); [ zenon_intro zenon_H26a | zenon_intro zenon_H269 ].
% 99.62/99.90  apply zenon_H26a. zenon_intro zenon_H26b.
% 99.62/99.90  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H268.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hcc.
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H267].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H267 zenon_H26b).
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H269. zenon_intro zenon_H1bb.
% 99.62/99.90  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.90  generalize (zenon_Hda (n2)). zenon_intro zenon_H26c.
% 99.62/99.90  generalize (zenon_H26c (n1)). zenon_intro zenon_H26d.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H26d); [ zenon_intro zenon_H1b8 | zenon_intro zenon_H26e ].
% 99.62/99.90  exact (zenon_H1b8 zenon_H1bb).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H26e); [ zenon_intro zenon_H8a | zenon_intro zenon_H17e ].
% 99.62/99.90  exact (zenon_H8a gt_2_1).
% 99.62/99.90  exact (zenon_H181 zenon_H17e).
% 99.62/99.90  apply zenon_H5c. apply refl_equal.
% 99.62/99.90  cut ((gt (n3) (n1)) = (gt (succ (tptp_minus_1)) (n1))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H181.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact gt_3_1.
% 99.62/99.90  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.90  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 99.62/99.90  congruence.
% 99.62/99.90  apply (zenon_notand_s _ _ zenon_H207); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 99.62/99.90  apply zenon_H20f. zenon_intro zenon_H210.
% 99.62/99.90  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H20d.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hcc.
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H209 zenon_H210).
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H20e. zenon_intro zenon_H20c.
% 99.62/99.90  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.62/99.90  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.62/99.90  generalize (zenon_H211 (n1)). zenon_intro zenon_H26f.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H26f); [ zenon_intro zenon_H208 | zenon_intro zenon_H270 ].
% 99.62/99.90  exact (zenon_H208 zenon_H20c).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H270); [ zenon_intro zenon_H17a | zenon_intro zenon_H17e ].
% 99.62/99.90  exact (zenon_H17a gt_3_1).
% 99.62/99.90  exact (zenon_H181 zenon_H17e).
% 99.62/99.90  apply zenon_H5c. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L141_ *)
% 99.62/99.90  assert (zenon_L142_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.62/99.90  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7 zenon_H139 zenon_H67.
% 99.62/99.90  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.62/99.90  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.62/99.90  cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (n0) (n1))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H139.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_H17e.
% 99.62/99.90  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.90  congruence.
% 99.62/99.90  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.90  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_Hcd.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hd3.
% 99.62/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.90  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H5f zenon_H5e).
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_H5c. apply refl_equal.
% 99.62/99.90  apply (zenon_L141_ zenon_TB_dj); trivial.
% 99.62/99.90  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H5f.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hcc.
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.62/99.90  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_Hcd succ_tptp_minus_1).
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  apply zenon_H62. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L142_ *)
% 99.62/99.90  assert (zenon_L143_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (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).
% 99.62/99.90  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H67 zenon_He8.
% 99.62/99.90  elim (classic ((~((n0) = (n1)))/\(~(gt (n0) (n1))))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 99.62/99.90  apply (zenon_and_s _ _ zenon_H271). zenon_intro zenon_H273. zenon_intro zenon_H139.
% 99.62/99.90  apply (zenon_L142_ zenon_TB_dj); trivial.
% 99.62/99.90  cut ((gt (n1) (n0)) = (gt (n0) (n0))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_He8.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact gt_1_0.
% 99.62/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.90  cut (((n1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H274].
% 99.62/99.90  congruence.
% 99.62/99.90  apply (zenon_notand_s _ _ zenon_H272); [ zenon_intro zenon_H276 | zenon_intro zenon_H275 ].
% 99.62/99.90  apply zenon_H276. zenon_intro zenon_H277.
% 99.62/99.90  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.62/99.90  cut (((n0) = (n0)) = ((n1) = (n0))).
% 99.62/99.90  intro zenon_D_pnotp.
% 99.62/99.90  apply zenon_H274.
% 99.62/99.90  rewrite <- zenon_D_pnotp.
% 99.62/99.90  exact zenon_Hd3.
% 99.62/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.62/99.90  cut (((n0) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H273].
% 99.62/99.90  congruence.
% 99.62/99.90  exact (zenon_H273 zenon_H277).
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  apply zenon_H275. zenon_intro zenon_H13d.
% 99.62/99.90  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.62/99.90  generalize (zenon_H11c (n1)). zenon_intro zenon_H278.
% 99.62/99.90  generalize (zenon_H278 (n0)). zenon_intro zenon_H279.
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H279); [ zenon_intro zenon_H139 | zenon_intro zenon_H27a ].
% 99.62/99.90  exact (zenon_H139 zenon_H13d).
% 99.62/99.90  apply (zenon_imply_s _ _ zenon_H27a); [ zenon_intro zenon_H142 | zenon_intro zenon_H1b0 ].
% 99.62/99.90  exact (zenon_H142 gt_1_0).
% 99.62/99.90  exact (zenon_He8 zenon_H1b0).
% 99.62/99.90  apply zenon_H82. apply refl_equal.
% 99.62/99.90  (* end of lemma zenon_L143_ *)
% 99.62/99.90  assert (zenon_L144_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n1) (n3))) -> (~(gt (succ (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).
% 99.72/99.90  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H16b zenon_H208 zenon_H67 zenon_Hd7.
% 99.72/99.90  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.90  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.90  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TB_dj))); [ zenon_intro zenon_H1bd | zenon_intro zenon_H1be ].
% 99.72/99.90  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.90  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.90  generalize (zenon_H1bf (succ zenon_TB_dj)). zenon_intro zenon_H1c0.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H1c0); [ zenon_intro zenon_He7 | zenon_intro zenon_H1c1 ].
% 99.72/99.90  exact (zenon_He7 zenon_He6).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H1c1); [ zenon_intro zenon_H1be | zenon_intro zenon_H1c2 ].
% 99.72/99.90  exact (zenon_H1be zenon_H1bd).
% 99.72/99.90  exact (zenon_H1bc zenon_H1c2).
% 99.72/99.90  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.90  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 99.72/99.90  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b2 ].
% 99.72/99.90  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.90  generalize (zenon_H19f (succ (tptp_minus_1))). zenon_intro zenon_H1c5.
% 99.72/99.90  generalize (zenon_H1c5 (succ zenon_TB_dj)). zenon_intro zenon_H1c6.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H1c6); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H1c7 ].
% 99.72/99.90  exact (zenon_H1c4 zenon_H1c3).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H1c7); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H1bd ].
% 99.72/99.90  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.90  exact (zenon_H1be zenon_H1bd).
% 99.72/99.90  apply (zenon_L134_ zenon_TB_dj); trivial.
% 99.72/99.90  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H1c4.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_He9.
% 99.72/99.90  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_He3. apply refl_equal.
% 99.72/99.90  exact (zenon_H5f zenon_H5e).
% 99.72/99.90  apply (zenon_L140_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H5f.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_Hcc.
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.90  apply zenon_H62. apply refl_equal.
% 99.72/99.90  apply zenon_H62. apply refl_equal.
% 99.72/99.90  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_He7.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1b0.
% 99.72/99.90  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.90  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H82. apply refl_equal.
% 99.72/99.90  exact (zenon_He0 zenon_Hdf).
% 99.72/99.90  apply (zenon_L143_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_He0.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_He2.
% 99.72/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.90  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_He4 zenon_Hd7).
% 99.72/99.90  apply zenon_He3. apply refl_equal.
% 99.72/99.90  apply zenon_He3. apply refl_equal.
% 99.72/99.90  (* end of lemma zenon_L144_ *)
% 99.72/99.90  assert (zenon_L145_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (n3))) -> (~(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).
% 99.72/99.90  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H16b zenon_H200 zenon_H67.
% 99.72/99.90  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.90  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H208 ].
% 99.72/99.90  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H200.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H20c.
% 99.72/99.90  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H62. apply refl_equal.
% 99.72/99.90  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.90  apply (zenon_L144_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_Ha7.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1f0.
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H1f2 successor_3).
% 99.72/99.90  apply zenon_H1f1. apply refl_equal.
% 99.72/99.90  apply zenon_H1f1. apply refl_equal.
% 99.72/99.90  (* end of lemma zenon_L145_ *)
% 99.72/99.90  assert (zenon_L146_ : (~(gt (n2) (succ (n0)))) -> False).
% 99.72/99.90  do 0 intro. intros zenon_H27b.
% 99.72/99.90  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.90  cut ((gt (n2) (n1)) = (gt (n2) (succ (n0)))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H27b.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact gt_2_1.
% 99.72/99.90  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.90  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H84. apply refl_equal.
% 99.72/99.90  exact (zenon_H63 zenon_H121).
% 99.72/99.90  apply zenon_H63. apply sym_equal. exact successor_1.
% 99.72/99.90  (* end of lemma zenon_L146_ *)
% 99.72/99.90  assert (zenon_L147_ : (~(gt (succ (succ (n0))) (succ (n0)))) -> False).
% 99.72/99.90  do 0 intro. intros zenon_H1d0.
% 99.72/99.90  elim (classic (gt (n2) (succ (n0)))); [ zenon_intro zenon_H27c | zenon_intro zenon_H27b ].
% 99.72/99.90  cut ((gt (n2) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H1d0.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H27c.
% 99.72/99.90  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.90  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.90  congruence.
% 99.72/99.90  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H8d.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H8e.
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.90  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H90 successor_2).
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  apply zenon_H65. apply refl_equal.
% 99.72/99.90  apply (zenon_L146_); trivial.
% 99.72/99.90  (* end of lemma zenon_L147_ *)
% 99.72/99.90  assert (zenon_L148_ : forall (zenon_TB_dj : 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)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (succ (n0))) (n3))) -> False).
% 99.72/99.90  do 1 intro. intros zenon_H67 zenon_H200 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H235.
% 99.72/99.90  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.72/99.90  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.72/99.90  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.90  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.90  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.72/99.90  generalize (zenon_H1e1 (n3)). zenon_intro zenon_H27d.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H27d); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H27e ].
% 99.72/99.90  exact (zenon_H1e0 zenon_H1df).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H27e); [ zenon_intro zenon_H16b | zenon_intro zenon_H243 ].
% 99.72/99.90  exact (zenon_H16b zenon_H16f).
% 99.72/99.90  exact (zenon_H235 zenon_H243).
% 99.72/99.90  apply (zenon_L145_ zenon_TB_dj); trivial.
% 99.72/99.90  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H1e0.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1dd.
% 99.72/99.90  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  exact (zenon_H66 successor_1).
% 99.72/99.90  apply (zenon_L147_); trivial.
% 99.72/99.90  (* end of lemma zenon_L148_ *)
% 99.72/99.90  assert (zenon_L149_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.90  do 1 intro. intros zenon_H200 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H1f3 zenon_H67.
% 99.72/99.90  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.90  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.90  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H1f3.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H243.
% 99.72/99.90  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.90  apply (zenon_L148_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_Ha7.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1f0.
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H1f2 successor_3).
% 99.72/99.90  apply zenon_H1f1. apply refl_equal.
% 99.72/99.90  apply zenon_H1f1. apply refl_equal.
% 99.72/99.90  (* end of lemma zenon_L149_ *)
% 99.72/99.90  assert (zenon_L150_ : forall (zenon_TB_dj : 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)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.90  do 1 intro. intros zenon_H67 zenon_H27f zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.90  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.90  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.90  apply (zenon_L4_); trivial.
% 99.72/99.90  elim (classic (zenon_TB_dj = (n2))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbf ].
% 99.72/99.90  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n0)) (n2))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H27f.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H69.
% 99.72/99.90  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.90  congruence.
% 99.72/99.90  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.90  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.90  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.90  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H78.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H64.
% 99.72/99.90  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.90  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H76 zenon_H7b).
% 99.72/99.90  apply zenon_H65. apply refl_equal.
% 99.72/99.90  apply zenon_H65. apply refl_equal.
% 99.72/99.90  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.90  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.90  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.90  generalize (zenon_H7e zenon_TB_dj). zenon_intro zenon_H7f.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H7f); [ zenon_intro zenon_H60 | zenon_intro zenon_H80 ].
% 99.72/99.90  exact (zenon_H60 zenon_H7c).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H81 | zenon_intro zenon_H71 ].
% 99.72/99.90  exact (zenon_H81 zenon_H69).
% 99.72/99.90  cut ((gt (succ (n0)) zenon_TB_dj) = (gt (succ (n0)) (n2))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H27f.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H71.
% 99.72/99.90  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.90  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H65. apply refl_equal.
% 99.72/99.90  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.90  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.90  elim (classic (gt zenon_TB_dj (n2))); [ zenon_intro zenon_H21f | zenon_intro zenon_H21b ].
% 99.72/99.90  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.90  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.90  generalize (zenon_Hdb (n2)). zenon_intro zenon_H220.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H220); [ zenon_intro zenon_H81 | zenon_intro zenon_H221 ].
% 99.72/99.90  exact (zenon_H81 zenon_H69).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H221); [ zenon_intro zenon_H21b | zenon_intro zenon_H1bb ].
% 99.72/99.90  exact (zenon_H21b zenon_H21f).
% 99.72/99.90  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H27f.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1bb.
% 99.72/99.90  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.90  congruence.
% 99.72/99.90  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.90  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.90  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.90  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.90  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.90  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.90  generalize (zenon_H7e (n2)). zenon_intro zenon_H280.
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H60 | zenon_intro zenon_H281 ].
% 99.72/99.90  exact (zenon_H60 zenon_H7c).
% 99.72/99.90  apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H1b8 | zenon_intro zenon_H282 ].
% 99.72/99.90  exact (zenon_H1b8 zenon_H1bb).
% 99.72/99.90  exact (zenon_H27f zenon_H282).
% 99.72/99.90  apply zenon_H84. apply refl_equal.
% 99.72/99.90  apply (zenon_L126_ zenon_TB_dj); trivial.
% 99.72/99.90  (* end of lemma zenon_L150_ *)
% 99.72/99.90  assert (zenon_L151_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (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).
% 99.72/99.90  do 1 intro. intros zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7 zenon_H252 zenon_H67.
% 99.72/99.90  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.90  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H282 | zenon_intro zenon_H27f ].
% 99.72/99.90  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H252.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H282.
% 99.72/99.90  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.90  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H65. apply refl_equal.
% 99.72/99.90  exact (zenon_H8d zenon_H1c9).
% 99.72/99.90  apply (zenon_L150_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H8d.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H8e.
% 99.72/99.90  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.90  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H90 successor_2).
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  apply zenon_H8f. apply refl_equal.
% 99.72/99.90  (* end of lemma zenon_L151_ *)
% 99.72/99.90  assert (zenon_L152_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (n0)) (succ (succ (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).
% 99.72/99.90  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H252 zenon_H200 zenon_H67.
% 99.72/99.90  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.90  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H208 ].
% 99.72/99.90  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_H200.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H20c.
% 99.72/99.90  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.90  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.90  congruence.
% 99.72/99.90  apply zenon_H62. apply refl_equal.
% 99.72/99.90  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.90  apply (zenon_L151_ zenon_TB_dj); trivial.
% 99.72/99.90  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.90  intro zenon_D_pnotp.
% 99.72/99.90  apply zenon_Ha7.
% 99.72/99.90  rewrite <- zenon_D_pnotp.
% 99.72/99.90  exact zenon_H1f0.
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.90  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.90  congruence.
% 99.72/99.90  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L152_ *)
% 99.72/99.91  assert (zenon_L153_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (succ (succ (succ (n0)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.91  do 1 intro. intros zenon_H283 zenon_H252 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7 zenon_H67.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.91  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H61 | zenon_intro zenon_H5d ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.91  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.91  generalize (zenon_H13e (succ (tptp_minus_1))). zenon_intro zenon_H1cc.
% 99.72/99.91  generalize (zenon_H1cc (succ (succ (succ (n0))))). zenon_intro zenon_H284.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H284); [ zenon_intro zenon_H5d | zenon_intro zenon_H285 ].
% 99.72/99.91  exact (zenon_H5d zenon_H61).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H200 | zenon_intro zenon_H286 ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H283 zenon_H286).
% 99.72/99.91  apply (zenon_L152_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact gt_1_0.
% 99.72/99.91  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.91  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  exact (zenon_H5f zenon_H5e).
% 99.72/99.91  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hcc.
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L153_ *)
% 99.72/99.91  assert (zenon_L154_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (succ (succ (succ (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H283 zenon_H200 zenon_H67.
% 99.72/99.91  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.91  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.91  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.91  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.91  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.91  generalize (zenon_H253 (succ (succ (succ (n0))))). zenon_intro zenon_H287.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H145 | zenon_intro zenon_H288 ].
% 99.72/99.91  exact (zenon_H145 zenon_H144).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H257 | zenon_intro zenon_H286 ].
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  exact (zenon_H283 zenon_H286).
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H282 | zenon_intro zenon_H27f ].
% 99.72/99.91  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f4 | zenon_intro zenon_H1ee ].
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (n2)). zenon_intro zenon_H289.
% 99.72/99.91  generalize (zenon_H289 (succ (succ (succ (n0))))). zenon_intro zenon_H28a.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28a); [ zenon_intro zenon_H27f | zenon_intro zenon_H28b ].
% 99.72/99.91  exact (zenon_H27f zenon_H282).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28b); [ zenon_intro zenon_H1ee | zenon_intro zenon_H256 ].
% 99.72/99.91  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.91  elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H1e6 ].
% 99.72/99.91  elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H28c | zenon_intro zenon_H28d ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.91  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.91  generalize (zenon_H86 (succ (succ (n0)))). zenon_intro zenon_H28e.
% 99.72/99.91  generalize (zenon_H28e (succ (succ (succ (n0))))). zenon_intro zenon_H28f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28f); [ zenon_intro zenon_H28d | zenon_intro zenon_H290 ].
% 99.72/99.91  exact (zenon_H28d zenon_H28c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H290); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f4 ].
% 99.72/99.91  exact (zenon_H1f3 zenon_H201).
% 99.72/99.91  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.91  apply (zenon_L149_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H28d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1ff.
% 99.72/99.91  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.91  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H84. apply refl_equal.
% 99.72/99.91  exact (zenon_H8d zenon_H1c9).
% 99.72/99.91  apply (zenon_L102_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H8d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H8e.
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H90 successor_2).
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H27f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H251.
% 99.72/99.91  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  exact (zenon_H90 successor_2).
% 99.72/99.91  apply (zenon_L153_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H145.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H143.
% 99.72/99.91  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.91  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  exact (zenon_H63 zenon_H121).
% 99.72/99.91  apply (zenon_L115_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H63.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L154_ *)
% 99.72/99.91  assert (zenon_L155_ : forall (zenon_TB_dj : 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)))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (succ (n0))) (n3))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H111 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H235.
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.72/99.91  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.91  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.91  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.72/99.91  generalize (zenon_H1e1 (n3)). zenon_intro zenon_H27d.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H27d); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H27e ].
% 99.72/99.91  exact (zenon_H1e0 zenon_H1df).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H27e); [ zenon_intro zenon_H16b | zenon_intro zenon_H243 ].
% 99.72/99.91  exact (zenon_H16b zenon_H16f).
% 99.72/99.91  exact (zenon_H235 zenon_H243).
% 99.72/99.91  apply (zenon_L105_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1e0.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1dd.
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply (zenon_L147_); trivial.
% 99.72/99.91  (* end of lemma zenon_L155_ *)
% 99.72/99.91  assert (zenon_L156_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.91  do 1 intro. intros zenon_H111 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H1f3 zenon_H67.
% 99.72/99.91  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.91  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1f3.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H243.
% 99.72/99.91  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.91  apply (zenon_L155_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Ha7.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1f0.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L156_ *)
% 99.72/99.91  assert (zenon_L157_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> (~(gt (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H1bc zenon_H21b zenon_H291 zenon_H67.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.91  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18f | zenon_intro zenon_H18c ].
% 99.72/99.91  elim (classic (gt (tptp_minus_1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H292 | zenon_intro zenon_H293 ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.91  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.72/99.91  generalize (zenon_H166 (succ (tptp_minus_1))). zenon_intro zenon_H294.
% 99.72/99.91  generalize (zenon_H294 (succ (succ (succ (n0))))). zenon_intro zenon_H295.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H295); [ zenon_intro zenon_H293 | zenon_intro zenon_H296 ].
% 99.72/99.91  exact (zenon_H293 zenon_H292).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H296); [ zenon_intro zenon_H200 | zenon_intro zenon_H297 ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H291 zenon_H297).
% 99.72/99.91  apply (zenon_L127_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H293.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H18f.
% 99.72/99.91  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.91  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_Hec. apply refl_equal.
% 99.72/99.91  exact (zenon_H5f zenon_H5e).
% 99.72/99.91  elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H182 | zenon_intro zenon_H183 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H182). zenon_intro zenon_Hf0. zenon_intro zenon_H184.
% 99.72/99.91  apply (zenon_L97_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H18c.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact gt_3_0.
% 99.72/99.91  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.91  cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H185].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H183); [ zenon_intro zenon_H187 | zenon_intro zenon_H186 ].
% 99.72/99.91  apply zenon_H187. zenon_intro zenon_H10e.
% 99.72/99.91  elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H11a | zenon_intro zenon_Hec ].
% 99.72/99.91  cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H185.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H11a.
% 99.72/99.91  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.72/99.91  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hf0 zenon_H10e).
% 99.72/99.91  apply zenon_Hec. apply refl_equal.
% 99.72/99.91  apply zenon_Hec. apply refl_equal.
% 99.72/99.91  apply zenon_H186. zenon_intro zenon_H188.
% 99.72/99.91  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.72/99.91  generalize (zenon_H166 (n3)). zenon_intro zenon_H189.
% 99.72/99.91  generalize (zenon_H189 (n0)). zenon_intro zenon_H191.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H191); [ zenon_intro zenon_H184 | zenon_intro zenon_H192 ].
% 99.72/99.91  exact (zenon_H184 zenon_H188).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H192); [ zenon_intro zenon_H193 | zenon_intro zenon_H18f ].
% 99.72/99.91  exact (zenon_H193 gt_3_0).
% 99.72/99.91  exact (zenon_H18c zenon_H18f).
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hcc.
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L157_ *)
% 99.72/99.91  assert (zenon_L158_ : forall (zenon_TB_dj : 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 (tptp_minus_1) (succ (succ (succ (n0)))))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H27f zenon_H291 zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H1bc.
% 99.72/99.91  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.91  apply (zenon_L4_); trivial.
% 99.72/99.91  elim (classic (zenon_TB_dj = (n2))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbf ].
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (n0)) (n2))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H27f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H69.
% 99.72/99.91  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.91  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H78.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H76].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H76 zenon_H7b).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.91  generalize (zenon_H7e zenon_TB_dj). zenon_intro zenon_H7f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H7f); [ zenon_intro zenon_H60 | zenon_intro zenon_H80 ].
% 99.72/99.91  exact (zenon_H60 zenon_H7c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H81 | zenon_intro zenon_H71 ].
% 99.72/99.91  exact (zenon_H81 zenon_H69).
% 99.72/99.91  cut ((gt (succ (n0)) zenon_TB_dj) = (gt (succ (n0)) (n2))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H27f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H71.
% 99.72/99.91  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.91  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.91  elim (classic (gt zenon_TB_dj (n2))); [ zenon_intro zenon_H21f | zenon_intro zenon_H21b ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.91  generalize (zenon_Hdb (n2)). zenon_intro zenon_H220.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H220); [ zenon_intro zenon_H81 | zenon_intro zenon_H221 ].
% 99.72/99.91  exact (zenon_H81 zenon_H69).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H221); [ zenon_intro zenon_H21b | zenon_intro zenon_H1bb ].
% 99.72/99.91  exact (zenon_H21b zenon_H21f).
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H27f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1bb.
% 99.72/99.91  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.91  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.91  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.91  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.91  generalize (zenon_H7e (n2)). zenon_intro zenon_H280.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H60 | zenon_intro zenon_H281 ].
% 99.72/99.91  exact (zenon_H60 zenon_H7c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H1b8 | zenon_intro zenon_H282 ].
% 99.72/99.91  exact (zenon_H1b8 zenon_H1bb).
% 99.72/99.91  exact (zenon_H27f zenon_H282).
% 99.72/99.91  apply zenon_H84. apply refl_equal.
% 99.72/99.91  apply (zenon_L157_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L158_ *)
% 99.72/99.91  assert (zenon_L159_ : forall (zenon_TB_dj : zenon_U), (~(gt (tptp_minus_1) (succ (succ (succ (n0)))))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (n0)) (succ (succ (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).
% 99.72/99.91  do 1 intro. intros zenon_H291 zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H1bc zenon_H257 zenon_H111 zenon_H67.
% 99.72/99.91  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H282 | zenon_intro zenon_H27f ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (succ (succ (n0)))). zenon_intro zenon_H298.
% 99.72/99.91  generalize (zenon_H298 (succ (succ (succ (n0))))). zenon_intro zenon_H299.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H299); [ zenon_intro zenon_H252 | zenon_intro zenon_H29a ].
% 99.72/99.91  exact (zenon_H252 zenon_H251).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H29a); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H256 ].
% 99.72/99.91  exact (zenon_H1f3 zenon_H201).
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  apply (zenon_L156_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H252.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H282.
% 99.72/99.91  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  exact (zenon_H8d zenon_H1c9).
% 99.72/99.91  apply (zenon_L158_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H8d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H8e.
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H90 successor_2).
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L159_ *)
% 99.72/99.91  assert (zenon_L160_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (succ (succ (succ (n0)))))) -> (~(gt (tptp_minus_1) (succ (succ (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H283 zenon_H291 zenon_H111 zenon_H67.
% 99.72/99.91  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.91  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.91  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.91  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.91  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.91  generalize (zenon_H253 (succ (succ (succ (n0))))). zenon_intro zenon_H287.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H287); [ zenon_intro zenon_H145 | zenon_intro zenon_H288 ].
% 99.72/99.91  exact (zenon_H145 zenon_H144).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H288); [ zenon_intro zenon_H257 | zenon_intro zenon_H286 ].
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  exact (zenon_H283 zenon_H286).
% 99.72/99.91  apply (zenon_L159_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H145.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H143.
% 99.72/99.91  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.91  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  exact (zenon_H63 zenon_H121).
% 99.72/99.91  apply (zenon_L115_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H63.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L160_ *)
% 99.72/99.91  assert (zenon_L161_ : forall (zenon_TB_dj : 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 (succ (n0)) (succ (succ (n0))))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H257 zenon_H252 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.72/99.91  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.91  apply (zenon_L4_); trivial.
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.91  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.91  exact (zenon_H81 zenon_H69).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H257.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H205.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.91  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.91  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.91  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.91  generalize (zenon_H7e (succ (succ (succ (n0))))). zenon_intro zenon_H261.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H60 | zenon_intro zenon_H262 ].
% 99.72/99.91  exact (zenon_H60 zenon_H7c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H200 | zenon_intro zenon_H256 ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.91  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.91  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.91  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.91  exact (zenon_Hce zenon_Hd5).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  apply (zenon_L152_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Hce.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He1.
% 99.72/99.91  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  exact (zenon_H5f zenon_H5e).
% 99.72/99.91  apply (zenon_L107_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hcc.
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L161_ *)
% 99.72/99.91  assert (zenon_L162_ : forall (zenon_TB_dj : 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 (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H252 zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.72/99.91  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H1e9 ].
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (n3)). zenon_intro zenon_H25a.
% 99.72/99.91  generalize (zenon_H25a (succ (succ (n0)))). zenon_intro zenon_H25b.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H25b); [ zenon_intro zenon_H259 | zenon_intro zenon_H25c ].
% 99.72/99.91  exact (zenon_H259 zenon_H258).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H25c); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H251 ].
% 99.72/99.91  exact (zenon_H1e9 zenon_H214).
% 99.72/99.91  exact (zenon_H252 zenon_H251).
% 99.72/99.91  apply (zenon_L87_); trivial.
% 99.72/99.91  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H259.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H256.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply (zenon_L161_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L162_ *)
% 99.72/99.91  assert (zenon_L163_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b zenon_H1ca zenon_H67.
% 99.72/99.91  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.72/99.91  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (n1) (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1ca.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H251.
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.72/99.91  cut (((n1) = (n1)) = ((succ (n0)) = (n1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H66.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H124.
% 99.72/99.91  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.91  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H63 zenon_H121).
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  apply (zenon_L162_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H63.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L163_ *)
% 99.72/99.91  assert (zenon_L164_ : forall (zenon_TB_dj : 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))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (n3))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H1c8 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b.
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.72/99.91  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.72/99.91  generalize (zenon_H1b4 (succ (succ (n0)))). zenon_intro zenon_H24f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H24f); [ zenon_intro zenon_H181 | zenon_intro zenon_H250 ].
% 99.72/99.91  exact (zenon_H181 zenon_H17e).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H250); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1cb ].
% 99.72/99.91  exact (zenon_H1ca zenon_H1cf).
% 99.72/99.91  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.91  apply (zenon_L163_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H181.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H115.
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply (zenon_L105_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L164_ *)
% 99.72/99.91  assert (zenon_L165_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n1) (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H208 zenon_H16b zenon_H29b zenon_H67.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.91  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.91  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.91  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.91  generalize (zenon_H19f (succ (tptp_minus_1))). zenon_intro zenon_H1c5.
% 99.72/99.91  generalize (zenon_H1c5 (succ (succ (n0)))). zenon_intro zenon_H29c.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H29c); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H29d ].
% 99.72/99.91  exact (zenon_H1c4 zenon_H1c3).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H29d); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H29e ].
% 99.72/99.91  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.91  exact (zenon_H29b zenon_H29e).
% 99.72/99.91  apply (zenon_L164_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1c4.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He9.
% 99.72/99.91  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_He3. apply refl_equal.
% 99.72/99.91  exact (zenon_H5f zenon_H5e).
% 99.72/99.91  apply (zenon_L140_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hcc.
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L165_ *)
% 99.72/99.91  assert (zenon_L166_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(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))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H208 zenon_H16b zenon_H67 zenon_He8 zenon_Hd7.
% 99.72/99.91  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.91  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.91  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_He8.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He9.
% 99.72/99.91  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.91  congruence.
% 99.72/99.91  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.91  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_He4.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hd3.
% 99.72/99.91  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.91  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_He0 zenon_Hdf).
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  apply (zenon_L140_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_He0.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He2.
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_He4 zenon_Hd7).
% 99.72/99.91  apply zenon_He3. apply refl_equal.
% 99.72/99.91  apply zenon_He3. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L166_ *)
% 99.72/99.91  assert (zenon_L167_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.91  do 1 intro. intros zenon_H16b zenon_H208 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H29f zenon_H67 zenon_Hd7.
% 99.72/99.91  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.91  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.91  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.91  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H29e | zenon_intro zenon_H29b ].
% 99.72/99.91  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.91  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.91  generalize (zenon_H1bf (succ (succ (n0)))). zenon_intro zenon_H2a0.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a0); [ zenon_intro zenon_He7 | zenon_intro zenon_H2a1 ].
% 99.72/99.91  exact (zenon_He7 zenon_He6).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a1); [ zenon_intro zenon_H29b | zenon_intro zenon_H2a2 ].
% 99.72/99.91  exact (zenon_H29b zenon_H29e).
% 99.72/99.91  exact (zenon_H29f zenon_H2a2).
% 99.72/99.91  apply (zenon_L165_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_He7.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1b0.
% 99.72/99.91  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.91  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  exact (zenon_He0 zenon_Hdf).
% 99.72/99.91  apply (zenon_L166_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_He0.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He2.
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.91  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_He4 zenon_Hd7).
% 99.72/99.91  apply zenon_He3. apply refl_equal.
% 99.72/99.91  apply zenon_He3. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L167_ *)
% 99.72/99.91  assert (zenon_L168_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ (succ (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).
% 99.72/99.91  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H16b zenon_H29f zenon_H200 zenon_H67.
% 99.72/99.91  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H208 ].
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H200.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H20c.
% 99.72/99.91  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.91  apply (zenon_L167_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Ha7.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1f0.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L168_ *)
% 99.72/99.91  assert (zenon_L169_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ (succ (succ (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)))))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H25e zenon_H29f zenon_H67.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.91  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.91  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.91  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.91  exact (zenon_Hce zenon_Hd5).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  apply (zenon_L168_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Hce.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_He1.
% 99.72/99.91  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  exact (zenon_H5f zenon_H5e).
% 99.72/99.91  apply (zenon_L107_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H5f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hcc.
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L169_ *)
% 99.72/99.91  assert (zenon_L170_ : forall (zenon_TB_dj : 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 (n0) (succ (succ (n0))))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H1f3 zenon_H29f zenon_H16b zenon_H1bc zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7.
% 99.72/99.91  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H1d1). zenon_intro zenon_H1d3. zenon_intro zenon_H8c.
% 99.72/99.91  apply (zenon_L10_); trivial.
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.91  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.91  exact (zenon_H81 zenon_H69).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1f3.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H205.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.72/99.91  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.72/99.91  apply zenon_H1d4. apply sym_equal. exact zenon_H1d7.
% 99.72/99.91  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.72/99.91  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.91  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.72/99.91  generalize (zenon_H1da (succ (succ (succ (n0))))). zenon_intro zenon_H2a3.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a3); [ zenon_intro zenon_H8c | zenon_intro zenon_H2a4 ].
% 99.72/99.91  exact (zenon_H8c zenon_H1d8).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a4); [ zenon_intro zenon_H200 | zenon_intro zenon_H201 ].
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  exact (zenon_H1f3 zenon_H201).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply (zenon_L169_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L170_ *)
% 99.72/99.91  assert (zenon_L171_ : forall (zenon_TB_dj : 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)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H235 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H16b zenon_H29f.
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.91  cut ((gt (succ (succ (n0))) (succ (succ (succ (n0))))) = (gt (succ (succ (n0))) (n3))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H235.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H201.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply (zenon_L170_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L171_ *)
% 99.72/99.91  assert (zenon_L172_ : forall (zenon_TB_dj : 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)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n0) (succ (succ (n0))))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H235 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H29f.
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.72/99.91  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.91  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.91  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.72/99.91  generalize (zenon_H1e1 (n3)). zenon_intro zenon_H27d.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H27d); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H27e ].
% 99.72/99.91  exact (zenon_H1e0 zenon_H1df).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H27e); [ zenon_intro zenon_H16b | zenon_intro zenon_H243 ].
% 99.72/99.91  exact (zenon_H16b zenon_H16f).
% 99.72/99.91  exact (zenon_H235 zenon_H243).
% 99.72/99.91  apply (zenon_L171_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1e0.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1dd.
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply (zenon_L147_); trivial.
% 99.72/99.91  (* end of lemma zenon_L172_ *)
% 99.72/99.91  assert (zenon_L173_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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)))))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H1f3 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc zenon_H29f zenon_H67.
% 99.72/99.91  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.91  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H1f3.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H243.
% 99.72/99.91  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.91  apply (zenon_L172_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Ha7.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1f0.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L173_ *)
% 99.72/99.91  assert (zenon_L174_ : forall (zenon_TB_dj : 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))))) -> (~(gt (succ (n0)) (succ (succ (succ (n0)))))) -> (~(gt (n1) (succ (succ (succ (n0)))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H29f zenon_H257 zenon_H283 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H282 | zenon_intro zenon_H27f ].
% 99.72/99.91  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f4 | zenon_intro zenon_H1ee ].
% 99.72/99.91  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.91  generalize (zenon_H7d (n2)). zenon_intro zenon_H289.
% 99.72/99.91  generalize (zenon_H289 (succ (succ (succ (n0))))). zenon_intro zenon_H28a.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28a); [ zenon_intro zenon_H27f | zenon_intro zenon_H28b ].
% 99.72/99.91  exact (zenon_H27f zenon_H282).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28b); [ zenon_intro zenon_H1ee | zenon_intro zenon_H256 ].
% 99.72/99.91  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.91  elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H1e6 ].
% 99.72/99.91  elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H28c | zenon_intro zenon_H28d ].
% 99.72/99.91  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.91  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.91  generalize (zenon_H86 (succ (succ (n0)))). zenon_intro zenon_H28e.
% 99.72/99.91  generalize (zenon_H28e (succ (succ (succ (n0))))). zenon_intro zenon_H28f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H28f); [ zenon_intro zenon_H28d | zenon_intro zenon_H290 ].
% 99.72/99.91  exact (zenon_H28d zenon_H28c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H290); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f4 ].
% 99.72/99.91  exact (zenon_H1f3 zenon_H201).
% 99.72/99.91  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.91  apply (zenon_L173_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H28d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H1ff.
% 99.72/99.91  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.91  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H84. apply refl_equal.
% 99.72/99.91  exact (zenon_H8d zenon_H1c9).
% 99.72/99.91  apply (zenon_L102_ zenon_TB_dj); trivial.
% 99.72/99.91  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H8d.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H8e.
% 99.72/99.91  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.91  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H90 successor_2).
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  apply zenon_H8f. apply refl_equal.
% 99.72/99.91  cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H27f.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H251.
% 99.72/99.91  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  exact (zenon_H90 successor_2).
% 99.72/99.91  apply (zenon_L153_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L174_ *)
% 99.72/99.91  assert (zenon_L175_ : forall (zenon_TB_dj : 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 (n0) (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H257 zenon_H29f zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc.
% 99.72/99.91  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H286 | zenon_intro zenon_H283 ].
% 99.72/99.91  cut ((gt (n1) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H257.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H286.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.91  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.91  congruence.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H63.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H1f1. apply refl_equal.
% 99.72/99.91  apply (zenon_L174_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L175_ *)
% 99.72/99.91  assert (zenon_L176_ : forall (zenon_TB_dj : 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)))))) -> (~(gt (n0) (succ (succ (n0))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H200 zenon_H29f zenon_H1c8 zenon_H1bc zenon_H217 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0.
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.91  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.91  exact (zenon_H81 zenon_H69).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  exact (zenon_H200 zenon_H205).
% 99.72/99.91  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.72/99.91  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.72/99.91  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.91  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.91  generalize (zenon_H14a (succ (n0))). zenon_intro zenon_H2a5.
% 99.72/99.91  generalize (zenon_H2a5 (succ (succ (succ (n0))))). zenon_intro zenon_H2a6.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a6); [ zenon_intro zenon_H110 | zenon_intro zenon_H2a7 ].
% 99.72/99.91  exact (zenon_H110 zenon_H112).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H2a7); [ zenon_intro zenon_H257 | zenon_intro zenon_H25d ].
% 99.72/99.91  exact (zenon_H257 zenon_H256).
% 99.72/99.91  exact (zenon_H25e zenon_H25d).
% 99.72/99.91  apply (zenon_L175_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt zenon_TB_dj (n1)) = (gt zenon_TB_dj (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H110.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H17b.
% 99.72/99.91  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  exact (zenon_H63 zenon_H121).
% 99.72/99.91  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.72/99.91  apply (zenon_L128_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n2) (n1)) = (gt zenon_TB_dj (n1))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H14e.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact gt_2_1.
% 99.72/99.91  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.91  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.72/99.91  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.72/99.91  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H226.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hd2.
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.91  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  apply zenon_H227. zenon_intro zenon_H21f.
% 99.72/99.91  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.91  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.72/99.91  generalize (zenon_H229 (n1)). zenon_intro zenon_H22a.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H21b | zenon_intro zenon_H22b ].
% 99.72/99.91  exact (zenon_H21b zenon_H21f).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H8a | zenon_intro zenon_H17b ].
% 99.72/99.91  exact (zenon_H8a gt_2_1).
% 99.72/99.91  exact (zenon_H14e zenon_H17b).
% 99.72/99.91  apply zenon_H5c. apply refl_equal.
% 99.72/99.91  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.91  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H63.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H64.
% 99.72/99.91  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.91  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_H66 successor_1).
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  apply zenon_H65. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L176_ *)
% 99.72/99.91  assert (zenon_L177_ : forall (zenon_TB_dj : 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))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H67 zenon_H29f zenon_H1c8 zenon_H1bc zenon_H217 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0.
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.91  elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H20c | zenon_intro zenon_H208 ].
% 99.72/99.91  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H1e9 ].
% 99.72/99.91  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.91  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.72/99.91  generalize (zenon_H211 (succ (succ (n0)))). zenon_intro zenon_H215.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H208 | zenon_intro zenon_H216 ].
% 99.72/99.91  exact (zenon_H208 zenon_H20c).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1cb ].
% 99.72/99.91  exact (zenon_H1e9 zenon_H214).
% 99.72/99.91  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.91  apply (zenon_L87_); trivial.
% 99.72/99.91  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (tptp_minus_1)) (n3))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H208.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_H205.
% 99.72/99.91  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.91  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.91  congruence.
% 99.72/99.91  apply zenon_H62. apply refl_equal.
% 99.72/99.91  exact (zenon_H1f2 successor_3).
% 99.72/99.91  apply (zenon_L176_ zenon_TB_dj); trivial.
% 99.72/99.91  (* end of lemma zenon_L177_ *)
% 99.72/99.91  assert (zenon_L178_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TB_dj (n0))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H67 zenon_Hd4.
% 99.72/99.91  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.72/99.91  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.72/99.91  apply (zenon_L97_ zenon_TB_dj); trivial.
% 99.72/99.91  cut ((gt (n2) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_Hd4.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact gt_2_0.
% 99.72/99.91  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.91  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.72/99.91  congruence.
% 99.72/99.91  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.72/99.91  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.72/99.91  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.72/99.91  intro zenon_D_pnotp.
% 99.72/99.91  apply zenon_H226.
% 99.72/99.91  rewrite <- zenon_D_pnotp.
% 99.72/99.91  exact zenon_Hd2.
% 99.72/99.91  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.91  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.91  congruence.
% 99.72/99.91  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  apply zenon_H77. apply refl_equal.
% 99.72/99.91  apply zenon_H227. zenon_intro zenon_H21f.
% 99.72/99.91  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.91  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.72/99.91  generalize (zenon_H229 (n0)). zenon_intro zenon_H22c.
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H22c); [ zenon_intro zenon_H21b | zenon_intro zenon_H22d ].
% 99.72/99.91  exact (zenon_H21b zenon_H21f).
% 99.72/99.91  apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H190 | zenon_intro zenon_He1 ].
% 99.72/99.91  exact (zenon_H190 gt_2_0).
% 99.72/99.91  exact (zenon_Hd4 zenon_He1).
% 99.72/99.91  apply zenon_H82. apply refl_equal.
% 99.72/99.91  (* end of lemma zenon_L178_ *)
% 99.72/99.91  assert (zenon_L179_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (succ (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)))))) -> False).
% 99.72/99.91  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc zenon_H217 zenon_H29f zenon_H67.
% 99.72/99.91  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.92  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.92  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.92  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.72/99.92  exact (zenon_Hce zenon_Hd5).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.72/99.92  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.92  exact (zenon_H217 zenon_H21a).
% 99.72/99.92  apply (zenon_L177_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hce.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He1.
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H77. apply refl_equal.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply (zenon_L178_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L179_ *)
% 99.72/99.92  assert (zenon_L180_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_Hca zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.92  generalize (zenon_Hdb (succ (tptp_minus_1))). zenon_intro zenon_H2a8.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2a8); [ zenon_intro zenon_H81 | zenon_intro zenon_H2a9 ].
% 99.72/99.92  exact (zenon_H81 zenon_H69).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2a9); [ zenon_intro zenon_Hce | zenon_intro zenon_Hcf ].
% 99.72/99.92  exact (zenon_Hce zenon_Hd5).
% 99.72/99.92  exact (zenon_Hca zenon_Hcf).
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.92  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hce.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He1.
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H77. apply refl_equal.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply (zenon_L178_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L180_ *)
% 99.72/99.92  assert (zenon_L181_ : forall (zenon_TB_dj : 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_TB_dj (succ (succ (n0))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H217 zenon_H1c8 zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55.
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.72/99.92  elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H2a2 | zenon_intro zenon_H29f ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.72/99.92  generalize (zenon_H147 (succ (succ (n0)))). zenon_intro zenon_H2aa.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2aa); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H2ab ].
% 99.72/99.92  exact (zenon_Hc9 zenon_Hcb).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2ab); [ zenon_intro zenon_H29f | zenon_intro zenon_H1cb ].
% 99.72/99.92  exact (zenon_H29f zenon_H2a2).
% 99.72/99.92  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.92  apply (zenon_L179_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hc9.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcf.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply (zenon_L180_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L181_ *)
% 99.72/99.92  assert (zenon_L182_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H1c8 zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (succ (n0))))); [ zenon_intro zenon_H21a | zenon_intro zenon_H217 ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.92  generalize (zenon_Hdb (succ (succ (n0)))). zenon_intro zenon_H2ac.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2ac); [ zenon_intro zenon_H81 | zenon_intro zenon_H2ad ].
% 99.72/99.92  exact (zenon_H81 zenon_H69).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2ad); [ zenon_intro zenon_H217 | zenon_intro zenon_H1cb ].
% 99.72/99.92  exact (zenon_H217 zenon_H21a).
% 99.72/99.92  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.92  apply (zenon_L181_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L182_ *)
% 99.72/99.92  assert (zenon_L183_ : forall (zenon_TB_dj : 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 (tptp_minus_1) (succ (succ (succ (n0)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H111 zenon_H291 zenon_H200 zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55.
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.72/99.92  elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f4 | zenon_intro zenon_H1ee ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda (n2)). zenon_intro zenon_H26c.
% 99.72/99.92  generalize (zenon_H26c (succ (succ (succ (n0))))). zenon_intro zenon_H2ae.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2ae); [ zenon_intro zenon_H1b8 | zenon_intro zenon_H2af ].
% 99.72/99.92  exact (zenon_H1b8 zenon_H1bb).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2af); [ zenon_intro zenon_H1ee | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H286 | zenon_intro zenon_H283 ].
% 99.72/99.92  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.92  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.92  generalize (zenon_H87 (succ (succ (succ (n0))))). zenon_intro zenon_H2b0.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b0); [ zenon_intro zenon_H8a | zenon_intro zenon_H2b1 ].
% 99.72/99.92  exact (zenon_H8a gt_2_1).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b1); [ zenon_intro zenon_H283 | zenon_intro zenon_H1f4 ].
% 99.72/99.92  exact (zenon_H283 zenon_H286).
% 99.72/99.92  exact (zenon_H1ee zenon_H1f4).
% 99.72/99.92  apply (zenon_L160_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (tptp_minus_1)) (n2))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H1b8.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H1cb.
% 99.72/99.92  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  exact (zenon_H90 successor_2).
% 99.72/99.92  apply (zenon_L182_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L183_ *)
% 99.72/99.92  assert (zenon_L184_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (tptp_minus_1) (succ (succ (succ (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H111 zenon_H291 zenon_H2b2 zenon_H67.
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.92  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b4 ].
% 99.72/99.92  cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2b2.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H2b3.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.92  congruence.
% 99.72/99.92  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He0.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He2.
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_He4 zenon_Hd7).
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2b4.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H205.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.92  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hcd.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hd3.
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  apply (zenon_L183_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L184_ *)
% 99.72/99.92  assert (zenon_L185_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ (succ (succ (n0)))))) -> (~(gt (tptp_minus_1) (succ (succ (succ (n0)))))) -> (~(gt (succ (tptp_minus_1)) (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H2b4 zenon_H291 zenon_H111 zenon_Hf0 zenon_H67 zenon_Hd7.
% 99.72/99.92  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.92  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.92  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.92  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b2 ].
% 99.72/99.92  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.92  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.92  generalize (zenon_H1bf (succ (succ (succ (n0))))). zenon_intro zenon_H2b6.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b6); [ zenon_intro zenon_He7 | zenon_intro zenon_H2b7 ].
% 99.72/99.92  exact (zenon_He7 zenon_He6).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b7); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 99.72/99.92  exact (zenon_H2b2 zenon_H2b5).
% 99.72/99.92  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.92  apply (zenon_L184_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He7.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H1b0.
% 99.72/99.92  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  exact (zenon_He0 zenon_Hdf).
% 99.72/99.92  apply (zenon_L143_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He0.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He2.
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_He4 zenon_Hd7).
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L185_ *)
% 99.72/99.92  assert (zenon_L186_ : forall (zenon_TB_dj : 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 (succ (n0)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H2b4 zenon_H111 zenon_Hf0 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.92  elim (classic (gt (tptp_minus_1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H297 | zenon_intro zenon_H291 ].
% 99.72/99.92  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.92  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.72/99.92  generalize (zenon_H11d (succ (succ (succ (n0))))). zenon_intro zenon_H2b8.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b8); [ zenon_intro zenon_H109 | zenon_intro zenon_H2b9 ].
% 99.72/99.92  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_H291 | zenon_intro zenon_H2b3 ].
% 99.72/99.92  exact (zenon_H291 zenon_H297).
% 99.72/99.92  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.92  apply (zenon_L185_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L186_ *)
% 99.72/99.92  assert (zenon_L187_ : forall (zenon_TB_dj : 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 (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H111 zenon_H200 zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55.
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcf | zenon_intro zenon_Hca ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hc9 ].
% 99.72/99.92  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b4 ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda (n0)). zenon_intro zenon_H147.
% 99.72/99.92  generalize (zenon_H147 (succ (succ (succ (n0))))). zenon_intro zenon_H2ba.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_Hc9 | zenon_intro zenon_H2bb ].
% 99.72/99.92  exact (zenon_Hc9 zenon_Hcb).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bb); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  apply (zenon_L186_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hc9.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcf.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply (zenon_L180_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L187_ *)
% 99.72/99.92  assert (zenon_L188_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (succ (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).
% 99.72/99.92  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc zenon_H25e zenon_H111 zenon_H67.
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.92  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.92  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.92  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.92  exact (zenon_Hce zenon_Hd5).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  exact (zenon_H25e zenon_H25d).
% 99.72/99.92  apply (zenon_L187_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hce.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He1.
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H77. apply refl_equal.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply (zenon_L178_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L188_ *)
% 99.72/99.92  assert (zenon_L189_ : forall (zenon_TB_dj : 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 zenon_TB_dj (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H200 zenon_Hf0 zenon_H25e zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.72/99.92  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H286 | zenon_intro zenon_H283 ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.72/99.92  generalize (zenon_H1b4 (succ (succ (succ (n0))))). zenon_intro zenon_H2bc.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bc); [ zenon_intro zenon_H181 | zenon_intro zenon_H2bd ].
% 99.72/99.92  exact (zenon_H181 zenon_H17e).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bd); [ zenon_intro zenon_H283 | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H283 zenon_H286).
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  apply (zenon_L154_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H181.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H115.
% 99.72/99.92  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  exact (zenon_H66 successor_1).
% 99.72/99.92  apply (zenon_L188_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L189_ *)
% 99.72/99.92  assert (zenon_L190_ : forall (zenon_TB_dj : 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)))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H200 zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55.
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.92  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.92  exact (zenon_H81 zenon_H69).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H25e zenon_H25d).
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  apply (zenon_L189_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L190_ *)
% 99.72/99.92  assert (zenon_L191_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H2b2 zenon_H67.
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.92  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b4 ].
% 99.72/99.92  cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2b2.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H2b3.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.92  congruence.
% 99.72/99.92  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He0.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He2.
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_He4 zenon_Hd7).
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2b4.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H205.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.92  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hcd.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hd3.
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  apply (zenon_L190_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L191_ *)
% 99.72/99.92  assert (zenon_L192_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H2b4 zenon_Hf0 zenon_H67 zenon_Hd7.
% 99.72/99.92  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.92  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.92  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.92  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b2 ].
% 99.72/99.92  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.92  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.92  generalize (zenon_H1bf (succ (succ (succ (n0))))). zenon_intro zenon_H2b6.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b6); [ zenon_intro zenon_He7 | zenon_intro zenon_H2b7 ].
% 99.72/99.92  exact (zenon_He7 zenon_He6).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2b7); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 99.72/99.92  exact (zenon_H2b2 zenon_H2b5).
% 99.72/99.92  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.92  apply (zenon_L191_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He7.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H1b0.
% 99.72/99.92  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  exact (zenon_He0 zenon_Hdf).
% 99.72/99.92  apply (zenon_L143_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He0.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He2.
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_He4 zenon_Hd7).
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L192_ *)
% 99.72/99.92  assert (zenon_L193_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H2b4 zenon_Hf0 zenon_H67 zenon_Hd7.
% 99.72/99.92  apply (zenon_L192_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L193_ *)
% 99.72/99.92  assert (zenon_L194_ : forall (zenon_TB_dj : 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)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H257 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_Hf0.
% 99.72/99.92  elim (classic ((~((succ (n0)) = (succ zenon_TB_dj)))/\(~(gt (succ (n0)) (succ zenon_TB_dj))))); [ zenon_intro zenon_H127 | zenon_intro zenon_H128 ].
% 99.72/99.92  apply (zenon_and_s _ _ zenon_H127). zenon_intro zenon_H68. zenon_intro zenon_H129.
% 99.72/99.92  apply (zenon_L117_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b4 ].
% 99.72/99.92  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.72/99.92  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.72/99.92  generalize (zenon_H12b (succ (succ (succ (n0))))). zenon_intro zenon_H2be.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2be); [ zenon_intro zenon_H5b | zenon_intro zenon_H2bf ].
% 99.72/99.92  exact (zenon_H5b zenon_H55).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bf); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H2c0 ].
% 99.72/99.92  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.92  cut ((gt (succ zenon_TB_dj) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H257.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H2c0.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((succ zenon_TB_dj) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H12f].
% 99.72/99.92  congruence.
% 99.72/99.92  apply (zenon_notand_s _ _ zenon_H128); [ zenon_intro zenon_H131 | zenon_intro zenon_H130 ].
% 99.72/99.92  apply zenon_H131. zenon_intro zenon_H132.
% 99.72/99.92  apply zenon_H12f. apply sym_equal. exact zenon_H132.
% 99.72/99.92  apply zenon_H130. zenon_intro zenon_H133.
% 99.72/99.92  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.92  generalize (zenon_H7d (succ zenon_TB_dj)). zenon_intro zenon_H134.
% 99.72/99.92  generalize (zenon_H134 (succ (succ (succ (n0))))). zenon_intro zenon_H2c1.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H129 | zenon_intro zenon_H2c2 ].
% 99.72/99.92  exact (zenon_H129 zenon_H133).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c2); [ zenon_intro zenon_H2c3 | zenon_intro zenon_H256 ].
% 99.72/99.92  exact (zenon_H2c3 zenon_H2c0).
% 99.72/99.92  exact (zenon_H257 zenon_H256).
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  apply (zenon_L193_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L194_ *)
% 99.72/99.92  assert (zenon_L195_ : forall (zenon_TB_dj : 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)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H2c4 zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.72/99.92  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.72/99.92  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.72/99.92  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.72/99.92  generalize (zenon_H94 (n3)). zenon_intro zenon_H2c5.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H97 | zenon_intro zenon_H2c6 ].
% 99.72/99.92  exact (zenon_H97 gt_3_2).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H1ea | zenon_intro zenon_H2c7 ].
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  exact (zenon_H2c4 zenon_H2c7).
% 99.72/99.92  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.92  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.92  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.92  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.72/99.92  exact (zenon_H8a gt_2_1).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.92  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.92  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.92  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.72/99.92  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.92  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.92  generalize (zenon_H253 (n3)). zenon_intro zenon_H2c8.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c8); [ zenon_intro zenon_H145 | zenon_intro zenon_H2c9 ].
% 99.72/99.92  exact (zenon_H145 zenon_H144).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H259 | zenon_intro zenon_H16f ].
% 99.72/99.92  exact (zenon_H259 zenon_H258).
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.92  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H259.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H256.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.92  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  exact (zenon_H1f2 successor_3).
% 99.72/99.92  apply (zenon_L194_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H145.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H143.
% 99.72/99.92  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.92  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H5c. apply refl_equal.
% 99.72/99.92  exact (zenon_H63 zenon_H121).
% 99.72/99.92  apply (zenon_L114_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.92  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H63.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H64.
% 99.72/99.92  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.92  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_H66 successor_1).
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L195_ *)
% 99.72/99.92  assert (zenon_L196_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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).
% 99.72/99.92  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc zenon_H25e zenon_H67.
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.92  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.92  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.92  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.92  exact (zenon_Hce zenon_Hd5).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  exact (zenon_H25e zenon_H25d).
% 99.72/99.92  apply (zenon_L189_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hce.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He1.
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H77. apply refl_equal.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply (zenon_L178_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L196_ *)
% 99.72/99.92  assert (zenon_L197_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H257 zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.92  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.92  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.92  apply (zenon_L4_); trivial.
% 99.72/99.92  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.92  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.92  exact (zenon_H81 zenon_H69).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H25e zenon_H25d).
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H257.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H205.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.92  congruence.
% 99.72/99.92  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.92  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.92  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.92  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.92  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.92  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.92  generalize (zenon_H7e (succ (succ (succ (n0))))). zenon_intro zenon_H261.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H60 | zenon_intro zenon_H262 ].
% 99.72/99.92  exact (zenon_H60 zenon_H7c).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H200 | zenon_intro zenon_H256 ].
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  exact (zenon_H257 zenon_H256).
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  apply (zenon_L196_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L197_ *)
% 99.72/99.92  assert (zenon_L198_ : forall (zenon_TB_dj : 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)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H2c4 zenon_Hf0 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.72/99.92  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.72/99.92  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.72/99.92  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.72/99.92  generalize (zenon_H94 (n3)). zenon_intro zenon_H2c5.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H97 | zenon_intro zenon_H2c6 ].
% 99.72/99.92  exact (zenon_H97 gt_3_2).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H1ea | zenon_intro zenon_H2c7 ].
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  exact (zenon_H2c4 zenon_H2c7).
% 99.72/99.92  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.92  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.92  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.92  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.72/99.92  exact (zenon_H8a gt_2_1).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.92  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.92  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.92  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.72/99.92  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.92  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.92  generalize (zenon_H253 (n3)). zenon_intro zenon_H2c8.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c8); [ zenon_intro zenon_H145 | zenon_intro zenon_H2c9 ].
% 99.72/99.92  exact (zenon_H145 zenon_H144).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H259 | zenon_intro zenon_H16f ].
% 99.72/99.92  exact (zenon_H259 zenon_H258).
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.92  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H259.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H256.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.92  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  exact (zenon_H1f2 successor_3).
% 99.72/99.92  apply (zenon_L197_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H145.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H143.
% 99.72/99.92  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.92  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H5c. apply refl_equal.
% 99.72/99.92  exact (zenon_H63 zenon_H121).
% 99.72/99.92  apply (zenon_L114_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.92  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H63.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H64.
% 99.72/99.92  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.92  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_H66 successor_1).
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  apply zenon_H65. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L198_ *)
% 99.72/99.92  assert (zenon_L199_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H16a zenon_Hf0 zenon_H67 zenon_Hd7.
% 99.72/99.92  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.92  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.92  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.92  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ].
% 99.72/99.92  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.92  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.92  generalize (zenon_H1bf (n3)). zenon_intro zenon_H2cc.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_He7 | zenon_intro zenon_H2cd ].
% 99.72/99.92  exact (zenon_He7 zenon_He6).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2cd); [ zenon_intro zenon_H2cb | zenon_intro zenon_H16c ].
% 99.72/99.92  exact (zenon_H2cb zenon_H2ca).
% 99.72/99.92  exact (zenon_H16a zenon_H16c).
% 99.72/99.92  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b2 ].
% 99.72/99.92  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2cb.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H2b5.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  exact (zenon_H1f2 successor_3).
% 99.72/99.92  apply (zenon_L191_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He7.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H1b0.
% 99.72/99.92  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  exact (zenon_He0 zenon_Hdf).
% 99.72/99.92  apply (zenon_L143_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_He0.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_He2.
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.92  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_He4 zenon_Hd7).
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  apply zenon_He3. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L199_ *)
% 99.72/99.92  assert (zenon_L200_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_H16a zenon_Hf0 zenon_H67 zenon_Hd7.
% 99.72/99.92  apply (zenon_L199_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L200_ *)
% 99.72/99.92  assert (zenon_L201_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n0) (n3))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc zenon_H16a.
% 99.72/99.92  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_H10e | zenon_intro zenon_Hf0 ].
% 99.72/99.92  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H16a.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact gt_0_tptp_minus_1.
% 99.72/99.92  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  exact (zenon_Hf0 zenon_H10e).
% 99.72/99.92  apply (zenon_L200_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L201_ *)
% 99.72/99.92  assert (zenon_L202_ : forall (zenon_TB_dj : 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))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H2c4 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.72/99.92  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.72/99.92  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.72/99.92  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.72/99.92  generalize (zenon_H94 (n3)). zenon_intro zenon_H2c5.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H97 | zenon_intro zenon_H2c6 ].
% 99.72/99.92  exact (zenon_H97 gt_3_2).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H1ea | zenon_intro zenon_H2c7 ].
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  exact (zenon_H2c4 zenon_H2c7).
% 99.72/99.92  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.92  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.92  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.92  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.72/99.92  exact (zenon_H8a gt_2_1).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.92  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.72/99.92  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.92  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.72/99.92  generalize (zenon_H13f (n3)). zenon_intro zenon_H16d.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H142 | zenon_intro zenon_H16e ].
% 99.72/99.92  exact (zenon_H142 gt_1_0).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H16a | zenon_intro zenon_H16f ].
% 99.72/99.92  exact (zenon_H16a zenon_H16c).
% 99.72/99.92  exact (zenon_H16b zenon_H16f).
% 99.72/99.92  apply (zenon_L201_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L202_ *)
% 99.72/99.92  assert (zenon_L203_ : forall (zenon_TB_dj : 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)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H200 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H1bc.
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.72/99.92  elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H286 | zenon_intro zenon_H283 ].
% 99.72/99.92  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.92  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.72/99.92  generalize (zenon_H1b4 (succ (succ (succ (n0))))). zenon_intro zenon_H2bc.
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bc); [ zenon_intro zenon_H181 | zenon_intro zenon_H2bd ].
% 99.72/99.92  exact (zenon_H181 zenon_H17e).
% 99.72/99.92  apply (zenon_imply_s _ _ zenon_H2bd); [ zenon_intro zenon_H283 | zenon_intro zenon_H205 ].
% 99.72/99.92  exact (zenon_H283 zenon_H286).
% 99.72/99.92  exact (zenon_H200 zenon_H205).
% 99.72/99.92  apply (zenon_L154_ zenon_TB_dj); trivial.
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H181.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H115.
% 99.72/99.92  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  congruence.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  exact (zenon_H66 successor_1).
% 99.72/99.92  apply (zenon_L133_ zenon_TB_dj); trivial.
% 99.72/99.92  (* end of lemma zenon_L203_ *)
% 99.72/99.92  assert (zenon_L204_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (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).
% 99.72/99.92  do 1 intro. intros zenon_H1bc zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H2b4 zenon_H67.
% 99.72/99.92  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.92  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.92  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H2b4.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_H205.
% 99.72/99.92  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.92  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_Hcd.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hd3.
% 99.72/99.92  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.92  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_H5f zenon_H5e).
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H82. apply refl_equal.
% 99.72/99.92  apply zenon_H1f1. apply refl_equal.
% 99.72/99.92  apply (zenon_L203_ zenon_TB_dj); trivial.
% 99.72/99.92  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.92  intro zenon_D_pnotp.
% 99.72/99.92  apply zenon_H5f.
% 99.72/99.92  rewrite <- zenon_D_pnotp.
% 99.72/99.92  exact zenon_Hcc.
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.92  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.92  congruence.
% 99.72/99.92  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  apply zenon_H62. apply refl_equal.
% 99.72/99.92  (* end of lemma zenon_L204_ *)
% 99.72/99.92  assert (zenon_L205_ : forall (zenon_TB_dj : 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)))))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.92  do 1 intro. intros zenon_H67 zenon_H200 zenon_H1bc zenon_Hc0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.93  elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TB_dj)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TB_dj))))); [ zenon_intro zenon_H245 | zenon_intro zenon_H246 ].
% 99.72/99.93  apply (zenon_and_s _ _ zenon_H245). zenon_intro zenon_H247. zenon_intro zenon_H1b2.
% 99.72/99.93  apply (zenon_L134_ zenon_TB_dj); trivial.
% 99.72/99.93  elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b3 | zenon_intro zenon_H2b4 ].
% 99.72/99.93  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.72/99.93  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.72/99.93  generalize (zenon_H12b (succ (succ (succ (n0))))). zenon_intro zenon_H2be.
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H2be); [ zenon_intro zenon_H5b | zenon_intro zenon_H2bf ].
% 99.72/99.93  exact (zenon_H5b zenon_H55).
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H2bf); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H2c0 ].
% 99.72/99.93  exact (zenon_H2b4 zenon_H2b3).
% 99.72/99.93  cut ((gt (succ zenon_TB_dj) (succ (succ (succ (n0))))) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))).
% 99.72/99.93  intro zenon_D_pnotp.
% 99.72/99.93  apply zenon_H200.
% 99.72/99.93  rewrite <- zenon_D_pnotp.
% 99.72/99.93  exact zenon_H2c0.
% 99.72/99.93  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.93  cut (((succ zenon_TB_dj) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 99.72/99.93  congruence.
% 99.72/99.93  apply (zenon_notand_s _ _ zenon_H246); [ zenon_intro zenon_H24a | zenon_intro zenon_H249 ].
% 99.72/99.93  apply zenon_H24a. zenon_intro zenon_H24b.
% 99.72/99.93  apply zenon_H248. apply sym_equal. exact zenon_H24b.
% 99.72/99.93  apply zenon_H249. zenon_intro zenon_H1b7.
% 99.72/99.93  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.93  generalize (zenon_Hda (succ zenon_TB_dj)). zenon_intro zenon_H24c.
% 99.72/99.93  generalize (zenon_H24c (succ (succ (succ (n0))))). zenon_intro zenon_H2ce.
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H2ce); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H2cf ].
% 99.72/99.93  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H2cf); [ zenon_intro zenon_H2c3 | zenon_intro zenon_H205 ].
% 99.72/99.93  exact (zenon_H2c3 zenon_H2c0).
% 99.72/99.93  exact (zenon_H200 zenon_H205).
% 99.72/99.93  apply zenon_H1f1. apply refl_equal.
% 99.72/99.93  apply (zenon_L204_ zenon_TB_dj); trivial.
% 99.72/99.93  (* end of lemma zenon_L205_ *)
% 99.72/99.93  assert (zenon_L206_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ (succ (succ (n0)))))) -> (~(gt zenon_TB_dj (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.93  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_Hbe zenon_H69 zenon_H55 zenon_H25e zenon_H14e zenon_H67.
% 99.72/99.93  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.93  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.93  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.93  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.93  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.93  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.93  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.93  exact (zenon_Hce zenon_Hd5).
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.93  exact (zenon_H200 zenon_H205).
% 99.72/99.93  exact (zenon_H25e zenon_H25d).
% 99.72/99.93  apply (zenon_L92_ zenon_TB_dj); trivial.
% 99.72/99.93  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.93  intro zenon_D_pnotp.
% 99.72/99.93  apply zenon_Hce.
% 99.72/99.93  rewrite <- zenon_D_pnotp.
% 99.72/99.93  exact zenon_He1.
% 99.72/99.93  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.93  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.93  congruence.
% 99.72/99.93  apply zenon_H77. apply refl_equal.
% 99.72/99.93  exact (zenon_H5f zenon_H5e).
% 99.72/99.93  apply (zenon_L20_ zenon_TB_dj); trivial.
% 99.72/99.93  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.93  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.93  intro zenon_D_pnotp.
% 99.72/99.93  apply zenon_H5f.
% 99.72/99.93  rewrite <- zenon_D_pnotp.
% 99.72/99.93  exact zenon_Hcc.
% 99.72/99.93  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.93  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.93  congruence.
% 99.72/99.93  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.93  apply zenon_H62. apply refl_equal.
% 99.72/99.93  apply zenon_H62. apply refl_equal.
% 99.72/99.93  (* end of lemma zenon_L206_ *)
% 99.72/99.93  assert (zenon_L207_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (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_TB_dj (n0))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> False).
% 99.72/99.93  do 1 intro. intros zenon_H25e zenon_H67 zenon_Hd4 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0.
% 99.72/99.93  elim (classic ((~(zenon_TB_dj = (n1)))/\(~(gt zenon_TB_dj (n1))))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 99.72/99.93  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_Hbe. zenon_intro zenon_H14e.
% 99.72/99.93  apply (zenon_L206_ zenon_TB_dj); trivial.
% 99.72/99.93  cut ((gt (n1) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.93  intro zenon_D_pnotp.
% 99.72/99.93  apply zenon_Hd4.
% 99.72/99.93  rewrite <- zenon_D_pnotp.
% 99.72/99.93  exact gt_1_0.
% 99.72/99.93  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.93  cut (((n1) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 99.72/99.93  congruence.
% 99.72/99.93  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H198 | zenon_intro zenon_H197 ].
% 99.72/99.93  apply zenon_H198. zenon_intro zenon_Hc6.
% 99.72/99.93  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.93  cut ((zenon_TB_dj = zenon_TB_dj) = ((n1) = zenon_TB_dj)).
% 99.72/99.93  intro zenon_D_pnotp.
% 99.72/99.93  apply zenon_H196.
% 99.72/99.93  rewrite <- zenon_D_pnotp.
% 99.72/99.93  exact zenon_Hd2.
% 99.72/99.93  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.93  cut ((zenon_TB_dj = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hbe].
% 99.72/99.93  congruence.
% 99.72/99.93  exact (zenon_Hbe zenon_Hc6).
% 99.72/99.93  apply zenon_H77. apply refl_equal.
% 99.72/99.93  apply zenon_H77. apply refl_equal.
% 99.72/99.93  apply zenon_H197. zenon_intro zenon_H17b.
% 99.72/99.93  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.93  generalize (zenon_H14a (n1)). zenon_intro zenon_H199.
% 99.72/99.93  generalize (zenon_H199 (n0)). zenon_intro zenon_H19a.
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H19a); [ zenon_intro zenon_H14e | zenon_intro zenon_H19b ].
% 99.72/99.93  exact (zenon_H14e zenon_H17b).
% 99.72/99.93  apply (zenon_imply_s _ _ zenon_H19b); [ zenon_intro zenon_H142 | zenon_intro zenon_He1 ].
% 99.72/99.93  exact (zenon_H142 gt_1_0).
% 99.72/99.93  exact (zenon_Hd4 zenon_He1).
% 99.72/99.93  apply zenon_H82. apply refl_equal.
% 99.72/99.93  (* end of lemma zenon_L207_ *)
% 99.72/99.93  assert (zenon_L208_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> (~(gt zenon_TB_dj (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).
% 99.72/99.94  do 1 intro. intros zenon_Hd7 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_H1bc zenon_H21b zenon_H25e zenon_H67.
% 99.72/99.94  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.94  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.94  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.94  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.94  exact (zenon_Hce zenon_Hd5).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.94  exact (zenon_H200 zenon_H205).
% 99.72/99.94  exact (zenon_H25e zenon_H25d).
% 99.72/99.94  apply (zenon_L127_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hce.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He1.
% 99.72/99.94  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_H5f zenon_H5e).
% 99.72/99.94  apply (zenon_L207_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H5f.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L208_ *)
% 99.72/99.94  assert (zenon_L209_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (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_TB_dj (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H25e zenon_H67 zenon_Hd4 zenon_Hd7 zenon_H55 zenon_H69 zenon_Hc0 zenon_H1bc.
% 99.72/99.94  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.72/99.94  apply (zenon_L208_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n2) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hd4.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_2_0.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.72/99.94  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.72/99.94  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H226.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd2.
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H227. zenon_intro zenon_H21f.
% 99.72/99.94  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.94  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.72/99.94  generalize (zenon_H229 (n0)). zenon_intro zenon_H22c.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H22c); [ zenon_intro zenon_H21b | zenon_intro zenon_H22d ].
% 99.72/99.94  exact (zenon_H21b zenon_H21f).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H190 | zenon_intro zenon_He1 ].
% 99.72/99.94  exact (zenon_H190 gt_2_0).
% 99.72/99.94  exact (zenon_Hd4 zenon_He1).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L209_ *)
% 99.72/99.94  assert (zenon_L210_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hd7 zenon_H1bc zenon_H25e zenon_H67.
% 99.72/99.94  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.94  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.94  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.94  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.94  exact (zenon_Hce zenon_Hd5).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.94  exact (zenon_H200 zenon_H205).
% 99.72/99.94  exact (zenon_H25e zenon_H25d).
% 99.72/99.94  apply (zenon_L205_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hce.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He1.
% 99.72/99.94  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_H5f zenon_H5e).
% 99.72/99.94  apply (zenon_L209_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H5f.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L210_ *)
% 99.72/99.94  assert (zenon_L211_ : forall (zenon_TB_dj : 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_TB_dj (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H2d0 zenon_H1bc zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55.
% 99.72/99.94  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.94  cut ((gt zenon_TB_dj (succ (succ (succ (n0))))) = (gt zenon_TB_dj (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H2d0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H25d.
% 99.72/99.94  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_H1f2 successor_3).
% 99.72/99.94  apply (zenon_L210_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L211_ *)
% 99.72/99.94  assert (zenon_L212_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H235 zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc.
% 99.72/99.94  elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d2 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H1d1). zenon_intro zenon_H1d3. zenon_intro zenon_H8c.
% 99.72/99.94  apply (zenon_L10_); trivial.
% 99.72/99.94  elim (classic (zenon_TB_dj = (n3))); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hc0 ].
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (succ (n0))) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H235.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H69.
% 99.72/99.94  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.72/99.94  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.72/99.94  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1d4.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H8e.
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1d3].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H1d3 zenon_H1d7).
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.72/99.94  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.94  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.72/99.94  generalize (zenon_H1da zenon_TB_dj). zenon_intro zenon_H21c.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H8c | zenon_intro zenon_H21d ].
% 99.72/99.94  exact (zenon_H8c zenon_H1d8).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H21d); [ zenon_intro zenon_H81 | zenon_intro zenon_H21e ].
% 99.72/99.94  exact (zenon_H81 zenon_H69).
% 99.72/99.94  cut ((gt (succ (succ (n0))) zenon_TB_dj) = (gt (succ (succ (n0))) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H235.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H21e.
% 99.72/99.94  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.94  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n3))); [ zenon_intro zenon_H2d1 | zenon_intro zenon_H2d0 ].
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.94  generalize (zenon_Hdb (n3)). zenon_intro zenon_H2d2.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d2); [ zenon_intro zenon_H81 | zenon_intro zenon_H2d3 ].
% 99.72/99.94  exact (zenon_H81 zenon_H69).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d3); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H20c ].
% 99.72/99.94  exact (zenon_H2d0 zenon_H2d1).
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (succ (n0))) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H235.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H20c.
% 99.72/99.94  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1d4].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H1d2); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d5 ].
% 99.72/99.94  apply zenon_H1d6. zenon_intro zenon_H1d7.
% 99.72/99.94  apply zenon_H1d4. apply sym_equal. exact zenon_H1d7.
% 99.72/99.94  apply zenon_H1d5. zenon_intro zenon_H1d8.
% 99.72/99.94  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.94  generalize (zenon_H1d9 (succ (tptp_minus_1))). zenon_intro zenon_H1da.
% 99.72/99.94  generalize (zenon_H1da (n3)). zenon_intro zenon_H2d4.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H8c | zenon_intro zenon_H2d5 ].
% 99.72/99.94  exact (zenon_H8c zenon_H1d8).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_H208 | zenon_intro zenon_H243 ].
% 99.72/99.94  exact (zenon_H208 zenon_H20c).
% 99.72/99.94  exact (zenon_H235 zenon_H243).
% 99.72/99.94  apply zenon_H83. apply refl_equal.
% 99.72/99.94  apply (zenon_L211_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L212_ *)
% 99.72/99.94  assert (zenon_L213_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc zenon_H1ea zenon_H67.
% 99.72/99.94  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.94  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.94  cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1ea.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H243.
% 99.72/99.94  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.72/99.94  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.94  congruence.
% 99.72/99.94  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.72/99.94  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H90.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H1e8.
% 99.72/99.94  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.94  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H8d zenon_H1c9).
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  apply zenon_H83. apply refl_equal.
% 99.72/99.94  apply (zenon_L212_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H8d.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H8e.
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.94  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H90 successor_2).
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L213_ *)
% 99.72/99.94  assert (zenon_L214_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H2c4 zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc.
% 99.72/99.94  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.72/99.94  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.72/99.94  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.72/99.94  generalize (zenon_H94 (n3)). zenon_intro zenon_H2c5.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H97 | zenon_intro zenon_H2c6 ].
% 99.72/99.94  exact (zenon_H97 gt_3_2).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H1ea | zenon_intro zenon_H2c7 ].
% 99.72/99.94  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.94  exact (zenon_H2c4 zenon_H2c7).
% 99.72/99.94  apply (zenon_L213_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L214_ *)
% 99.72/99.94  assert (zenon_L215_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc zenon_H1f3 zenon_H67.
% 99.72/99.94  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.94  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.94  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1f3.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H243.
% 99.72/99.94  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.94  apply (zenon_L212_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.94  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Ha7.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H1f0.
% 99.72/99.94  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.94  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H1f2 successor_3).
% 99.72/99.94  apply zenon_H1f1. apply refl_equal.
% 99.72/99.94  apply zenon_H1f1. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L215_ *)
% 99.72/99.94  assert (zenon_L216_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hd7 zenon_H69 zenon_H55 zenon_H67 zenon_H1e6.
% 99.72/99.94  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f6 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_H1f7. zenon_intro zenon_H1ea.
% 99.72/99.94  apply (zenon_L213_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1e6.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_3_2.
% 99.72/99.94  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.94  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H1f6); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1f9 ].
% 99.72/99.94  apply zenon_H1fa. zenon_intro zenon_H1fb.
% 99.72/99.94  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.72/99.94  cut (((n2) = (n2)) = ((n3) = (n2))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1f8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H1e8.
% 99.72/99.94  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.94  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H1f7 zenon_H1fb).
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  apply zenon_H1f9. zenon_intro zenon_H1ed.
% 99.72/99.94  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.94  generalize (zenon_H86 (n3)). zenon_intro zenon_H1fc.
% 99.72/99.94  generalize (zenon_H1fc (n2)). zenon_intro zenon_H1fd.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1ea | zenon_intro zenon_H1fe ].
% 99.72/99.94  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1fe); [ zenon_intro zenon_H97 | zenon_intro zenon_H1ff ].
% 99.72/99.94  exact (zenon_H97 gt_3_2).
% 99.72/99.94  exact (zenon_H1e6 zenon_H1ff).
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L216_ *)
% 99.72/99.94  assert (zenon_L217_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hd7 zenon_H69 zenon_H55 zenon_H200 zenon_H67.
% 99.72/99.94  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.94  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda (succ (succ (n0)))). zenon_intro zenon_H202.
% 99.72/99.94  generalize (zenon_H202 (succ (succ (succ (n0))))). zenon_intro zenon_H203.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H204 ].
% 99.72/99.94  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H205 ].
% 99.72/99.94  exact (zenon_H1f3 zenon_H201).
% 99.72/99.94  exact (zenon_H200 zenon_H205).
% 99.72/99.94  apply (zenon_L215_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1c8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H1bb.
% 99.72/99.94  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  exact (zenon_H8d zenon_H1c9).
% 99.72/99.94  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H206 | zenon_intro zenon_H207 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H206). zenon_intro zenon_H209. zenon_intro zenon_H208.
% 99.72/99.94  elim (classic (zenon_TB_dj = (n3))); [ zenon_intro zenon_Hc7 | zenon_intro zenon_Hc0 ].
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) zenon_TB_dj) = (gt (succ (tptp_minus_1)) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H208.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H69.
% 99.72/99.94  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n3))); [ zenon_intro zenon_H2d1 | zenon_intro zenon_H2d0 ].
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.94  generalize (zenon_Hdb (n3)). zenon_intro zenon_H2d2.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d2); [ zenon_intro zenon_H81 | zenon_intro zenon_H2d3 ].
% 99.72/99.94  exact (zenon_H81 zenon_H69).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2d3); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H20c ].
% 99.72/99.94  exact (zenon_H2d0 zenon_H2d1).
% 99.72/99.94  exact (zenon_H208 zenon_H20c).
% 99.72/99.94  apply (zenon_L211_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1b8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_3_2.
% 99.72/99.94  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.94  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H207); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 99.72/99.94  apply zenon_H20f. zenon_intro zenon_H210.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H20d.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H209 zenon_H210).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H20e. zenon_intro zenon_H20c.
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.72/99.94  generalize (zenon_H211 (n2)). zenon_intro zenon_H212.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H212); [ zenon_intro zenon_H208 | zenon_intro zenon_H213 ].
% 99.72/99.94  exact (zenon_H208 zenon_H20c).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H213); [ zenon_intro zenon_H97 | zenon_intro zenon_H1bb ].
% 99.72/99.94  exact (zenon_H97 gt_3_2).
% 99.72/99.94  exact (zenon_H1b8 zenon_H1bb).
% 99.72/99.94  apply zenon_H84. apply refl_equal.
% 99.72/99.94  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H8d.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H8e.
% 99.72/99.94  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.94  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H90 successor_2).
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  apply zenon_H8f. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L217_ *)
% 99.72/99.94  assert (zenon_L218_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TB_dj (n1))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hd7 zenon_H69 zenon_H55 zenon_H67 zenon_H14e.
% 99.72/99.94  elim (classic ((~(zenon_TB_dj = (n3)))/\(~(gt zenon_TB_dj (n3))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_Hc0. zenon_intro zenon_H2d0.
% 99.72/99.94  apply (zenon_L211_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n3) (n1)) = (gt zenon_TB_dj (n1))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H14e.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_3_1.
% 99.72/99.94  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.94  cut (((n3) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H2d8].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H2d7); [ zenon_intro zenon_H2da | zenon_intro zenon_H2d9 ].
% 99.72/99.94  apply zenon_H2da. zenon_intro zenon_Hc7.
% 99.72/99.94  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj) = ((n3) = zenon_TB_dj)).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H2d8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd2.
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H2d9. zenon_intro zenon_H2d1.
% 99.72/99.94  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.94  generalize (zenon_H14a (n3)). zenon_intro zenon_H2db.
% 99.72/99.94  generalize (zenon_H2db (n1)). zenon_intro zenon_H2dc.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2dc); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2dd ].
% 99.72/99.94  exact (zenon_H2d0 zenon_H2d1).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2dd); [ zenon_intro zenon_H17a | zenon_intro zenon_H17b ].
% 99.72/99.94  exact (zenon_H17a gt_3_1).
% 99.72/99.94  exact (zenon_H14e zenon_H17b).
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L218_ *)
% 99.72/99.94  assert (zenon_L219_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc zenon_H110 zenon_H67.
% 99.72/99.94  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n1))); [ zenon_intro zenon_H17b | zenon_intro zenon_H14e ].
% 99.72/99.94  cut ((gt zenon_TB_dj (n1)) = (gt zenon_TB_dj (succ (n0)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H110.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H17b.
% 99.72/99.94  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_H63 zenon_H121).
% 99.72/99.94  apply (zenon_L218_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.94  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H63.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H64.
% 99.72/99.94  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.94  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H66 successor_1).
% 99.72/99.94  apply zenon_H65. apply refl_equal.
% 99.72/99.94  apply zenon_H65. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L219_ *)
% 99.72/99.94  assert (zenon_L220_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H111 zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc.
% 99.72/99.94  elim (classic (gt zenon_TB_dj (succ (n0)))); [ zenon_intro zenon_H112 | zenon_intro zenon_H110 ].
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.94  generalize (zenon_Hdb (succ (n0))). zenon_intro zenon_H113.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H113); [ zenon_intro zenon_H81 | zenon_intro zenon_H114 ].
% 99.72/99.94  exact (zenon_H81 zenon_H69).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H114); [ zenon_intro zenon_H110 | zenon_intro zenon_H115 ].
% 99.72/99.94  exact (zenon_H110 zenon_H112).
% 99.72/99.94  exact (zenon_H111 zenon_H115).
% 99.72/99.94  apply (zenon_L219_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L220_ *)
% 99.72/99.94  assert (zenon_L221_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc zenon_H118 zenon_H67.
% 99.72/99.94  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H118.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H115.
% 99.72/99.94  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.94  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hcd.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd3.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H5f zenon_H5e).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_H65. apply refl_equal.
% 99.72/99.94  apply (zenon_L220_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H5f.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L221_ *)
% 99.72/99.94  assert (zenon_L222_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hc0 zenon_Hf0 zenon_H1bc zenon_Hd9 zenon_H67 zenon_Hd7.
% 99.72/99.94  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.94  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hd9.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He1.
% 99.72/99.94  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_He0 zenon_Hdf).
% 99.72/99.94  apply (zenon_L178_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L222_ *)
% 99.72/99.94  assert (zenon_L223_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (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)))))) -> (~(gt zenon_TB_dj (n0))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_H69 zenon_H55 zenon_Hd9 zenon_H67 zenon_Hd4.
% 99.72/99.94  elim (classic ((~(zenon_TB_dj = (n3)))/\(~(gt zenon_TB_dj (n3))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_Hc0. zenon_intro zenon_H2d0.
% 99.72/99.94  apply (zenon_L222_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n3) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hd4.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_3_0.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n3) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H2d8].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H2d7); [ zenon_intro zenon_H2da | zenon_intro zenon_H2d9 ].
% 99.72/99.94  apply zenon_H2da. zenon_intro zenon_Hc7.
% 99.72/99.94  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj) = ((n3) = zenon_TB_dj)).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H2d8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd2.
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  apply zenon_H2d9. zenon_intro zenon_H2d1.
% 99.72/99.94  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.94  generalize (zenon_H14a (n3)). zenon_intro zenon_H2db.
% 99.72/99.94  generalize (zenon_H2db (n0)). zenon_intro zenon_H2de.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2de); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2df ].
% 99.72/99.94  exact (zenon_H2d0 zenon_H2d1).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2df); [ zenon_intro zenon_H193 | zenon_intro zenon_He1 ].
% 99.72/99.94  exact (zenon_H193 gt_3_0).
% 99.72/99.94  exact (zenon_Hd4 zenon_He1).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L223_ *)
% 99.72/99.94  assert (zenon_L224_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_Hd6 zenon_H55 zenon_H69 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.94  elim (classic (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd8 | zenon_intro zenon_Hd9 ].
% 99.72/99.94  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.94  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.94  generalize (zenon_Hdb (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hdc.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_Hdc); [ zenon_intro zenon_H81 | zenon_intro zenon_Hdd ].
% 99.72/99.94  exact (zenon_H81 zenon_H69).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hd9 | zenon_intro zenon_Hde ].
% 99.72/99.94  exact (zenon_Hd9 zenon_Hd8).
% 99.72/99.94  exact (zenon_Hd6 zenon_Hde).
% 99.72/99.94  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.94  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.94  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hd9.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He1.
% 99.72/99.94  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.94  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H77. apply refl_equal.
% 99.72/99.94  exact (zenon_He0 zenon_Hdf).
% 99.72/99.94  apply (zenon_L223_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L224_ *)
% 99.72/99.94  assert (zenon_L225_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_Hf0 zenon_H1bc zenon_He7 zenon_H67.
% 99.72/99.94  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hde | zenon_intro zenon_Hd6 ].
% 99.72/99.94  cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He7.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hde.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.94  cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hcd.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd3.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H5f zenon_H5e).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply (zenon_L224_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H5f.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L225_ *)
% 99.72/99.94  assert (zenon_L226_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_He5 zenon_H55 zenon_H69 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.94  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.94  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))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He5.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He6.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.94  congruence.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply (zenon_L225_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L226_ *)
% 99.72/99.94  assert (zenon_L227_ : forall (zenon_TB_dj : 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 (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H19e zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_H69 zenon_H55.
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Heb | zenon_intro zenon_He5 ].
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.94  elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H117 | zenon_intro zenon_H118 ].
% 99.72/99.94  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.94  generalize (zenon_H19f (n0)). zenon_intro zenon_H1a0.
% 99.72/99.94  generalize (zenon_H1a0 (succ (n0))). zenon_intro zenon_H1a1.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_Hea | zenon_intro zenon_H1a2 ].
% 99.72/99.94  exact (zenon_Hea zenon_He9).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H118 | zenon_intro zenon_H19d ].
% 99.72/99.94  exact (zenon_H118 zenon_H117).
% 99.72/99.94  exact (zenon_H19e zenon_H19d).
% 99.72/99.94  apply (zenon_L221_ zenon_TB_dj); trivial.
% 99.72/99.94  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))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hea.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Heb.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply (zenon_L226_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L227_ *)
% 99.72/99.94  assert (zenon_L228_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H19c zenon_H55 zenon_H69 zenon_Hd7 zenon_Hf0 zenon_H1bc.
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H19d | zenon_intro zenon_H19e ].
% 99.72/99.94  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H19c.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H19d.
% 99.72/99.94  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  exact (zenon_H66 successor_1).
% 99.72/99.94  apply (zenon_L227_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L228_ *)
% 99.72/99.94  assert (zenon_L229_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_Hf0 zenon_H1bc zenon_H67 zenon_Hea.
% 99.72/99.94  elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H1a3 | zenon_intro zenon_H1a4 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H1a3). zenon_intro zenon_H1a5. zenon_intro zenon_H19c.
% 99.72/99.94  apply (zenon_L228_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_Hea.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_1_0.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H1a6].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H1a4); [ zenon_intro zenon_H1a8 | zenon_intro zenon_H1a7 ].
% 99.72/99.94  apply zenon_H1a8. zenon_intro zenon_H1a9.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1a6.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H1a5 zenon_H1a9).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_H1a7. zenon_intro zenon_H1aa.
% 99.72/99.94  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.94  generalize (zenon_H19f (n1)). zenon_intro zenon_H1ab.
% 99.72/99.94  generalize (zenon_H1ab (n0)). zenon_intro zenon_H1ac.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1ac); [ zenon_intro zenon_H19c | zenon_intro zenon_H1ad ].
% 99.72/99.94  exact (zenon_H19c zenon_H1aa).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H1ad); [ zenon_intro zenon_H142 | zenon_intro zenon_He9 ].
% 99.72/99.94  exact (zenon_H142 gt_1_0).
% 99.72/99.94  exact (zenon_Hea zenon_He9).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L229_ *)
% 99.72/99.94  assert (zenon_L230_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_Hd7 zenon_H69 zenon_H55 zenon_H2b2 zenon_H67.
% 99.72/99.94  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 99.72/99.94  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.94  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.94  generalize (zenon_H19f (succ (tptp_minus_1))). zenon_intro zenon_H1c5.
% 99.72/99.94  generalize (zenon_H1c5 (succ (succ (succ (n0))))). zenon_intro zenon_H2e0.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2e0); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H2e1 ].
% 99.72/99.94  exact (zenon_H1c4 zenon_H1c3).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2e1); [ zenon_intro zenon_H200 | zenon_intro zenon_H2b5 ].
% 99.72/99.94  exact (zenon_H200 zenon_H205).
% 99.72/99.94  exact (zenon_H2b2 zenon_H2b5).
% 99.72/99.94  apply (zenon_L217_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1c4.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He9.
% 99.72/99.94  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  exact (zenon_H5f zenon_H5e).
% 99.72/99.94  apply (zenon_L229_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H5f.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hcc.
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.94  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  apply zenon_H62. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L230_ *)
% 99.72/99.94  assert (zenon_L231_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H2cb zenon_H1bc zenon_Hf0 zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b2 ].
% 99.72/99.94  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H2cb.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H2b5.
% 99.72/99.94  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  exact (zenon_H1f2 successor_3).
% 99.72/99.94  apply (zenon_L230_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L231_ *)
% 99.72/99.94  assert (zenon_L232_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hf0 zenon_H69 zenon_H55 zenon_H67 zenon_He8 zenon_Hd7.
% 99.72/99.94  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.94  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He8.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He9.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hd3 | zenon_intro zenon_H82 ].
% 99.72/99.94  cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He4.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_Hd3.
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He0 zenon_Hdf).
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  apply (zenon_L229_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L232_ *)
% 99.72/99.94  assert (zenon_L233_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hf0 zenon_H1bc zenon_H16a zenon_H67 zenon_Hd7.
% 99.72/99.94  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.94  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.94  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.94  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ].
% 99.72/99.94  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.94  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.94  generalize (zenon_H1bf (n3)). zenon_intro zenon_H2cc.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_He7 | zenon_intro zenon_H2cd ].
% 99.72/99.94  exact (zenon_He7 zenon_He6).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H2cd); [ zenon_intro zenon_H2cb | zenon_intro zenon_H16c ].
% 99.72/99.94  exact (zenon_H2cb zenon_H2ca).
% 99.72/99.94  exact (zenon_H16a zenon_H16c).
% 99.72/99.94  apply (zenon_L231_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He7.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H1b0.
% 99.72/99.94  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  exact (zenon_He0 zenon_Hdf).
% 99.72/99.94  apply (zenon_L232_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_He0.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_He2.
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.94  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_He4 zenon_Hd7).
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  apply zenon_He3. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L233_ *)
% 99.72/99.94  assert (zenon_L234_ : forall (zenon_TB_dj : 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_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H67 zenon_H16a zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc.
% 99.72/99.94  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_H10e | zenon_intro zenon_Hf0 ].
% 99.72/99.94  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H16a.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_0_tptp_minus_1.
% 99.72/99.94  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.72/99.94  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H82. apply refl_equal.
% 99.72/99.94  exact (zenon_Hf0 zenon_H10e).
% 99.72/99.94  apply (zenon_L233_ zenon_TB_dj); trivial.
% 99.72/99.94  (* end of lemma zenon_L234_ *)
% 99.72/99.94  assert (zenon_L235_ : forall (zenon_TB_dj : zenon_U), (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.94  do 1 intro. intros zenon_H1bc zenon_Hd7 zenon_H69 zenon_H55 zenon_H67 zenon_H120.
% 99.72/99.94  elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H170 | zenon_intro zenon_H171 ].
% 99.72/99.94  apply (zenon_and_s _ _ zenon_H170). zenon_intro zenon_H172. zenon_intro zenon_H16b.
% 99.72/99.94  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.72/99.94  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.94  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.72/99.94  generalize (zenon_H13f (n3)). zenon_intro zenon_H16d.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H142 | zenon_intro zenon_H16e ].
% 99.72/99.94  exact (zenon_H142 gt_1_0).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H16a | zenon_intro zenon_H16f ].
% 99.72/99.94  exact (zenon_H16a zenon_H16c).
% 99.72/99.94  exact (zenon_H16b zenon_H16f).
% 99.72/99.94  apply (zenon_L234_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n3) (n1)) = (gt (n1) (n1))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H120.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact gt_3_1.
% 99.72/99.94  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.94  cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H173].
% 99.72/99.94  congruence.
% 99.72/99.94  apply (zenon_notand_s _ _ zenon_H171); [ zenon_intro zenon_H175 | zenon_intro zenon_H174 ].
% 99.72/99.94  apply zenon_H175. zenon_intro zenon_H176.
% 99.72/99.94  elim (classic ((n1) = (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H5c ].
% 99.72/99.94  cut (((n1) = (n1)) = ((n3) = (n1))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H173.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H124.
% 99.72/99.94  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.94  cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H172].
% 99.72/99.94  congruence.
% 99.72/99.94  exact (zenon_H172 zenon_H176).
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  apply zenon_H174. zenon_intro zenon_H16f.
% 99.72/99.94  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.94  generalize (zenon_H13e (n3)). zenon_intro zenon_H177.
% 99.72/99.94  generalize (zenon_H177 (n1)). zenon_intro zenon_H178.
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H178); [ zenon_intro zenon_H16b | zenon_intro zenon_H179 ].
% 99.72/99.94  exact (zenon_H16b zenon_H16f).
% 99.72/99.94  apply (zenon_imply_s _ _ zenon_H179); [ zenon_intro zenon_H17a | zenon_intro zenon_H143 ].
% 99.72/99.94  exact (zenon_H17a gt_3_1).
% 99.72/99.94  exact (zenon_H120 zenon_H143).
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  (* end of lemma zenon_L235_ *)
% 99.72/99.94  assert (zenon_L236_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TB_dj))) -> (~(gt (n1) (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.94  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H1bc zenon_H1b1 zenon_H67.
% 99.72/99.94  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.94  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.94  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.94  cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TB_dj))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H1b1.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H144.
% 99.72/99.94  cut (((succ (n0)) = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 99.72/99.94  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  apply (zenon_L5_ zenon_TB_dj); trivial.
% 99.72/99.94  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.94  apply zenon_H145.
% 99.72/99.94  rewrite <- zenon_D_pnotp.
% 99.72/99.94  exact zenon_H143.
% 99.72/99.94  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.94  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.94  congruence.
% 99.72/99.94  apply zenon_H5c. apply refl_equal.
% 99.72/99.94  exact (zenon_H63 zenon_H121).
% 99.72/99.94  apply (zenon_L235_ zenon_TB_dj); trivial.
% 99.72/99.94  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.94  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.94  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H63.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H64.
% 99.72/99.95  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L236_ *)
% 99.72/99.95  assert (zenon_L237_ : forall (zenon_TB_dj : 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_TB_dj))) -> (~(gt (n0) (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H1b2 zenon_H1bc zenon_Hd7 zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.72/99.95  elim (classic (gt (n1) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H1b1 ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.72/99.95  generalize (zenon_H1b4 (succ zenon_TB_dj)). zenon_intro zenon_H1b5.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1b5); [ zenon_intro zenon_H181 | zenon_intro zenon_H1b6 ].
% 99.72/99.95  exact (zenon_H181 zenon_H17e).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1b6); [ zenon_intro zenon_H1b1 | zenon_intro zenon_H1b7 ].
% 99.72/99.95  exact (zenon_H1b1 zenon_H1b3).
% 99.72/99.95  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.95  apply (zenon_L236_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H181.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H115.
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply (zenon_L220_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L237_ *)
% 99.72/99.95  assert (zenon_L238_ : forall (zenon_TB_dj : 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_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H1b2 zenon_H55 zenon_H69 zenon_Hd7.
% 99.72/99.95  elim (classic (gt (n0) (succ zenon_TB_dj))); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1bc ].
% 99.72/99.95  cut ((gt (n0) (succ zenon_TB_dj)) = (gt (succ (tptp_minus_1)) (succ zenon_TB_dj))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1b2.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1c2.
% 99.72/99.95  cut (((succ zenon_TB_dj) = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H230].
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  congruence.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H230. apply refl_equal.
% 99.72/99.95  apply (zenon_L237_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L238_ *)
% 99.72/99.95  assert (zenon_L239_ : forall (zenon_TB_dj : zenon_U), (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H1b8 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H2e2 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b2 ].
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.95  generalize (zenon_H14b (succ zenon_TB_dj)). zenon_intro zenon_H2e3.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e3); [ zenon_intro zenon_Hce | zenon_intro zenon_H2e4 ].
% 99.72/99.95  exact (zenon_Hce zenon_Hd5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e4); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H2e5 ].
% 99.72/99.95  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.95  exact (zenon_H2e2 zenon_H2e5).
% 99.72/99.95  apply (zenon_L72_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hce.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He1.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L74_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L239_ *)
% 99.72/99.95  assert (zenon_L240_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(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).
% 99.72/99.95  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H2e2 zenon_H1c8 zenon_H67.
% 99.72/99.95  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1c8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1bb.
% 99.72/99.95  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  exact (zenon_H8d zenon_H1c9).
% 99.72/99.95  apply (zenon_L239_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H8d.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H8e.
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L240_ *)
% 99.72/99.95  assert (zenon_L241_ : forall (zenon_TB_dj : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H1ca zenon_H2e2 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H61 | zenon_intro zenon_H5d ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.95  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.95  generalize (zenon_H13e (succ (tptp_minus_1))). zenon_intro zenon_H1cc.
% 99.72/99.95  generalize (zenon_H1cc (succ (succ (n0)))). zenon_intro zenon_H1cd.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1cd); [ zenon_intro zenon_H5d | zenon_intro zenon_H1ce ].
% 99.72/99.95  exact (zenon_H5d zenon_H61).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1ce); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1cf ].
% 99.72/99.95  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.95  exact (zenon_H1ca zenon_H1cf).
% 99.72/99.95  apply (zenon_L240_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5d.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_1_0.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H5c. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L241_ *)
% 99.72/99.95  assert (zenon_L242_ : forall (zenon_TB_dj : 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_TB_dj (succ zenon_TB_dj))) -> (~(gt (succ (succ (n0))) (succ (succ (n0))))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H2e2 zenon_H1de zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0.
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1d0 ].
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1df | zenon_intro zenon_H1e0 ].
% 99.72/99.95  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ].
% 99.72/99.95  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.95  generalize (zenon_H1d9 (n1)). zenon_intro zenon_H1e1.
% 99.72/99.95  generalize (zenon_H1e1 (succ (succ (n0)))). zenon_intro zenon_H1e2.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1e2); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1e3 ].
% 99.72/99.95  exact (zenon_H1e0 zenon_H1df).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1e3); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1e4 ].
% 99.72/99.95  exact (zenon_H1ca zenon_H1cf).
% 99.72/99.95  exact (zenon_H1de zenon_H1e4).
% 99.72/99.95  apply (zenon_L241_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1e0.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1dd.
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply (zenon_L83_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L242_ *)
% 99.72/99.95  assert (zenon_L243_ : forall (zenon_TB_dj : 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))) (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H1e5 zenon_H2e2 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H1e4 | zenon_intro zenon_H1de ].
% 99.72/99.95  cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1e5.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1e4.
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply (zenon_L242_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L243_ *)
% 99.72/99.95  assert (zenon_L244_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (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).
% 99.72/99.95  do 1 intro. intros zenon_H2e2 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H67 zenon_H1e6.
% 99.72/99.95  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1e5 ].
% 99.72/99.95  cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1e6.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1e7.
% 99.72/99.95  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  congruence.
% 99.72/99.95  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.72/99.95  cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H90.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1e8.
% 99.72/99.95  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.95  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H8d zenon_H1c9).
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  apply (zenon_L243_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H8d.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H8e.
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L244_ *)
% 99.72/99.95  assert (zenon_L245_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ (succ (succ (n0)))))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ (succ (n0))))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((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).
% 99.72/99.95  do 1 intro. intros zenon_H25e zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H217 zenon_H2e2 zenon_Hf0 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.95  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.72/99.95  exact (zenon_Hce zenon_Hd5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.72/99.95  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.95  exact (zenon_H217 zenon_H21a).
% 99.72/99.95  apply (zenon_L240_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hce.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He1.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L207_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L245_ *)
% 99.72/99.95  assert (zenon_L246_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ (succ (succ (n0)))))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H21b zenon_H2e2 zenon_Hf0 zenon_H25e zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (succ (n0))))); [ zenon_intro zenon_H21a | zenon_intro zenon_H217 ].
% 99.72/99.95  cut ((gt zenon_TB_dj (succ (succ (n0)))) = (gt zenon_TB_dj (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H21b.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H21a.
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply (zenon_L245_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L246_ *)
% 99.72/99.95  assert (zenon_L247_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H257 zenon_H21b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H2e2.
% 99.72/99.95  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.95  apply (zenon_L4_); trivial.
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.95  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.95  exact (zenon_H81 zenon_H69).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.95  exact (zenon_H25e zenon_H25d).
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H257.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H205.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.95  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.95  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.95  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.95  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.95  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.95  generalize (zenon_H7e (succ (succ (succ (n0))))). zenon_intro zenon_H261.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H60 | zenon_intro zenon_H262 ].
% 99.72/99.95  exact (zenon_H60 zenon_H7c).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H200 | zenon_intro zenon_H256 ].
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  exact (zenon_H257 zenon_H256).
% 99.72/99.95  apply zenon_H1f1. apply refl_equal.
% 99.72/99.95  apply (zenon_L246_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L247_ *)
% 99.72/99.95  assert (zenon_L248_ : forall (zenon_TB_dj : 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))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (n2))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H259 zenon_H2e2 zenon_Hf0 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H21b.
% 99.72/99.95  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.95  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H259.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H256.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.95  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  exact (zenon_H1f2 successor_3).
% 99.72/99.95  apply (zenon_L247_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L248_ *)
% 99.72/99.95  assert (zenon_L249_ : forall (zenon_TB_dj : 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 zenon_TB_dj (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H2c4 zenon_H21b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H2e2.
% 99.72/99.95  elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ea ].
% 99.72/99.95  generalize (zenon_H67 (n3)). zenon_intro zenon_H93.
% 99.72/99.95  generalize (zenon_H93 (n2)). zenon_intro zenon_H94.
% 99.72/99.95  generalize (zenon_H94 (n3)). zenon_intro zenon_H2c5.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H97 | zenon_intro zenon_H2c6 ].
% 99.72/99.95  exact (zenon_H97 gt_3_2).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2c6); [ zenon_intro zenon_H1ea | zenon_intro zenon_H2c7 ].
% 99.72/99.95  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.95  exact (zenon_H2c4 zenon_H2c7).
% 99.72/99.95  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.95  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.95  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.95  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.72/99.95  exact (zenon_H8a gt_2_1).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.72/99.95  exact (zenon_H16b zenon_H16f).
% 99.72/99.95  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.95  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.95  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.95  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.95  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.72/99.95  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.95  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.95  generalize (zenon_H253 (n3)). zenon_intro zenon_H2c8.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2c8); [ zenon_intro zenon_H145 | zenon_intro zenon_H2c9 ].
% 99.72/99.95  exact (zenon_H145 zenon_H144).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H259 | zenon_intro zenon_H16f ].
% 99.72/99.95  exact (zenon_H259 zenon_H258).
% 99.72/99.95  exact (zenon_H16b zenon_H16f).
% 99.72/99.95  apply (zenon_L248_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H145.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H143.
% 99.72/99.95  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.95  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H5c. apply refl_equal.
% 99.72/99.95  exact (zenon_H63 zenon_H121).
% 99.72/99.95  apply (zenon_L52_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.95  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H63.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H64.
% 99.72/99.95  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L249_ *)
% 99.72/99.95  assert (zenon_L250_ : forall (zenon_TB_dj : 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)))))) -> (~(gt zenon_TB_dj (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H200 zenon_H21b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hf0 zenon_H2e2.
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.95  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.95  exact (zenon_H81 zenon_H69).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.95  exact (zenon_H25e zenon_H25d).
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  apply (zenon_L246_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L250_ *)
% 99.72/99.95  assert (zenon_L251_ : forall (zenon_TB_dj : zenon_U), (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (~(gt zenon_TB_dj (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H18c zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H2b2 zenon_H21b zenon_Hf0 zenon_H2e2 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_He9 | zenon_intro zenon_Hea ].
% 99.72/99.95  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1c3 | zenon_intro zenon_H1c4 ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.95  generalize (zenon_H67 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H19f.
% 99.72/99.95  generalize (zenon_H19f (succ (tptp_minus_1))). zenon_intro zenon_H1c5.
% 99.72/99.95  generalize (zenon_H1c5 (succ (succ (succ (n0))))). zenon_intro zenon_H2e0.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e0); [ zenon_intro zenon_H1c4 | zenon_intro zenon_H2e1 ].
% 99.72/99.95  exact (zenon_H1c4 zenon_H1c3).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e1); [ zenon_intro zenon_H200 | zenon_intro zenon_H2b5 ].
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  exact (zenon_H2b2 zenon_H2b5).
% 99.72/99.95  apply (zenon_L250_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1c4.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He9.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_He3. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L66_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L251_ *)
% 99.72/99.95  assert (zenon_L252_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt (n0) (n3))) -> (~(gt zenon_TB_dj (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(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)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H16a zenon_H21b zenon_Hf0 zenon_H2e2 zenon_H18c zenon_H67 zenon_Hd7.
% 99.72/99.95  elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hdf | zenon_intro zenon_He0 ].
% 99.72/99.95  elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1b0 | zenon_intro zenon_He8 ].
% 99.72/99.95  elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He6 | zenon_intro zenon_He7 ].
% 99.72/99.95  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H2ca | zenon_intro zenon_H2cb ].
% 99.72/99.95  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.95  generalize (zenon_H11c (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1bf.
% 99.72/99.95  generalize (zenon_H1bf (n3)). zenon_intro zenon_H2cc.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_He7 | zenon_intro zenon_H2cd ].
% 99.72/99.95  exact (zenon_He7 zenon_He6).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2cd); [ zenon_intro zenon_H2cb | zenon_intro zenon_H16c ].
% 99.72/99.95  exact (zenon_H2cb zenon_H2ca).
% 99.72/99.95  exact (zenon_H16a zenon_H16c).
% 99.72/99.95  elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2b5 | zenon_intro zenon_H2b2 ].
% 99.72/99.95  cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H2cb.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H2b5.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.95  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_He3. apply refl_equal.
% 99.72/99.95  exact (zenon_H1f2 successor_3).
% 99.72/99.95  apply (zenon_L251_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_He7.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1b0.
% 99.72/99.95  cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He0].
% 99.72/99.95  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H82. apply refl_equal.
% 99.72/99.95  exact (zenon_He0 zenon_Hdf).
% 99.72/99.95  apply (zenon_L68_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_He2 | zenon_intro zenon_He3 ].
% 99.72/99.95  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_He0.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He2.
% 99.72/99.95  cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_He3].
% 99.72/99.95  cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He4].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_He4 zenon_Hd7).
% 99.72/99.95  apply zenon_He3. apply refl_equal.
% 99.72/99.95  apply zenon_He3. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L252_ *)
% 99.72/99.95  assert (zenon_L253_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n2))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt (n0) (n3))) -> (~(gt (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).
% 99.72/99.95  do 1 intro. intros zenon_H21b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_Hf0 zenon_H2e2 zenon_H16a zenon_H291 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H18f | zenon_intro zenon_H18c ].
% 99.72/99.95  elim (classic (gt (tptp_minus_1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H292 | zenon_intro zenon_H293 ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.95  generalize (zenon_H67 (tptp_minus_1)). zenon_intro zenon_H166.
% 99.72/99.95  generalize (zenon_H166 (succ (tptp_minus_1))). zenon_intro zenon_H294.
% 99.72/99.95  generalize (zenon_H294 (succ (succ (succ (n0))))). zenon_intro zenon_H295.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H295); [ zenon_intro zenon_H293 | zenon_intro zenon_H296 ].
% 99.72/99.95  exact (zenon_H293 zenon_H292).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H296); [ zenon_intro zenon_H200 | zenon_intro zenon_H297 ].
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  exact (zenon_H291 zenon_H297).
% 99.72/99.95  apply (zenon_L250_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H293.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H18f.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_Hec. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L252_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L253_ *)
% 99.72/99.95  assert (zenon_L254_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TB_dj (n2))) -> (~(gt (n0) (n3))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H184 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H2e2 zenon_Hf0 zenon_H21b zenon_H16a.
% 99.72/99.95  elim (classic (gt (tptp_minus_1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H297 | zenon_intro zenon_H291 ].
% 99.72/99.95  cut ((gt (tptp_minus_1) (succ (succ (succ (n0))))) = (gt (tptp_minus_1) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H184.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H297.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.95  cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hec].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_Hec. apply refl_equal.
% 99.72/99.95  exact (zenon_H1f2 successor_3).
% 99.72/99.95  apply (zenon_L253_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L254_ *)
% 99.72/99.95  assert (zenon_L255_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H16a zenon_H21b zenon_H2e2 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_H10e | zenon_intro zenon_Hf0 ].
% 99.72/99.95  cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H16a.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_0_tptp_minus_1.
% 99.72/99.95  cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hf0].
% 99.72/99.95  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H82. apply refl_equal.
% 99.72/99.95  exact (zenon_Hf0 zenon_H10e).
% 99.72/99.95  elim (classic (gt (tptp_minus_1) (n3))); [ zenon_intro zenon_H188 | zenon_intro zenon_H184 ].
% 99.72/99.95  generalize (zenon_H67 (n0)). zenon_intro zenon_H11c.
% 99.72/99.95  generalize (zenon_H11c (tptp_minus_1)). zenon_intro zenon_H11d.
% 99.72/99.95  generalize (zenon_H11d (n3)). zenon_intro zenon_H2e6.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e6); [ zenon_intro zenon_H109 | zenon_intro zenon_H2e7 ].
% 99.72/99.95  exact (zenon_H109 gt_0_tptp_minus_1).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e7); [ zenon_intro zenon_H184 | zenon_intro zenon_H16c ].
% 99.72/99.95  exact (zenon_H184 zenon_H188).
% 99.72/99.95  exact (zenon_H16a zenon_H16c).
% 99.72/99.95  apply (zenon_L254_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L255_ *)
% 99.72/99.95  assert (zenon_L256_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H16b zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H2e2 zenon_H21b.
% 99.72/99.95  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.72/99.95  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.95  generalize (zenon_H13e (n0)). zenon_intro zenon_H13f.
% 99.72/99.95  generalize (zenon_H13f (n3)). zenon_intro zenon_H16d.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H142 | zenon_intro zenon_H16e ].
% 99.72/99.95  exact (zenon_H142 gt_1_0).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H16a | zenon_intro zenon_H16f ].
% 99.72/99.95  exact (zenon_H16a zenon_H16c).
% 99.72/99.95  exact (zenon_H16b zenon_H16f).
% 99.72/99.95  apply (zenon_L255_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L256_ *)
% 99.72/99.95  assert (zenon_L257_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H1ea zenon_H21b zenon_H2e2 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7.
% 99.72/99.95  elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H16f | zenon_intro zenon_H16b ].
% 99.72/99.95  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.95  generalize (zenon_H86 (n1)). zenon_intro zenon_H87.
% 99.72/99.95  generalize (zenon_H87 (n3)). zenon_intro zenon_H1eb.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1eb); [ zenon_intro zenon_H8a | zenon_intro zenon_H1ec ].
% 99.72/99.95  exact (zenon_H8a gt_2_1).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1ec); [ zenon_intro zenon_H16b | zenon_intro zenon_H1ed ].
% 99.72/99.95  exact (zenon_H16b zenon_H16f).
% 99.72/99.95  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.95  apply (zenon_L256_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L257_ *)
% 99.72/99.95  assert (zenon_L258_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.72/99.95  do 1 intro. intros zenon_H21b zenon_H2e2 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H67 zenon_H1e6.
% 99.72/99.95  elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1f6 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H1f5). zenon_intro zenon_H1f7. zenon_intro zenon_H1ea.
% 99.72/99.95  apply (zenon_L257_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n3) (n2)) = (gt (n2) (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1e6.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_3_2.
% 99.72/99.95  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.95  cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1f8].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H1f6); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1f9 ].
% 99.72/99.95  apply zenon_H1fa. zenon_intro zenon_H1fb.
% 99.72/99.95  elim (classic ((n2) = (n2))); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H84 ].
% 99.72/99.95  cut (((n2) = (n2)) = ((n3) = (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1f8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1e8.
% 99.72/99.95  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.95  cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f7].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H1f7 zenon_H1fb).
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  apply zenon_H1f9. zenon_intro zenon_H1ed.
% 99.72/99.95  generalize (zenon_H67 (n2)). zenon_intro zenon_H86.
% 99.72/99.95  generalize (zenon_H86 (n3)). zenon_intro zenon_H1fc.
% 99.72/99.95  generalize (zenon_H1fc (n2)). zenon_intro zenon_H1fd.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1ea | zenon_intro zenon_H1fe ].
% 99.72/99.95  exact (zenon_H1ea zenon_H1ed).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H1fe); [ zenon_intro zenon_H97 | zenon_intro zenon_H1ff ].
% 99.72/99.95  exact (zenon_H97 gt_3_2).
% 99.72/99.95  exact (zenon_H1e6 zenon_H1ff).
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L258_ *)
% 99.72/99.95  assert (zenon_L259_ : forall (zenon_TB_dj : 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 (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H235 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H2e2 zenon_H21b.
% 99.72/99.95  elim (classic ((~((succ (succ (n0))) = (succ zenon_TB_dj)))/\(~(gt (succ (succ (n0))) (succ zenon_TB_dj))))); [ zenon_intro zenon_H236 | zenon_intro zenon_H237 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H236). zenon_intro zenon_H238. zenon_intro zenon_H231.
% 99.72/99.95  apply (zenon_L123_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.72/99.95  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.72/99.95  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.72/99.95  generalize (zenon_H12b (n3)). zenon_intro zenon_H239.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H239); [ zenon_intro zenon_H5b | zenon_intro zenon_H23a ].
% 99.72/99.95  exact (zenon_H5b zenon_H55).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H23a); [ zenon_intro zenon_H16a | zenon_intro zenon_H23b ].
% 99.72/99.95  exact (zenon_H16a zenon_H16c).
% 99.72/99.95  cut ((gt (succ zenon_TB_dj) (n3)) = (gt (succ (succ (n0))) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H235.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H23b.
% 99.72/99.95  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.72/99.95  cut (((succ zenon_TB_dj) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H23c].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H237); [ zenon_intro zenon_H23e | zenon_intro zenon_H23d ].
% 99.72/99.95  apply zenon_H23e. zenon_intro zenon_H23f.
% 99.72/99.95  apply zenon_H23c. apply sym_equal. exact zenon_H23f.
% 99.72/99.95  apply zenon_H23d. zenon_intro zenon_H234.
% 99.72/99.95  generalize (zenon_H67 (succ (succ (n0)))). zenon_intro zenon_H1d9.
% 99.72/99.95  generalize (zenon_H1d9 (succ zenon_TB_dj)). zenon_intro zenon_H240.
% 99.72/99.95  generalize (zenon_H240 (n3)). zenon_intro zenon_H241.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H231 | zenon_intro zenon_H242 ].
% 99.72/99.95  exact (zenon_H231 zenon_H234).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H244 | zenon_intro zenon_H243 ].
% 99.72/99.95  exact (zenon_H244 zenon_H23b).
% 99.72/99.95  exact (zenon_H235 zenon_H243).
% 99.72/99.95  apply zenon_H83. apply refl_equal.
% 99.72/99.95  apply (zenon_L255_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L259_ *)
% 99.72/99.95  assert (zenon_L260_ : forall (zenon_TB_dj : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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).
% 99.72/99.95  do 1 intro. intros zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H2e2 zenon_H21b zenon_H1f3 zenon_H67.
% 99.72/99.95  elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1ef | zenon_intro zenon_Ha7 ].
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H243 | zenon_intro zenon_H235 ].
% 99.72/99.95  cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1f3.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H243.
% 99.72/99.95  cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  exact (zenon_Ha7 zenon_H1ef).
% 99.72/99.95  apply (zenon_L259_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H1f0 | zenon_intro zenon_H1f1 ].
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Ha7.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1f0.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H1f2 successor_3).
% 99.72/99.95  apply zenon_H1f1. apply refl_equal.
% 99.72/99.95  apply zenon_H1f1. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L260_ *)
% 99.72/99.95  assert (zenon_L261_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (~(zenon_TB_dj = (n2))) -> (~(zenon_TB_dj = (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).
% 99.72/99.95  do 1 intro. intros zenon_H21b zenon_H2e2 zenon_H55 zenon_H69 zenon_Hbf zenon_Hc0 zenon_Hd7 zenon_H200 zenon_H67.
% 99.72/99.95  elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H8d ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1bb | zenon_intro zenon_H1b8 ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.95  elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H201 | zenon_intro zenon_H1f3 ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda (succ (succ (n0)))). zenon_intro zenon_H202.
% 99.72/99.95  generalize (zenon_H202 (succ (succ (succ (n0))))). zenon_intro zenon_H203.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H204 ].
% 99.72/99.95  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H205 ].
% 99.72/99.95  exact (zenon_H1f3 zenon_H201).
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  apply (zenon_L260_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1c8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H1bb.
% 99.72/99.95  cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8d].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  exact (zenon_H8d zenon_H1c9).
% 99.72/99.95  elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H206 | zenon_intro zenon_H207 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H206). zenon_intro zenon_H209. zenon_intro zenon_H208.
% 99.72/99.95  elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TB_dj)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TB_dj))))); [ zenon_intro zenon_H245 | zenon_intro zenon_H246 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H245). zenon_intro zenon_H247. zenon_intro zenon_H1b2.
% 99.72/99.95  apply (zenon_L72_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H16c | zenon_intro zenon_H16a ].
% 99.72/99.95  generalize (zenon_H67 (succ zenon_TB_dj)). zenon_intro zenon_H12a.
% 99.72/99.95  generalize (zenon_H12a (n0)). zenon_intro zenon_H12b.
% 99.72/99.95  generalize (zenon_H12b (n3)). zenon_intro zenon_H239.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H239); [ zenon_intro zenon_H5b | zenon_intro zenon_H23a ].
% 99.72/99.95  exact (zenon_H5b zenon_H55).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H23a); [ zenon_intro zenon_H16a | zenon_intro zenon_H23b ].
% 99.72/99.95  exact (zenon_H16a zenon_H16c).
% 99.72/99.95  cut ((gt (succ zenon_TB_dj) (n3)) = (gt (succ (tptp_minus_1)) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H208.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H23b.
% 99.72/99.95  cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H83].
% 99.72/99.95  cut (((succ zenon_TB_dj) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H248].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H246); [ zenon_intro zenon_H24a | zenon_intro zenon_H249 ].
% 99.72/99.95  apply zenon_H24a. zenon_intro zenon_H24b.
% 99.72/99.95  apply zenon_H248. apply sym_equal. exact zenon_H24b.
% 99.72/99.95  apply zenon_H249. zenon_intro zenon_H1b7.
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda (succ zenon_TB_dj)). zenon_intro zenon_H24c.
% 99.72/99.95  generalize (zenon_H24c (n3)). zenon_intro zenon_H24d.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H24e ].
% 99.72/99.95  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H244 | zenon_intro zenon_H20c ].
% 99.72/99.95  exact (zenon_H244 zenon_H23b).
% 99.72/99.95  exact (zenon_H208 zenon_H20c).
% 99.72/99.95  apply zenon_H83. apply refl_equal.
% 99.72/99.95  apply (zenon_L255_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H1b8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_3_2.
% 99.72/99.95  cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H84].
% 99.72/99.95  cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H20d].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H207); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 99.72/99.95  apply zenon_H20f. zenon_intro zenon_H210.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H20d.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H209].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H209 zenon_H210).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H20e. zenon_intro zenon_H20c.
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda (n3)). zenon_intro zenon_H211.
% 99.72/99.95  generalize (zenon_H211 (n2)). zenon_intro zenon_H212.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H212); [ zenon_intro zenon_H208 | zenon_intro zenon_H213 ].
% 99.72/99.95  exact (zenon_H208 zenon_H20c).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H213); [ zenon_intro zenon_H97 | zenon_intro zenon_H1bb ].
% 99.72/99.95  exact (zenon_H97 gt_3_2).
% 99.72/99.95  exact (zenon_H1b8 zenon_H1bb).
% 99.72/99.95  apply zenon_H84. apply refl_equal.
% 99.72/99.95  elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H8e | zenon_intro zenon_H8f ].
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H8d.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H8e.
% 99.72/99.95  cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H8f].
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  apply zenon_H8f. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L261_ *)
% 99.72/99.95  assert (zenon_L262_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H25e zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_H2e2 zenon_H21b zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H205 | zenon_intro zenon_H200 ].
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.95  generalize (zenon_H14b (succ (succ (succ (n0))))). zenon_intro zenon_H263.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_Hce | zenon_intro zenon_H264 ].
% 99.72/99.95  exact (zenon_Hce zenon_Hd5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H200 | zenon_intro zenon_H25d ].
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  exact (zenon_H25e zenon_H25d).
% 99.72/99.95  apply (zenon_L261_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hce.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He1.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L207_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L262_ *)
% 99.72/99.95  assert (zenon_L263_ : forall (zenon_TB_dj : 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 zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H252 zenon_H2e2 zenon_H21b zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H256 | zenon_intro zenon_H257 ].
% 99.72/99.95  elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ].
% 99.72/99.95  elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H214 | zenon_intro zenon_H1e9 ].
% 99.72/99.95  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.95  generalize (zenon_H7d (n3)). zenon_intro zenon_H25a.
% 99.72/99.95  generalize (zenon_H25a (succ (succ (n0)))). zenon_intro zenon_H25b.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H25b); [ zenon_intro zenon_H259 | zenon_intro zenon_H25c ].
% 99.72/99.95  exact (zenon_H259 zenon_H258).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H25c); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H251 ].
% 99.72/99.95  exact (zenon_H1e9 zenon_H214).
% 99.72/99.95  exact (zenon_H252 zenon_H251).
% 99.72/99.95  apply (zenon_L87_); trivial.
% 99.72/99.95  cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H259.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H256.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H1f2].
% 99.72/99.95  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  exact (zenon_H1f2 successor_3).
% 99.72/99.95  elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H60.
% 99.72/99.95  apply (zenon_L4_); trivial.
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (succ (succ (n0)))))); [ zenon_intro zenon_H25d | zenon_intro zenon_H25e ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda zenon_TB_dj). zenon_intro zenon_Hdb.
% 99.72/99.95  generalize (zenon_Hdb (succ (succ (succ (n0))))). zenon_intro zenon_H25f.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H25f); [ zenon_intro zenon_H81 | zenon_intro zenon_H260 ].
% 99.72/99.95  exact (zenon_H81 zenon_H69).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H25e | zenon_intro zenon_H205 ].
% 99.72/99.95  exact (zenon_H25e zenon_H25d).
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H257.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H205.
% 99.72/99.95  cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H1f1].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 99.72/99.95  apply zenon_H7a. zenon_intro zenon_H7b.
% 99.72/99.95  apply zenon_H78. apply sym_equal. exact zenon_H7b.
% 99.72/99.95  apply zenon_H79. zenon_intro zenon_H7c.
% 99.72/99.95  generalize (zenon_H67 (succ (n0))). zenon_intro zenon_H7d.
% 99.72/99.95  generalize (zenon_H7d (succ (tptp_minus_1))). zenon_intro zenon_H7e.
% 99.72/99.95  generalize (zenon_H7e (succ (succ (succ (n0))))). zenon_intro zenon_H261.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H60 | zenon_intro zenon_H262 ].
% 99.72/99.95  exact (zenon_H60 zenon_H7c).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H200 | zenon_intro zenon_H256 ].
% 99.72/99.95  exact (zenon_H200 zenon_H205).
% 99.72/99.95  exact (zenon_H257 zenon_H256).
% 99.72/99.95  apply zenon_H1f1. apply refl_equal.
% 99.72/99.95  apply (zenon_L262_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L263_ *)
% 99.72/99.95  assert (zenon_L264_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H21b zenon_H2e2 zenon_H1c8 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_Hd7.
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_H115 | zenon_intro zenon_H111 ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H17e | zenon_intro zenon_H181 ].
% 99.72/99.95  elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ].
% 99.72/99.95  generalize (zenon_H67 (succ (tptp_minus_1))). zenon_intro zenon_Hda.
% 99.72/99.95  generalize (zenon_Hda (n1)). zenon_intro zenon_H1b4.
% 99.72/99.95  generalize (zenon_H1b4 (succ (succ (n0)))). zenon_intro zenon_H24f.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H24f); [ zenon_intro zenon_H181 | zenon_intro zenon_H250 ].
% 99.72/99.95  exact (zenon_H181 zenon_H17e).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H250); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1cb ].
% 99.72/99.95  exact (zenon_H1ca zenon_H1cf).
% 99.72/99.95  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.95  elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H121 | zenon_intro zenon_H63 ].
% 99.72/99.95  elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H143 | zenon_intro zenon_H120 ].
% 99.72/99.95  elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 99.72/99.95  elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H251 | zenon_intro zenon_H252 ].
% 99.72/99.95  generalize (zenon_H67 (n1)). zenon_intro zenon_H13e.
% 99.72/99.95  generalize (zenon_H13e (succ (n0))). zenon_intro zenon_H253.
% 99.72/99.95  generalize (zenon_H253 (succ (succ (n0)))). zenon_intro zenon_H254.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H254); [ zenon_intro zenon_H145 | zenon_intro zenon_H255 ].
% 99.72/99.95  exact (zenon_H145 zenon_H144).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H252 | zenon_intro zenon_H1cf ].
% 99.72/99.95  exact (zenon_H252 zenon_H251).
% 99.72/99.95  exact (zenon_H1ca zenon_H1cf).
% 99.72/99.95  apply (zenon_L263_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H145.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H143.
% 99.72/99.95  cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H63].
% 99.72/99.95  cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H5c. apply refl_equal.
% 99.72/99.95  exact (zenon_H63 zenon_H121).
% 99.72/99.95  apply (zenon_L52_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H64 | zenon_intro zenon_H65 ].
% 99.72/99.95  cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H63.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H64.
% 99.72/99.95  cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  apply zenon_H65. apply refl_equal.
% 99.72/99.95  cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H181.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H115.
% 99.72/99.95  cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H66].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  exact (zenon_H66 successor_1).
% 99.72/99.95  apply (zenon_L71_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L264_ *)
% 99.72/99.95  assert (zenon_L265_ : forall (zenon_TB_dj : zenon_U), (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (~(gt zenon_TB_dj (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).
% 99.72/99.95  do 1 intro. intros zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55 zenon_Hd7 zenon_H21b zenon_H2e2 zenon_H217 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1c8 ].
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.95  generalize (zenon_H14b (succ (succ (n0)))). zenon_intro zenon_H218.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H218); [ zenon_intro zenon_Hce | zenon_intro zenon_H219 ].
% 99.72/99.95  exact (zenon_Hce zenon_Hd5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H21a ].
% 99.72/99.95  exact (zenon_H1c8 zenon_H1cb).
% 99.72/99.95  exact (zenon_H217 zenon_H21a).
% 99.72/99.95  apply (zenon_L264_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hce.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He1.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L95_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L265_ *)
% 99.72/99.95  assert (zenon_L266_ : forall (zenon_TB_dj : 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_TB_dj (n2))) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (~(zenon_TB_dj = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H67 zenon_H21b zenon_H2e2 zenon_Hd7 zenon_Hc0 zenon_Hbf zenon_H69 zenon_H55.
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (succ (n0))))); [ zenon_intro zenon_H21a | zenon_intro zenon_H217 ].
% 99.72/99.95  cut ((gt zenon_TB_dj (succ (succ (n0)))) = (gt zenon_TB_dj (n2))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H21b.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H21a.
% 99.72/99.95  cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H90].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H90 successor_2).
% 99.72/99.95  apply (zenon_L265_ zenon_TB_dj); trivial.
% 99.72/99.95  (* end of lemma zenon_L266_ *)
% 99.72/99.95  assert (zenon_L267_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TB_dj = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TB_dj (n0))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H2e2 zenon_Hd7 zenon_Hc0 zenon_H69 zenon_H55 zenon_H67 zenon_Hd4.
% 99.72/99.95  elim (classic ((~(zenon_TB_dj = (n2)))/\(~(gt zenon_TB_dj (n2))))); [ zenon_intro zenon_H224 | zenon_intro zenon_H225 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H224). zenon_intro zenon_Hbf. zenon_intro zenon_H21b.
% 99.72/99.95  apply (zenon_L266_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n2) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hd4.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_2_0.
% 99.72/99.95  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.95  cut (((n2) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H226].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H225); [ zenon_intro zenon_H228 | zenon_intro zenon_H227 ].
% 99.72/99.95  apply zenon_H228. zenon_intro zenon_Hc8.
% 99.72/99.95  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj) = ((n2) = zenon_TB_dj)).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H226.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hd2.
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  cut ((zenon_TB_dj = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hbf].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hbf zenon_Hc8).
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H227. zenon_intro zenon_H21f.
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (n2)). zenon_intro zenon_H229.
% 99.72/99.95  generalize (zenon_H229 (n0)). zenon_intro zenon_H22c.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H22c); [ zenon_intro zenon_H21b | zenon_intro zenon_H22d ].
% 99.72/99.95  exact (zenon_H21b zenon_H21f).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H190 | zenon_intro zenon_He1 ].
% 99.72/99.95  exact (zenon_H190 gt_2_0).
% 99.72/99.95  exact (zenon_Hd4 zenon_He1).
% 99.72/99.95  apply zenon_H82. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L267_ *)
% 99.72/99.95  assert (zenon_L268_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TB_dj (n0))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H2e2 zenon_H67 zenon_Hd4.
% 99.72/99.95  elim (classic ((~(zenon_TB_dj = (n3)))/\(~(gt zenon_TB_dj (n3))))); [ zenon_intro zenon_H2d6 | zenon_intro zenon_H2d7 ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H2d6). zenon_intro zenon_Hc0. zenon_intro zenon_H2d0.
% 99.72/99.95  apply (zenon_L267_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (n3) (n0)) = (gt zenon_TB_dj (n0))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hd4.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact gt_3_0.
% 99.72/99.95  cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H82].
% 99.72/99.95  cut (((n3) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H2d8].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H2d7); [ zenon_intro zenon_H2da | zenon_intro zenon_H2d9 ].
% 99.72/99.95  apply zenon_H2da. zenon_intro zenon_Hc7.
% 99.72/99.95  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj) = ((n3) = zenon_TB_dj)).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H2d8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hd2.
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  cut ((zenon_TB_dj = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hc0].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hc0 zenon_Hc7).
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H2d9. zenon_intro zenon_H2d1.
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (n3)). zenon_intro zenon_H2db.
% 99.72/99.95  generalize (zenon_H2db (n0)). zenon_intro zenon_H2de.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2de); [ zenon_intro zenon_H2d0 | zenon_intro zenon_H2df ].
% 99.72/99.95  exact (zenon_H2d0 zenon_H2d1).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2df); [ zenon_intro zenon_H193 | zenon_intro zenon_He1 ].
% 99.72/99.95  exact (zenon_H193 gt_3_0).
% 99.72/99.95  exact (zenon_Hd4 zenon_He1).
% 99.72/99.95  apply zenon_H82. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L268_ *)
% 99.72/99.95  assert (zenon_L269_ : forall (zenon_TB_dj : zenon_U), (~(gt zenon_TB_dj (succ zenon_TB_dj))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> (gt (succ zenon_TB_dj) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H2e2 zenon_Hd7 zenon_H69 zenon_H55 zenon_H67.
% 99.72/99.95  elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (n0))); [ zenon_intro zenon_He1 | zenon_intro zenon_Hd4 ].
% 99.72/99.95  elim (classic (gt zenon_TB_dj (succ (tptp_minus_1)))); [ zenon_intro zenon_Hd5 | zenon_intro zenon_Hce ].
% 99.72/99.95  elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TB_dj))); [ zenon_intro zenon_H1b7 | zenon_intro zenon_H1b2 ].
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ (tptp_minus_1))). zenon_intro zenon_H14b.
% 99.72/99.95  generalize (zenon_H14b (succ zenon_TB_dj)). zenon_intro zenon_H2e3.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e3); [ zenon_intro zenon_Hce | zenon_intro zenon_H2e4 ].
% 99.72/99.95  exact (zenon_Hce zenon_Hd5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2e4); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H2e5 ].
% 99.72/99.95  exact (zenon_H1b2 zenon_H1b7).
% 99.72/99.95  exact (zenon_H2e2 zenon_H2e5).
% 99.72/99.95  apply (zenon_L238_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt zenon_TB_dj (n0)) = (gt zenon_TB_dj (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_Hce.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_He1.
% 99.72/99.95  cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  congruence.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  exact (zenon_H5f zenon_H5e).
% 99.72/99.95  apply (zenon_L268_ zenon_TB_dj); trivial.
% 99.72/99.95  elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hcc | zenon_intro zenon_H62 ].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H5f.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hcc.
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 99.72/99.95  cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcd].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_Hcd succ_tptp_minus_1).
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  apply zenon_H62. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L269_ *)
% 99.72/99.95  assert (zenon_L270_ : forall (zenon_TB_dj : zenon_U), (gt (succ zenon_TB_dj) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TB_dj) -> ((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 zenon_TB_dj zenon_TB_dj)) -> (gt (succ zenon_TB_dj) zenon_TB_dj) -> False).
% 99.72/99.95  do 1 intro. intros zenon_H55 zenon_H69 zenon_Hd7 zenon_H67 zenon_H2e8 zenon_H2e9.
% 99.72/99.95  elim (classic ((~(zenon_TB_dj = (succ zenon_TB_dj)))/\(~(gt zenon_TB_dj (succ zenon_TB_dj))))); [ zenon_intro zenon_H2ea | zenon_intro zenon_H2eb ].
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_H2ec. zenon_intro zenon_H2e2.
% 99.72/99.95  apply (zenon_L269_ zenon_TB_dj); trivial.
% 99.72/99.95  cut ((gt (succ zenon_TB_dj) zenon_TB_dj) = (gt zenon_TB_dj zenon_TB_dj)).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H2e8.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_H2e9.
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  cut (((succ zenon_TB_dj) = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H2ed].
% 99.72/99.95  congruence.
% 99.72/99.95  apply (zenon_notand_s _ _ zenon_H2eb); [ zenon_intro zenon_H2ef | zenon_intro zenon_H2ee ].
% 99.72/99.95  apply zenon_H2ef. zenon_intro zenon_H2f0.
% 99.72/99.95  elim (classic (zenon_TB_dj = zenon_TB_dj)); [ zenon_intro zenon_Hd2 | zenon_intro zenon_H77 ].
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj) = ((succ zenon_TB_dj) = zenon_TB_dj)).
% 99.72/99.95  intro zenon_D_pnotp.
% 99.72/99.95  apply zenon_H2ed.
% 99.72/99.95  rewrite <- zenon_D_pnotp.
% 99.72/99.95  exact zenon_Hd2.
% 99.72/99.95  cut ((zenon_TB_dj = zenon_TB_dj)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 99.72/99.95  cut ((zenon_TB_dj = (succ zenon_TB_dj))); [idtac | apply NNPP; zenon_intro zenon_H2ec].
% 99.72/99.95  congruence.
% 99.72/99.95  exact (zenon_H2ec zenon_H2f0).
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  apply zenon_H2ee. zenon_intro zenon_H2e5.
% 99.72/99.95  generalize (zenon_H67 zenon_TB_dj). zenon_intro zenon_H14a.
% 99.72/99.95  generalize (zenon_H14a (succ zenon_TB_dj)). zenon_intro zenon_H2f1.
% 99.72/99.95  generalize (zenon_H2f1 zenon_TB_dj). zenon_intro zenon_H2f2.
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2f2); [ zenon_intro zenon_H2e2 | zenon_intro zenon_H2f3 ].
% 99.72/99.95  exact (zenon_H2e2 zenon_H2e5).
% 99.72/99.95  apply (zenon_imply_s _ _ zenon_H2f3); [ zenon_intro zenon_H2f5 | zenon_intro zenon_H2f4 ].
% 99.72/99.95  exact (zenon_H2f5 zenon_H2e9).
% 99.72/99.95  exact (zenon_H2e8 zenon_H2f4).
% 99.72/99.95  apply zenon_H77. apply refl_equal.
% 99.72/99.95  (* end of lemma zenon_L270_ *)
% 99.72/99.95  apply NNPP. intro zenon_G.
% 99.72/99.95  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_H67 | zenon_intro zenon_H2f6 ].
% 99.72/99.95  apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_H2f8. zenon_intro zenon_H2f7.
% 99.72/99.95  apply (zenon_notallex_s (fun B : zenon_U => (((leq (n0) B)/\(leq B (tptp_minus_1)))->(forall C : zenon_U, (((leq (n0) C)/\(leq C (n4)))->((a_select3 (q_init) B C) = (init)))))) zenon_H2f7); [ zenon_intro zenon_H2f9; idtac ].
% 99.72/99.95  elim zenon_H2f9. zenon_intro zenon_TB_dj. zenon_intro zenon_H2fa.
% 99.72/99.95  apply (zenon_notimply_s _ _ zenon_H2fa). zenon_intro zenon_H2fc. zenon_intro zenon_H2fb.
% 99.72/99.95  apply (zenon_and_s _ _ zenon_H2fc). zenon_intro zenon_H5a. zenon_intro zenon_H2fd.
% 99.72/99.95  generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H58.
% 99.72/99.95  generalize (zenon_H58 zenon_TB_dj). zenon_intro zenon_H59.
% 99.72/99.95  apply (zenon_equiv_s _ _ zenon_H59); [ zenon_intro zenon_H56; zenon_intro zenon_H5b | zenon_intro zenon_H5a; zenon_intro zenon_H55 ].
% 99.72/99.95  exact (zenon_H56 zenon_H5a).
% 99.72/99.95  generalize (leq_succ_gt_equiv zenon_TB_dj). zenon_intro zenon_H6f.
% 99.72/99.95  generalize (zenon_H6f (tptp_minus_1)). zenon_intro zenon_H2fe.
% 99.72/99.95  apply (zenon_equiv_s _ _ zenon_H2fe); [ zenon_intro zenon_H2ff; zenon_intro zenon_H81 | zenon_intro zenon_H2fd; zenon_intro zenon_H69 ].
% 99.72/99.95  exact (zenon_H2ff zenon_H2fd).
% 99.72/99.95  generalize (sum_plus_base zenon_E). zenon_intro zenon_Hd7.
% 99.72/99.95  generalize (gt_succ zenon_TB_dj). zenon_intro zenon_H2e9.
% 99.72/99.95  generalize (irreflexivity_gt zenon_TB_dj). zenon_intro zenon_H2e8.
% 99.72/99.95  apply (zenon_L270_ zenon_TB_dj); trivial.
% 99.72/99.95  apply zenon_H2f6. zenon_intro zenon_Tx_bdo. apply NNPP. zenon_intro zenon_H301.
% 99.72/99.95  apply zenon_H301. zenon_intro zenon_Ty_bdq. apply NNPP. zenon_intro zenon_H303.
% 99.72/99.96  apply zenon_H303. zenon_intro zenon_Tz_bds. apply NNPP. zenon_intro zenon_H305.
% 99.72/99.96  apply (zenon_notimply_s _ _ zenon_H305). zenon_intro zenon_H307. zenon_intro zenon_H306.
% 99.72/99.96  apply (zenon_notimply_s _ _ zenon_H306). zenon_intro zenon_H309. zenon_intro zenon_H308.
% 99.72/99.96  generalize (transitivity_gt zenon_Tx_bdo). zenon_intro zenon_H30a.
% 99.72/99.96  generalize (zenon_H30a zenon_Ty_bdq). zenon_intro zenon_H30b.
% 99.72/99.96  generalize (zenon_H30b zenon_Tz_bds). zenon_intro zenon_H30c.
% 99.72/99.96  apply (zenon_imply_s _ _ zenon_H30c); [ zenon_intro zenon_H30e | zenon_intro zenon_H30d ].
% 99.72/99.96  apply (zenon_notand_s _ _ zenon_H30e); [ zenon_intro zenon_H310 | zenon_intro zenon_H30f ].
% 99.72/99.96  exact (zenon_H310 zenon_H307).
% 99.72/99.96  exact (zenon_H30f zenon_H309).
% 99.72/99.96  exact (zenon_H308 zenon_H30d).
% 99.72/99.96  Qed.
% 99.72/99.96  % SZS output end Proof
% 99.72/99.96  (* END-PROOF *)
% 99.72/99.96  nodes searched: 7390233
% 99.72/99.96  max branch formulas: 16438
% 99.72/99.96  proof nodes created: 18748
% 99.72/99.96  formulas created: 2371746
% 99.72/99.96  
%------------------------------------------------------------------------------