%------------------------------------------------------------------------------ % 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 %------------------------------------------------------------------------------