%------------------------------------------------------------------------------ % File : Zenon---0.7.1 % Problem : SWV151+1 : TPTP v8.1.0. Bugfixed v3.3.0. % Transfm : none % Format : tptp:raw % Command : run_zenon %s %d % Computer : n004.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:07 EDT 2022 % Result : Theorem 27.52s 27.70s % Output : Proof 27.64s % Verified : % SZS Type : - % Comments : %------------------------------------------------------------------------------ %----WARNING: Could not form TPTP format derivation %------------------------------------------------------------------------------ %----ORIGINAL SYSTEM OUTPUT % 0.06/0.13 % Problem : SWV151+1 : TPTP v8.1.0. Bugfixed v3.3.0. % 0.06/0.13 % Command : run_zenon %s %d % 0.13/0.33 % Computer : n004.cluster.edu % 0.13/0.33 % Model : x86_64 x86_64 % 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz % 0.13/0.33 % Memory : 8042.1875MB % 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64 % 0.13/0.33 % CPULimit : 300 % 0.13/0.33 % WCLimit : 600 % 0.13/0.33 % DateTime : Wed Jun 15 10:49:39 EDT 2022 % 0.13/0.33 % CPUTime : % 27.52/27.70 (* PROOF-FOUND *) % 27.52/27.70 % SZS status Theorem % 27.52/27.70 (* BEGIN-PROOF *) % 27.52/27.70 % SZS output start Proof % 27.52/27.70 Theorem cl5_nebula_norm_0001 : (forall A : zenon_U, (((leq (n0) A)/\(leq A (tptp_minus_1)))->((sum (n0) (n4) (a_select3 (q) A (tptp_sum_index))) = (n1)))). % 27.52/27.70 Proof. % 27.52/27.70 assert (zenon_L1_ : (~((n3) = (n3))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H55. % 27.52/27.70 apply zenon_H55. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L1_ *) % 27.52/27.70 assert (zenon_L2_ : (~((n2) = (n2))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H56. % 27.52/27.70 apply zenon_H56. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L2_ *) % 27.52/27.70 assert (zenon_L3_ : (~((n1) = (n1))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H57. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L3_ *) % 27.52/27.70 assert (zenon_L4_ : (~(gt (n1) (succ (tptp_minus_1)))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H58. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H58. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact gt_1_0. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply zenon_H5a. apply sym_equal. exact succ_tptp_minus_1. % 27.52/27.70 (* end of lemma zenon_L4_ *) % 27.52/27.70 assert (zenon_L5_ : (~(gt (succ (n0)) (succ (tptp_minus_1)))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H5b. % 27.52/27.70 elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H58 ]. % 27.52/27.70 cut ((gt (n1) (succ (tptp_minus_1))) = (gt (succ (n0)) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5b. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5c. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5e. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5f. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply (zenon_L4_); trivial. % 27.52/27.70 (* end of lemma zenon_L5_ *) % 27.52/27.70 assert (zenon_L6_ : (~((n0) = (n0))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H62. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L6_ *) % 27.52/27.70 assert (zenon_L7_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (~(leq (n0) zenon_TA_dx)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H63 zenon_H64. % 27.52/27.70 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.70 generalize (zenon_H66 zenon_TA_dx). zenon_intro zenon_H67. % 27.52/27.70 apply (zenon_equiv_s _ _ zenon_H67); [ zenon_intro zenon_H64; zenon_intro zenon_H69 | zenon_intro zenon_H68; zenon_intro zenon_H63 ]. % 27.52/27.70 exact (zenon_H69 zenon_H63). % 27.52/27.70 exact (zenon_H64 zenon_H68). % 27.52/27.70 (* end of lemma zenon_L7_ *) % 27.52/27.70 assert (zenon_L8_ : (~((n4) = (n4))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H6a. % 27.52/27.70 apply zenon_H6a. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L8_ *) % 27.52/27.70 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). % 27.52/27.70 do 0 intro. intros zenon_H6b zenon_H6c. % 27.52/27.70 elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H58 ]. % 27.52/27.70 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.70 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.70 generalize (zenon_H6e (succ (tptp_minus_1))). zenon_intro zenon_H6f. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H6f); [ zenon_intro zenon_H71 | zenon_intro zenon_H70 ]. % 27.52/27.70 exact (zenon_H71 gt_2_1). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H70); [ zenon_intro zenon_H58 | zenon_intro zenon_H72 ]. % 27.52/27.70 exact (zenon_H58 zenon_H5c). % 27.52/27.70 exact (zenon_H6c zenon_H72). % 27.52/27.70 apply (zenon_L4_); trivial. % 27.52/27.70 (* end of lemma zenon_L9_ *) % 27.52/27.70 assert (zenon_L10_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (succ (tptp_minus_1)))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H6b zenon_H73. % 27.52/27.70 elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H72 | zenon_intro zenon_H6c ]. % 27.52/27.70 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.52/27.70 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.52/27.70 generalize (zenon_H75 (succ (tptp_minus_1))). zenon_intro zenon_H76. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H76); [ zenon_intro zenon_H78 | zenon_intro zenon_H77 ]. % 27.52/27.70 exact (zenon_H78 gt_3_2). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H77); [ zenon_intro zenon_H6c | zenon_intro zenon_H79 ]. % 27.52/27.70 exact (zenon_H6c zenon_H72). % 27.52/27.70 exact (zenon_H73 zenon_H79). % 27.52/27.70 apply (zenon_L9_); trivial. % 27.52/27.70 (* end of lemma zenon_L10_ *) % 27.52/27.70 assert (zenon_L11_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n4) (succ (tptp_minus_1)))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H6b zenon_H7a. % 27.52/27.70 elim (classic (gt (n3) (succ (tptp_minus_1)))); [ zenon_intro zenon_H79 | zenon_intro zenon_H73 ]. % 27.52/27.70 generalize (zenon_H6b (n4)). zenon_intro zenon_H7b. % 27.52/27.70 generalize (zenon_H7b (n3)). zenon_intro zenon_H7c. % 27.52/27.70 generalize (zenon_H7c (succ (tptp_minus_1))). zenon_intro zenon_H7d. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H7d); [ zenon_intro zenon_H7f | zenon_intro zenon_H7e ]. % 27.52/27.70 exact (zenon_H7f gt_4_3). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H7e); [ zenon_intro zenon_H73 | zenon_intro zenon_H80 ]. % 27.52/27.70 exact (zenon_H73 zenon_H79). % 27.52/27.70 exact (zenon_H7a zenon_H80). % 27.52/27.70 apply (zenon_L10_); trivial. % 27.52/27.70 (* end of lemma zenon_L11_ *) % 27.52/27.70 assert (zenon_L12_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n3)) (succ (tptp_minus_1)))) -> False). % 27.52/27.70 do 0 intro. intros zenon_H6b zenon_H81. % 27.52/27.70 elim (classic (gt (n4) (succ (tptp_minus_1)))); [ zenon_intro zenon_H80 | zenon_intro zenon_H7a ]. % 27.52/27.70 elim (classic (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))); [ zenon_intro zenon_H82 | zenon_intro zenon_H83 ]. % 27.52/27.70 cut ((gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1))) = (gt (succ (n3)) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H81. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H82. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (succ (succ (succ (n0))))) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H84]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ]. % 27.52/27.70 cut (((succ (n3)) = (succ (n3))) = ((succ (succ (succ (succ (n0))))) = (succ (n3)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H84. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H85. % 27.52/27.70 cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 27.52/27.70 cut (((succ (n3)) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H87]. % 27.52/27.70 congruence. % 27.52/27.70 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H88. apply sym_equal. exact successor_3. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 cut ((gt (n4) (succ (tptp_minus_1))) = (gt (succ (succ (succ (succ (n0))))) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H83. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H80. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((n4) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H89]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [ zenon_intro zenon_H8a | zenon_intro zenon_H8b ]. % 27.52/27.70 cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0)))))) = ((n4) = (succ (succ (succ (succ (n0))))))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H89. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H8a. % 27.52/27.70 cut (((succ (succ (succ (succ (n0))))) = (succ (succ (succ (succ (n0))))))); [idtac | apply NNPP; zenon_intro zenon_H8b]. % 27.52/27.70 cut (((succ (succ (succ (succ (n0))))) = (n4))); [idtac | apply NNPP; zenon_intro zenon_H8c]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H8c successor_4). % 27.52/27.70 apply zenon_H8b. apply refl_equal. % 27.52/27.70 apply zenon_H8b. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply (zenon_L11_); trivial. % 27.52/27.70 (* end of lemma zenon_L12_ *) % 27.52/27.70 assert (zenon_L13_ : forall (zenon_TA_dx : 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_TA_dx) -> (~(leq zenon_TA_dx (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H8d zenon_H8e. % 27.52/27.70 generalize (leq_succ_gt_equiv zenon_TA_dx). zenon_intro zenon_H8f. % 27.52/27.70 generalize (zenon_H8f (n3)). zenon_intro zenon_H90. % 27.52/27.70 apply (zenon_equiv_s _ _ zenon_H90); [ zenon_intro zenon_H8e; zenon_intro zenon_H93 | zenon_intro zenon_H92; zenon_intro zenon_H91 ]. % 27.52/27.70 elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H94 | zenon_intro zenon_H95 ]. % 27.52/27.70 apply (zenon_and_s _ _ zenon_H94). zenon_intro zenon_H96. zenon_intro zenon_H81. % 27.52/27.70 apply (zenon_L12_); trivial. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n3)) zenon_TA_dx)). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H93. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H8d. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_H95); [ zenon_intro zenon_H9a | zenon_intro zenon_H99 ]. % 27.52/27.70 apply zenon_H9a. zenon_intro zenon_H9b. % 27.52/27.70 elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ]. % 27.52/27.70 cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H98. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H85. % 27.52/27.70 cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 27.52/27.70 cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H96 zenon_H9b). % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H99. zenon_intro zenon_H9c. % 27.52/27.70 generalize (zenon_H6b (succ (n3))). zenon_intro zenon_H9d. % 27.52/27.70 generalize (zenon_H9d (succ (tptp_minus_1))). zenon_intro zenon_H9e. % 27.52/27.70 generalize (zenon_H9e zenon_TA_dx). zenon_intro zenon_H9f. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H9f); [ zenon_intro zenon_H81 | zenon_intro zenon_Ha0 ]. % 27.52/27.70 exact (zenon_H81 zenon_H9c). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Ha0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H91 ]. % 27.52/27.70 exact (zenon_Ha1 zenon_H8d). % 27.52/27.70 exact (zenon_H93 zenon_H91). % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 exact (zenon_H8e zenon_H92). % 27.52/27.70 (* end of lemma zenon_L13_ *) % 27.52/27.70 assert (zenon_L14_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n0))) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H63 zenon_H8d zenon_Ha2 zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.70 generalize (finite_domain_3 zenon_TA_dx). zenon_intro zenon_Ha6. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha7 ]. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_Ha8); [ zenon_intro zenon_H64 | zenon_intro zenon_H8e ]. % 27.52/27.70 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_L13_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha7); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha9 ]. % 27.52/27.70 exact (zenon_Ha2 zenon_Haa). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha9); [ zenon_intro zenon_Hac | zenon_intro zenon_Hab ]. % 27.52/27.70 exact (zenon_Ha3 zenon_Hac). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hab); [ zenon_intro zenon_Hae | zenon_intro zenon_Had ]. % 27.52/27.70 exact (zenon_Ha4 zenon_Hae). % 27.52/27.70 exact (zenon_Ha5 zenon_Had). % 27.52/27.70 (* end of lemma zenon_L14_ *) % 27.52/27.70 assert (zenon_L15_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Haf zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.70 elim (classic (zenon_TA_dx = (n0))); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha2 ]. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Haf. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H8d. % 27.52/27.70 cut ((zenon_TA_dx = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 exact (zenon_Ha2 zenon_Haa). % 27.52/27.70 apply (zenon_L14_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L15_ *) % 27.52/27.70 assert (zenon_L16_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.70 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_Hb0 zenon_H6b. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) (n0)) = (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb0. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb1. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply (zenon_L15_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5a. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb2. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L16_ *) % 27.52/27.70 assert (zenon_L17_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.70 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hb4 zenon_H6b. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.70 elim (classic (gt (n0) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 27.52/27.70 cut ((gt (n0) (succ (tptp_minus_1))) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb4. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb6. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx) = ((n0) = zenon_TA_dx)). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb8. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb9. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 cut ((zenon_TA_dx = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_L14_ zenon_TA_dx); trivial. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (n0) (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb5. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.70 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb3. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hba. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5a. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb2. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L17_ *) % 27.52/27.70 assert (zenon_L18_ : forall (zenon_TA_dx : 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_TA_dx (n0))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hbb zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.70 cut ((gt zenon_TA_dx (succ (tptp_minus_1))) = (gt zenon_TA_dx (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hbb. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hbc. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply (zenon_L17_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L18_ *) % 27.52/27.70 assert (zenon_L19_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hbd zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc0 ]. % 27.52/27.70 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.70 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.70 generalize (zenon_Hc2 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hc3. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hc3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ]. % 27.52/27.70 exact (zenon_Ha1 zenon_H8d). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc0 | zenon_intro zenon_Hc5 ]. % 27.52/27.70 exact (zenon_Hc0 zenon_Hbf). % 27.52/27.70 exact (zenon_Hbd zenon_Hc5). % 27.52/27.70 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.70 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.70 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hc0. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc8. % 27.52/27.70 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.70 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hc7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc9. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hcb zenon_Hbe). % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L19_ *) % 27.52/27.70 assert (zenon_L20_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hcc zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.70 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))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hcc. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hcd. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hc7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc9. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hcb zenon_Hbe). % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc5 | zenon_intro zenon_Hbd ]. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hce. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc5. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.70 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb3. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hba. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 apply (zenon_L19_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5a. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb2. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L20_ *) % 27.52/27.70 assert (zenon_L21_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.70 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H6b zenon_Hcf zenon_Hbe. % 27.52/27.70 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.70 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.70 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hcf. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hd0. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.70 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hcb. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hba. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hcc ]. % 27.52/27.70 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))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hd1. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hd2. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 exact (zenon_Hcb zenon_Hbe). % 27.52/27.70 apply (zenon_L20_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hc7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc9. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.70 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hcb zenon_Hbe). % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 apply zenon_Hca. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L21_ *) % 27.52/27.70 assert (zenon_L22_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hd3 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.70 congruence. % 27.52/27.70 generalize (finite_domain_3 zenon_TA_dx). zenon_intro zenon_Ha6. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha7 ]. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_Ha8); [ zenon_intro zenon_H64 | zenon_intro zenon_H8e ]. % 27.52/27.70 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_L13_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha7); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha9 ]. % 27.52/27.70 apply zenon_Hb8. apply sym_equal. exact zenon_Haa. % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha9); [ zenon_intro zenon_Hac | zenon_intro zenon_Hab ]. % 27.52/27.70 exact (zenon_Ha3 zenon_Hac). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hab); [ zenon_intro zenon_Hae | zenon_intro zenon_Had ]. % 27.52/27.70 exact (zenon_Ha4 zenon_Hae). % 27.52/27.70 exact (zenon_Ha5 zenon_Had). % 27.52/27.70 (* end of lemma zenon_L22_ *) % 27.52/27.70 assert (zenon_L23_ : (~((tptp_minus_1) = (tptp_minus_1))) -> False). % 27.52/27.70 do 0 intro. intros zenon_Hd4. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L23_ *) % 27.52/27.70 assert (zenon_L24_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n0))) -> (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_Hd5 zenon_Hd6 zenon_Hd7 zenon_Hd8. % 27.52/27.70 generalize (finite_domain_3 zenon_TA_dx). zenon_intro zenon_Ha6. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha7 ]. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_Ha8); [ zenon_intro zenon_H64 | zenon_intro zenon_H8e ]. % 27.52/27.70 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_L13_ zenon_TA_dx); trivial. % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha7); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha9 ]. % 27.52/27.70 generalize (finite_domain_3 (tptp_minus_1)). zenon_intro zenon_Hd9. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hd9); [ zenon_intro zenon_Hdb | zenon_intro zenon_Hda ]. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_Hdb); [ zenon_intro zenon_Hdd | zenon_intro zenon_Hdc ]. % 27.52/27.70 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.70 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.52/27.70 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.52/27.70 apply (zenon_L15_ zenon_TA_dx); trivial. % 27.52/27.70 exact (zenon_Hdd zenon_Hdf). % 27.52/27.70 generalize (leq_succ_gt_equiv (tptp_minus_1)). zenon_intro zenon_He0. % 27.52/27.70 generalize (zenon_He0 (n3)). zenon_intro zenon_He1. % 27.52/27.70 apply (zenon_equiv_s _ _ zenon_He1); [ zenon_intro zenon_Hdc; zenon_intro zenon_He4 | zenon_intro zenon_He3; zenon_intro zenon_He2 ]. % 27.52/27.70 elim (classic ((~((succ (n3)) = (n0)))/\(~(gt (succ (n3)) (n0))))); [ zenon_intro zenon_He5 | zenon_intro zenon_He6 ]. % 27.52/27.70 apply (zenon_and_s _ _ zenon_He5). zenon_intro zenon_He8. zenon_intro zenon_He7. % 27.52/27.70 elim (classic ((~((succ (n3)) = (succ (tptp_minus_1))))/\(~(gt (succ (n3)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H94 | zenon_intro zenon_H95 ]. % 27.52/27.70 apply (zenon_and_s _ _ zenon_H94). zenon_intro zenon_H96. zenon_intro zenon_H81. % 27.52/27.70 apply (zenon_L12_); trivial. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n3)) (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_He7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H8d. % 27.52/27.70 cut ((zenon_TA_dx = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H98]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_H95); [ zenon_intro zenon_H9a | zenon_intro zenon_H99 ]. % 27.52/27.70 apply zenon_H9a. zenon_intro zenon_H9b. % 27.52/27.70 elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ]. % 27.52/27.70 cut (((succ (n3)) = (succ (n3))) = ((succ (tptp_minus_1)) = (succ (n3)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H98. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H85. % 27.52/27.70 cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 27.52/27.70 cut (((succ (n3)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H96]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H96 zenon_H9b). % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H99. zenon_intro zenon_H9c. % 27.52/27.70 generalize (zenon_H6b (succ (n3))). zenon_intro zenon_H9d. % 27.52/27.70 generalize (zenon_H9d (succ (tptp_minus_1))). zenon_intro zenon_H9e. % 27.52/27.70 generalize (zenon_H9e zenon_TA_dx). zenon_intro zenon_H9f. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H9f); [ zenon_intro zenon_H81 | zenon_intro zenon_Ha0 ]. % 27.52/27.70 exact (zenon_H81 zenon_H9c). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Ha0); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H91 ]. % 27.52/27.70 exact (zenon_Ha1 zenon_H8d). % 27.52/27.70 cut ((gt (succ (n3)) zenon_TA_dx) = (gt (succ (n3)) (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_He7. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H91. % 27.52/27.70 cut ((zenon_TA_dx = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 27.52/27.70 cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 exact (zenon_Ha2 zenon_Haa). % 27.52/27.70 exact (zenon_Ha2 zenon_Haa). % 27.52/27.70 cut ((gt (n0) (tptp_minus_1)) = (gt (succ (n3)) (tptp_minus_1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_He4. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact gt_0_tptp_minus_1. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.70 cut (((n0) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_He9]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_He6); [ zenon_intro zenon_Heb | zenon_intro zenon_Hea ]. % 27.52/27.70 apply zenon_Heb. zenon_intro zenon_Hec. % 27.52/27.70 elim (classic ((succ (n3)) = (succ (n3)))); [ zenon_intro zenon_H85 | zenon_intro zenon_H86 ]. % 27.52/27.70 cut (((succ (n3)) = (succ (n3))) = ((n0) = (succ (n3)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_He9. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H85. % 27.52/27.70 cut (((succ (n3)) = (succ (n3)))); [idtac | apply NNPP; zenon_intro zenon_H86]. % 27.52/27.70 cut (((succ (n3)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_He8]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_He8 zenon_Hec). % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_H86. apply refl_equal. % 27.52/27.70 apply zenon_Hea. zenon_intro zenon_Hed. % 27.52/27.70 generalize (zenon_H6b (succ (n3))). zenon_intro zenon_H9d. % 27.52/27.70 generalize (zenon_H9d (n0)). zenon_intro zenon_Hee. % 27.52/27.70 generalize (zenon_Hee (tptp_minus_1)). zenon_intro zenon_Hef. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hef); [ zenon_intro zenon_He7 | zenon_intro zenon_Hf0 ]. % 27.52/27.70 exact (zenon_He7 zenon_Hed). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hf0); [ zenon_intro zenon_Hf1 | zenon_intro zenon_He2 ]. % 27.52/27.70 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.70 exact (zenon_He4 zenon_He2). % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 exact (zenon_Hdc zenon_He3). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hda); [ zenon_intro zenon_Hf3 | zenon_intro zenon_Hf2 ]. % 27.52/27.70 exact (zenon_Hd5 zenon_Hf3). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hf2); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hf4 ]. % 27.52/27.70 exact (zenon_Hd6 zenon_Hf5). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hf4); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hf6 ]. % 27.52/27.70 exact (zenon_Hd7 zenon_Hf7). % 27.52/27.70 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Ha9); [ zenon_intro zenon_Hac | zenon_intro zenon_Hab ]. % 27.52/27.70 exact (zenon_Ha3 zenon_Hac). % 27.52/27.70 apply (zenon_or_s _ _ zenon_Hab); [ zenon_intro zenon_Hae | zenon_intro zenon_Had ]. % 27.52/27.70 exact (zenon_Ha4 zenon_Hae). % 27.52/27.70 exact (zenon_Ha5 zenon_Had). % 27.52/27.70 (* end of lemma zenon_L24_ *) % 27.52/27.70 assert (zenon_L25_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hf8 zenon_Hd8 zenon_Hd7 zenon_Hd6 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_L24_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L25_ *) % 27.52/27.70 assert (zenon_L26_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.70 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hf9 zenon_Hd6 zenon_Hd7 zenon_Hd8 zenon_H6b. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.70 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.70 cut ((gt zenon_TA_dx (succ (tptp_minus_1))) = (gt zenon_TA_dx (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hf9. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hbc. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 apply (zenon_L25_ zenon_TA_dx); trivial. % 27.52/27.70 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb4. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hc8. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H97. apply refl_equal. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5a. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb2. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L26_ *) % 27.52/27.70 assert (zenon_L27_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hfa zenon_Hd6 zenon_Hd7 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.70 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.70 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.70 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.52/27.70 exact (zenon_Ha1 zenon_H8d). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.52/27.70 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.70 exact (zenon_Hfa zenon_Hfe). % 27.52/27.70 apply (zenon_L26_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L27_ *) % 27.52/27.70 assert (zenon_L28_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.70 do 1 intro. intros zenon_Hd6 zenon_Hd7 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hff zenon_H6b. % 27.52/27.70 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.70 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.70 cut ((gt (n0) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hff. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H100. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((n0) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H102]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n0) = (tptp_minus_1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H102. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H103. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.70 cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_L24_ zenon_TA_dx); trivial. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H101. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hfe. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.70 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hb3. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hba. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H5a zenon_H59). % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply (zenon_L27_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5a. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb2. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L28_ *) % 27.52/27.70 assert (zenon_L29_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H101 zenon_Hd8 zenon_Hd7 zenon_Hd6 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.70 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.70 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.70 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.70 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.70 exact (zenon_Hff zenon_H104). % 27.52/27.70 exact (zenon_H101 zenon_H100). % 27.52/27.70 apply (zenon_L28_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L29_ *) % 27.52/27.70 assert (zenon_L30_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n1))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.70 do 1 intro. intros zenon_Hd8 zenon_Hd7 zenon_Hd6 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H6b zenon_H109. % 27.52/27.70 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.70 elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H10b | zenon_intro zenon_H10c ]. % 27.52/27.70 cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H109. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H10b. % 27.52/27.70 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.70 cut (((n1) = (n1)) = ((succ (n0)) = (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H61. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H10d. % 27.52/27.70 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H5e zenon_H10a). % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 27.52/27.70 cut ((gt (succ (n0)) (succ (n0))) = (gt (succ (n0)) (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H10c. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H10e. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 elim (classic ((~((succ (n0)) = (succ zenon_TA_dx)))/\(~(gt (succ (n0)) (succ zenon_TA_dx))))); [ zenon_intro zenon_H110 | zenon_intro zenon_H111 ]. % 27.52/27.70 apply (zenon_and_s _ _ zenon_H110). zenon_intro zenon_Hd3. zenon_intro zenon_H112. % 27.52/27.70 apply (zenon_L22_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.70 generalize (zenon_H6b (succ zenon_TA_dx)). zenon_intro zenon_H113. % 27.52/27.70 generalize (zenon_H113 (n0)). zenon_intro zenon_H114. % 27.52/27.70 generalize (zenon_H114 (succ (n0))). zenon_intro zenon_H115. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H115); [ zenon_intro zenon_H69 | zenon_intro zenon_H116 ]. % 27.52/27.70 exact (zenon_H69 zenon_H63). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H116); [ zenon_intro zenon_H101 | zenon_intro zenon_H117 ]. % 27.52/27.70 exact (zenon_H101 zenon_H100). % 27.52/27.70 cut ((gt (succ zenon_TA_dx) (succ (n0))) = (gt (succ (n0)) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H10f. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H117. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ zenon_TA_dx) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H118]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_notand_s _ _ zenon_H111); [ zenon_intro zenon_H11a | zenon_intro zenon_H119 ]. % 27.52/27.70 apply zenon_H11a. zenon_intro zenon_H11b. % 27.52/27.70 apply zenon_H118. apply sym_equal. exact zenon_H11b. % 27.52/27.70 apply zenon_H119. zenon_intro zenon_H11c. % 27.52/27.70 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.70 generalize (zenon_H11d (succ zenon_TA_dx)). zenon_intro zenon_H11e. % 27.52/27.70 generalize (zenon_H11e (succ (n0))). zenon_intro zenon_H11f. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H11f); [ zenon_intro zenon_H112 | zenon_intro zenon_H120 ]. % 27.52/27.70 exact (zenon_H112 zenon_H11c). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H120); [ zenon_intro zenon_H121 | zenon_intro zenon_H10e ]. % 27.52/27.70 exact (zenon_H121 zenon_H117). % 27.52/27.70 exact (zenon_H10f zenon_H10e). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply (zenon_L29_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5e. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5f. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L30_ *) % 27.52/27.70 assert (zenon_L31_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H122 zenon_Hd8 zenon_Hd7 zenon_Hd6 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.70 cut ((gt (tptp_minus_1) (succ (n0))) = (gt (tptp_minus_1) (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H122. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H104. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply (zenon_L28_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L31_ *) % 27.52/27.70 assert (zenon_L32_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H123 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_Hd7 zenon_Hd8. % 27.52/27.70 elim (classic ((tptp_minus_1) = (n1))); [ zenon_intro zenon_Hf5 | zenon_intro zenon_Hd6 ]. % 27.52/27.70 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H123. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact gt_0_tptp_minus_1. % 27.52/27.70 cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 27.52/27.70 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H62. apply refl_equal. % 27.52/27.70 exact (zenon_Hd6 zenon_Hf5). % 27.52/27.70 elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H122 ]. % 27.52/27.70 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.70 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.70 generalize (zenon_H106 (n1)). zenon_intro zenon_H125. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H125); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H126 ]. % 27.52/27.70 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H126); [ zenon_intro zenon_H122 | zenon_intro zenon_H127 ]. % 27.52/27.70 exact (zenon_H122 zenon_H124). % 27.52/27.70 exact (zenon_H123 zenon_H127). % 27.52/27.70 apply (zenon_L31_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L32_ *) % 27.52/27.70 assert (zenon_L33_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H109 zenon_Hd8 zenon_Hd7 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.52/27.70 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.70 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.70 generalize (zenon_H129 (n1)). zenon_intro zenon_H12a. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H12a); [ zenon_intro zenon_H12c | zenon_intro zenon_H12b ]. % 27.52/27.70 exact (zenon_H12c gt_1_0). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H12b); [ zenon_intro zenon_H123 | zenon_intro zenon_H12d ]. % 27.52/27.70 exact (zenon_H123 zenon_H127). % 27.52/27.70 exact (zenon_H109 zenon_H12d). % 27.52/27.70 apply (zenon_L32_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L33_ *) % 27.52/27.70 assert (zenon_L34_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H10f zenon_Hd8 zenon_Hd7 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.70 cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H10f. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H12e. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5e. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5f. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.70 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.70 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H12f. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H12d. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 exact (zenon_H5e zenon_H10a). % 27.52/27.70 apply (zenon_L33_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5e. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5f. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L34_ *) % 27.52/27.70 assert (zenon_L35_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_H101 zenon_Hd8 zenon_Hd7 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.70 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.70 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.70 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.70 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.70 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.70 exact (zenon_Hff zenon_H104). % 27.52/27.70 exact (zenon_H101 zenon_H100). % 27.52/27.70 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.70 elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H122 ]. % 27.52/27.70 cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hff. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H124. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 exact (zenon_H5e zenon_H10a). % 27.52/27.70 elim (classic (gt (succ (n0)) (succ (n0)))); [ zenon_intro zenon_H10e | zenon_intro zenon_H10f ]. % 27.52/27.70 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.70 cut ((gt (n1) (succ (n0))) = (gt (tptp_minus_1) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Hff. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H12e. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((n1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H130]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n1) = (tptp_minus_1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H130. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H103. % 27.52/27.70 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.70 cut (((tptp_minus_1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_Hd6]. % 27.52/27.70 congruence. % 27.52/27.70 apply (zenon_L31_ zenon_TA_dx); trivial. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 apply zenon_Hd4. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 cut ((gt (succ (n0)) (succ (n0))) = (gt (n1) (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H12f. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H10e. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.70 cut (((n1) = (n1)) = ((succ (n0)) = (n1))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H61. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H10d. % 27.52/27.70 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.70 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H5e zenon_H10a). % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 apply zenon_H57. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply (zenon_L34_ zenon_TA_dx); trivial. % 27.52/27.70 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.70 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_H5e. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_H5f. % 27.52/27.70 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.70 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.70 congruence. % 27.52/27.70 exact (zenon_H61 successor_1). % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 apply zenon_H60. apply refl_equal. % 27.52/27.70 (* end of lemma zenon_L35_ *) % 27.52/27.70 assert (zenon_L36_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.70 do 1 intro. intros zenon_H6b zenon_Hd7 zenon_Hd8 zenon_Hfa zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.70 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.70 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.70 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.70 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.70 generalize (zenon_H131 (succ (n0))). zenon_intro zenon_H132. % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_Haf | zenon_intro zenon_H133 ]. % 27.52/27.70 exact (zenon_Haf zenon_Hb1). % 27.52/27.70 apply (zenon_imply_s _ _ zenon_H133); [ zenon_intro zenon_H101 | zenon_intro zenon_Hfe ]. % 27.52/27.70 exact (zenon_H101 zenon_H100). % 27.52/27.70 exact (zenon_Hfa zenon_Hfe). % 27.52/27.70 apply (zenon_L35_ zenon_TA_dx); trivial. % 27.52/27.70 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.70 intro zenon_D_pnotp. % 27.52/27.70 apply zenon_Haf. % 27.52/27.70 rewrite <- zenon_D_pnotp. % 27.52/27.70 exact zenon_Hb5. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.70 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.70 congruence. % 27.52/27.70 apply zenon_H5d. apply refl_equal. % 27.52/27.70 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.70 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.70 (* end of lemma zenon_L36_ *) % 27.52/27.70 assert (zenon_L37_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.70 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hf9 zenon_Hd7 zenon_Hd8 zenon_H6b. % 27.52/27.71 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.71 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.71 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.71 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.71 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.71 generalize (zenon_H135 (succ (n0))). zenon_intro zenon_H136. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H137 ]. % 27.52/27.71 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H137); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ]. % 27.52/27.71 exact (zenon_Hfa zenon_Hfe). % 27.52/27.71 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.71 apply (zenon_L36_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hb4. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc8. % 27.52/27.71 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_H5a zenon_H59). % 27.52/27.71 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb2. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L37_ *) % 27.52/27.71 assert (zenon_L38_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~((tptp_minus_1) = (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H138 zenon_Hd7 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.71 cut ((gt zenon_TA_dx (succ (n0))) = (gt zenon_TA_dx (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H138. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hfb. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply (zenon_L37_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L38_ *) % 27.52/27.71 assert (zenon_L39_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H139 zenon_H138 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_Hd8. % 27.52/27.71 elim (classic ((tptp_minus_1) = (n2))); [ zenon_intro zenon_Hf7 | zenon_intro zenon_Hd7 ]. % 27.52/27.71 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n2))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H139. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_0_tptp_minus_1. % 27.52/27.71 cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 exact (zenon_Hd7 zenon_Hf7). % 27.52/27.71 apply (zenon_L38_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L39_ *) % 27.52/27.71 assert (zenon_L40_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H13a zenon_Hd8 zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H13b | zenon_intro zenon_H139 ]. % 27.52/27.71 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.71 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.71 generalize (zenon_H129 (n2)). zenon_intro zenon_H13c. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H13c); [ zenon_intro zenon_H12c | zenon_intro zenon_H13d ]. % 27.52/27.71 exact (zenon_H12c gt_1_0). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_H139 | zenon_intro zenon_H13e ]. % 27.52/27.71 exact (zenon_H139 zenon_H13b). % 27.52/27.71 exact (zenon_H13a zenon_H13e). % 27.52/27.71 apply (zenon_L39_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L40_ *) % 27.52/27.71 assert (zenon_L41_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.71 do 1 intro. intros zenon_Hd8 zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_H6b zenon_H109. % 27.52/27.71 elim (classic ((~((n1) = (n2)))/\(~(gt (n1) (n2))))); [ zenon_intro zenon_H13f | zenon_intro zenon_H140 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H13f). zenon_intro zenon_H141. zenon_intro zenon_H13a. % 27.52/27.71 apply (zenon_L40_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n2) (n1)) = (gt (n1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H109. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_2_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n2) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H142]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H140); [ zenon_intro zenon_H144 | zenon_intro zenon_H143 ]. % 27.52/27.71 apply zenon_H144. zenon_intro zenon_H145. % 27.52/27.71 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.71 cut (((n1) = (n1)) = ((n2) = (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H142. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H10d. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H141]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H141 zenon_H145). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H143. zenon_intro zenon_H13e. % 27.52/27.71 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.71 generalize (zenon_H128 (n2)). zenon_intro zenon_H146. % 27.52/27.71 generalize (zenon_H146 (n1)). zenon_intro zenon_H147. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H147); [ zenon_intro zenon_H13a | zenon_intro zenon_H148 ]. % 27.52/27.71 exact (zenon_H13a zenon_H13e). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H148); [ zenon_intro zenon_H71 | zenon_intro zenon_H12d ]. % 27.52/27.71 exact (zenon_H71 gt_2_1). % 27.52/27.71 exact (zenon_H109 zenon_H12d). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L41_ *) % 27.52/27.71 assert (zenon_L42_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_Hd6 zenon_H6b zenon_H122 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H149 | zenon_intro zenon_H14a ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H149). zenon_intro zenon_Hd7. zenon_intro zenon_H14b. % 27.52/27.71 apply (zenon_L31_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H122. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_2_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H14c]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H14a); [ zenon_intro zenon_H14e | zenon_intro zenon_H14d ]. % 27.52/27.71 apply zenon_H14e. zenon_intro zenon_Hf7. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H14c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd7 zenon_Hf7). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H14d. zenon_intro zenon_H14f. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n2)). zenon_intro zenon_H151. % 27.52/27.71 generalize (zenon_H151 (n1)). zenon_intro zenon_H152. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H152); [ zenon_intro zenon_H14b | zenon_intro zenon_H153 ]. % 27.52/27.71 exact (zenon_H14b zenon_H14f). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H153); [ zenon_intro zenon_H71 | zenon_intro zenon_H124 ]. % 27.52/27.71 exact (zenon_H71 gt_2_1). % 27.52/27.71 exact (zenon_H122 zenon_H124). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L42_ *) % 27.52/27.71 assert (zenon_L43_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (n1))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H101 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_Hd8 zenon_H138. % 27.52/27.71 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.71 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.71 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.71 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.71 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.71 exact (zenon_Hff zenon_H104). % 27.52/27.71 exact (zenon_H101 zenon_H100). % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H122 ]. % 27.52/27.71 cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hff. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H124. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 exact (zenon_H5e zenon_H10a). % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H149 | zenon_intro zenon_H14a ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H149). zenon_intro zenon_Hd7. zenon_intro zenon_H14b. % 27.52/27.71 apply (zenon_L38_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n2) (n1)) = (gt (tptp_minus_1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H122. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_2_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H14c]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H14a); [ zenon_intro zenon_H14e | zenon_intro zenon_H14d ]. % 27.52/27.71 apply zenon_H14e. zenon_intro zenon_Hf7. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H14c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd7 zenon_Hf7). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H14d. zenon_intro zenon_H14f. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n2)). zenon_intro zenon_H151. % 27.52/27.71 generalize (zenon_H151 (n1)). zenon_intro zenon_H152. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H152); [ zenon_intro zenon_H14b | zenon_intro zenon_H153 ]. % 27.52/27.71 exact (zenon_H14b zenon_H14f). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H153); [ zenon_intro zenon_H71 | zenon_intro zenon_H124 ]. % 27.52/27.71 exact (zenon_H71 gt_2_1). % 27.52/27.71 exact (zenon_H122 zenon_H124). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L43_ *) % 27.52/27.71 assert (zenon_L44_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H138 zenon_Hd8 zenon_Hfa zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.71 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.71 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.71 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.71 generalize (zenon_H131 (succ (n0))). zenon_intro zenon_H132. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_Haf | zenon_intro zenon_H133 ]. % 27.52/27.71 exact (zenon_Haf zenon_Hb1). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H133); [ zenon_intro zenon_H101 | zenon_intro zenon_Hfe ]. % 27.52/27.71 exact (zenon_H101 zenon_H100). % 27.52/27.71 exact (zenon_Hfa zenon_Hfe). % 27.52/27.71 apply (zenon_L43_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Haf. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb5. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.71 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L44_ *) % 27.52/27.71 assert (zenon_L45_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (n0)))) -> (~(gt zenon_TA_dx (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). % 27.52/27.71 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hf9 zenon_H138 zenon_Hd8 zenon_H6b. % 27.52/27.71 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.71 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.71 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.71 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.71 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.71 generalize (zenon_H135 (succ (n0))). zenon_intro zenon_H136. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H137 ]. % 27.52/27.71 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H137); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ]. % 27.52/27.71 exact (zenon_Hfa zenon_Hfe). % 27.52/27.71 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.71 apply (zenon_L44_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hb4. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc8. % 27.52/27.71 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_H5a zenon_H59). % 27.52/27.71 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb2. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L45_ *) % 27.52/27.71 assert (zenon_L46_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H138 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.71 cut ((gt zenon_TA_dx (succ (n0))) = (gt zenon_TA_dx (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H138. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hfb. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply (zenon_L45_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L46_ *) % 27.52/27.71 assert (zenon_L47_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (n1))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H154 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138. % 27.52/27.71 elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hf6 | zenon_intro zenon_Hd8 ]. % 27.52/27.71 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H154. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_0_tptp_minus_1. % 27.52/27.71 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.71 apply (zenon_L46_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L47_ *) % 27.52/27.71 assert (zenon_L48_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H155 zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.71 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.71 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.71 generalize (zenon_H129 (n3)). zenon_intro zenon_H157. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H157); [ zenon_intro zenon_H12c | zenon_intro zenon_H158 ]. % 27.52/27.71 exact (zenon_H12c gt_1_0). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H158); [ zenon_intro zenon_H154 | zenon_intro zenon_H159 ]. % 27.52/27.71 exact (zenon_H154 zenon_H156). % 27.52/27.71 exact (zenon_H155 zenon_H159). % 27.52/27.71 apply (zenon_L47_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L48_ *) % 27.52/27.71 assert (zenon_L49_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.71 do 1 intro. intros zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_H6b zenon_H109. % 27.52/27.71 elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H15a | zenon_intro zenon_H15b ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H15a). zenon_intro zenon_H15c. zenon_intro zenon_H155. % 27.52/27.71 apply (zenon_L48_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n3) (n1)) = (gt (n1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H109. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_3_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H15b); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ]. % 27.52/27.71 apply zenon_H15f. zenon_intro zenon_H160. % 27.52/27.71 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.71 cut (((n1) = (n1)) = ((n3) = (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H15d. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H10d. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H15c]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H15c zenon_H160). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H15e. zenon_intro zenon_H159. % 27.52/27.71 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.71 generalize (zenon_H128 (n3)). zenon_intro zenon_H161. % 27.52/27.71 generalize (zenon_H161 (n1)). zenon_intro zenon_H162. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H162); [ zenon_intro zenon_H155 | zenon_intro zenon_H163 ]. % 27.52/27.71 exact (zenon_H155 zenon_H159). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H163); [ zenon_intro zenon_H164 | zenon_intro zenon_H12d ]. % 27.52/27.71 exact (zenon_H164 gt_3_1). % 27.52/27.71 exact (zenon_H109 zenon_H12d). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L49_ *) % 27.52/27.71 assert (zenon_L50_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.71 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b zenon_H109. % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (succ (n0)) (n1))); [ zenon_intro zenon_H10b | zenon_intro zenon_H10c ]. % 27.52/27.71 cut ((gt (succ (n0)) (n1)) = (gt (n1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H109. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H10b. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.71 cut (((n1) = (n1)) = ((succ (n0)) = (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H61. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H10d. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H5e zenon_H10a). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.71 apply (zenon_L5_); trivial. % 27.52/27.71 elim (classic (zenon_TA_dx = (n1))); [ zenon_intro zenon_Hac | zenon_intro zenon_Ha3 ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H10c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H8d. % 27.52/27.71 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.71 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hf8. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H167 zenon_H16a). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.71 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.71 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.71 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.52/27.71 exact (zenon_H5b zenon_H16b). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.52/27.71 exact (zenon_Ha1 zenon_H8d). % 27.52/27.71 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H10c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H16f. % 27.52/27.71 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 exact (zenon_Ha3 zenon_Hac). % 27.52/27.71 exact (zenon_Ha3 zenon_Hac). % 27.52/27.71 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.52/27.71 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.71 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.71 generalize (zenon_Hc2 (n1)). zenon_intro zenon_H171. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H171); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H172 ]. % 27.52/27.71 exact (zenon_Ha1 zenon_H8d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H172); [ zenon_intro zenon_H138 | zenon_intro zenon_H173 ]. % 27.52/27.71 exact (zenon_H138 zenon_H170). % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (n0)) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H10c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H173. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.71 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.71 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.71 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.71 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.71 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.71 generalize (zenon_H16c (n1)). zenon_intro zenon_H174. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H174); [ zenon_intro zenon_H5b | zenon_intro zenon_H175 ]. % 27.52/27.71 exact (zenon_H5b zenon_H16b). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H175); [ zenon_intro zenon_H176 | zenon_intro zenon_H10b ]. % 27.52/27.71 exact (zenon_H176 zenon_H173). % 27.52/27.71 exact (zenon_H10c zenon_H10b). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 apply (zenon_L49_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L50_ *) % 27.52/27.71 assert (zenon_L51_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_Hd6 zenon_H6b zenon_H122 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H177). zenon_intro zenon_Hd8. zenon_intro zenon_H179. % 27.52/27.71 apply (zenon_L42_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H122. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_3_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H17a]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H178); [ zenon_intro zenon_H17c | zenon_intro zenon_H17b ]. % 27.52/27.71 apply zenon_H17c. zenon_intro zenon_Hf6. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H17a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H17b. zenon_intro zenon_H17d. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n3)). zenon_intro zenon_H17e. % 27.52/27.71 generalize (zenon_H17e (n1)). zenon_intro zenon_H17f. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H17f); [ zenon_intro zenon_H179 | zenon_intro zenon_H180 ]. % 27.52/27.71 exact (zenon_H179 zenon_H17d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H180); [ zenon_intro zenon_H164 | zenon_intro zenon_H124 ]. % 27.52/27.71 exact (zenon_H164 gt_3_1). % 27.52/27.71 exact (zenon_H122 zenon_H124). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L51_ *) % 27.52/27.71 assert (zenon_L52_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (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). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138 zenon_Hff zenon_H6b. % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (tptp_minus_1) (n1))); [ zenon_intro zenon_H124 | zenon_intro zenon_H122 ]. % 27.52/27.71 cut ((gt (tptp_minus_1) (n1)) = (gt (tptp_minus_1) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hff. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H124. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 exact (zenon_H5e zenon_H10a). % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H177). zenon_intro zenon_Hd8. zenon_intro zenon_H179. % 27.52/27.71 apply (zenon_L46_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n3) (n1)) = (gt (tptp_minus_1) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H122. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_3_1. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H17a]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H178); [ zenon_intro zenon_H17c | zenon_intro zenon_H17b ]. % 27.52/27.71 apply zenon_H17c. zenon_intro zenon_Hf6. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H17a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H17b. zenon_intro zenon_H17d. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n3)). zenon_intro zenon_H17e. % 27.52/27.71 generalize (zenon_H17e (n1)). zenon_intro zenon_H17f. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H17f); [ zenon_intro zenon_H179 | zenon_intro zenon_H180 ]. % 27.52/27.71 exact (zenon_H179 zenon_H17d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H180); [ zenon_intro zenon_H164 | zenon_intro zenon_H124 ]. % 27.52/27.71 exact (zenon_H164 gt_3_1). % 27.52/27.71 exact (zenon_H122 zenon_H124). % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L52_ *) % 27.52/27.71 assert (zenon_L53_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H10f zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5. % 27.52/27.71 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.71 cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H10f. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H12e. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.71 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H12f. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H12d. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 exact (zenon_H5e zenon_H10a). % 27.52/27.71 apply (zenon_L50_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L53_ *) % 27.52/27.71 assert (zenon_L54_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hff zenon_Hfa zenon_H6b. % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (tptp_minus_1)) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hfa. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H173. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 exact (zenon_H5e zenon_H10a). % 27.52/27.71 elim (classic (zenon_TA_dx = (n1))); [ zenon_intro zenon_Hac | zenon_intro zenon_Ha3 ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H176. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H8d. % 27.52/27.71 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 exact (zenon_Ha3 zenon_Hac). % 27.52/27.71 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.52/27.71 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.71 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.71 generalize (zenon_Hc2 (n1)). zenon_intro zenon_H171. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H171); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H172 ]. % 27.52/27.71 exact (zenon_Ha1 zenon_H8d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H172); [ zenon_intro zenon_H138 | zenon_intro zenon_H173 ]. % 27.52/27.71 exact (zenon_H138 zenon_H170). % 27.52/27.71 exact (zenon_H176 zenon_H173). % 27.52/27.71 apply (zenon_L52_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L54_ *) % 27.52/27.71 assert (zenon_L55_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H101 zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5. % 27.52/27.71 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.71 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.71 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.71 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.71 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.71 exact (zenon_Hff zenon_H104). % 27.52/27.71 exact (zenon_H101 zenon_H100). % 27.52/27.71 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H101. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hfe. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.71 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hb3. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hba. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H5a zenon_H59). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply (zenon_L54_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb2. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L55_ *) % 27.52/27.71 assert (zenon_L56_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_Hd8 zenon_H138 zenon_H6b zenon_H181 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n2)))/\(~(gt (tptp_minus_1) (n2))))); [ zenon_intro zenon_H149 | zenon_intro zenon_H14a ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H149). zenon_intro zenon_Hd7. zenon_intro zenon_H14b. % 27.52/27.71 apply (zenon_L38_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n2) (n0)) = (gt (tptp_minus_1) (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H181. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_2_0. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n2) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H14c]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H14a); [ zenon_intro zenon_H14e | zenon_intro zenon_H14d ]. % 27.52/27.71 apply zenon_H14e. zenon_intro zenon_Hf7. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n2) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H14c. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n2))); [idtac | apply NNPP; zenon_intro zenon_Hd7]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd7 zenon_Hf7). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H14d. zenon_intro zenon_H14f. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n2)). zenon_intro zenon_H151. % 27.52/27.71 generalize (zenon_H151 (n0)). zenon_intro zenon_H182. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H182); [ zenon_intro zenon_H14b | zenon_intro zenon_H183 ]. % 27.52/27.71 exact (zenon_H14b zenon_H14f). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H183); [ zenon_intro zenon_H185 | zenon_intro zenon_H184 ]. % 27.52/27.71 exact (zenon_H185 gt_2_0). % 27.52/27.71 exact (zenon_H181 zenon_H184). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L56_ *) % 27.52/27.71 assert (zenon_L57_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H138 zenon_H6b zenon_H181 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.71 elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H177). zenon_intro zenon_Hd8. zenon_intro zenon_H179. % 27.52/27.71 apply (zenon_L56_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H181. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_3_0. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H17a]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H178); [ zenon_intro zenon_H17c | zenon_intro zenon_H17b ]. % 27.52/27.71 apply zenon_H17c. zenon_intro zenon_Hf6. % 27.52/27.71 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H17a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H103. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 apply zenon_H17b. zenon_intro zenon_H17d. % 27.52/27.71 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.71 generalize (zenon_H150 (n3)). zenon_intro zenon_H17e. % 27.52/27.71 generalize (zenon_H17e (n0)). zenon_intro zenon_H186. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H186); [ zenon_intro zenon_H179 | zenon_intro zenon_H187 ]. % 27.52/27.71 exact (zenon_H179 zenon_H17d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H187); [ zenon_intro zenon_H188 | zenon_intro zenon_H184 ]. % 27.52/27.71 exact (zenon_H188 gt_3_0). % 27.52/27.71 exact (zenon_H181 zenon_H184). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L57_ *) % 27.52/27.71 assert (zenon_L58_ : forall (zenon_TA_dx : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TA_dx (n0))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H181 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b zenon_Hbb. % 27.52/27.71 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.52/27.71 apply (zenon_L57_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hbb. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_1_0. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.52/27.71 apply zenon_H18d. zenon_intro zenon_Hac. % 27.52/27.71 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H18b. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb9. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Ha3 zenon_Hac). % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 apply zenon_H18c. zenon_intro zenon_H170. % 27.52/27.71 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.71 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.52/27.71 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.52/27.71 exact (zenon_H138 zenon_H170). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.52/27.71 exact (zenon_H12c gt_1_0). % 27.52/27.71 exact (zenon_Hbb zenon_Hc8). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L58_ *) % 27.52/27.71 assert (zenon_L59_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_Hbd zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H181. % 27.52/27.71 elim (classic (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc0 ]. % 27.52/27.71 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.71 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.71 generalize (zenon_Hc2 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hc3. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_Hc3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ]. % 27.52/27.71 exact (zenon_Ha1 zenon_H8d). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc0 | zenon_intro zenon_Hc5 ]. % 27.52/27.71 exact (zenon_Hc0 zenon_Hbf). % 27.52/27.71 exact (zenon_Hbd zenon_Hc5). % 27.52/27.71 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.71 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.71 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hc0. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc8. % 27.52/27.71 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.71 apply (zenon_L58_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hc7. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc9. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hcb zenon_Hbe). % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L59_ *) % 27.52/27.71 assert (zenon_L60_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H181 zenon_Hce zenon_H6b. % 27.52/27.71 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.71 elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc5 | zenon_intro zenon_Hbd ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hce. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc5. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.71 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hb3. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hba. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H5a zenon_H59). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply (zenon_L59_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5a. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hb2. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 apply zenon_H5d. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L60_ *) % 27.52/27.71 assert (zenon_L61_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (tptp_minus_1) (n0))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_Hcc zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H181. % 27.52/27.71 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.71 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))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hcc. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hcd. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hc7. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc9. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hcb zenon_Hbe). % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply (zenon_L60_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L61_ *) % 27.52/27.71 assert (zenon_L62_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_H191 zenon_H181 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 27.52/27.71 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H191. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H192. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hcc ]. % 27.52/27.71 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.71 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.71 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.71 generalize (zenon_H194 (n0)). zenon_intro zenon_H195. % 27.52/27.71 generalize (zenon_H195 (succ (n0))). zenon_intro zenon_H196. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H196); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H197 ]. % 27.52/27.71 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H197); [ zenon_intro zenon_H101 | zenon_intro zenon_H192 ]. % 27.52/27.71 exact (zenon_H101 zenon_H100). % 27.52/27.71 exact (zenon_H193 zenon_H192). % 27.52/27.71 apply (zenon_L55_ zenon_TA_dx); trivial. % 27.52/27.71 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))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hd1. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hd2. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 exact (zenon_Hcb zenon_Hbe). % 27.52/27.71 apply (zenon_L61_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L62_ *) % 27.52/27.71 assert (zenon_L63_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H181 zenon_H6b zenon_Hd1. % 27.52/27.71 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H198). zenon_intro zenon_H19a. zenon_intro zenon_H191. % 27.52/27.71 apply (zenon_L62_ zenon_TA_dx); trivial. % 27.52/27.71 cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hd1. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_1_0. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H19b]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H199); [ zenon_intro zenon_H19d | zenon_intro zenon_H19c ]. % 27.52/27.71 apply zenon_H19d. zenon_intro zenon_H19e. % 27.52/27.71 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H19b. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc9. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H19a]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H19a zenon_H19e). % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_H19c. zenon_intro zenon_H19f. % 27.52/27.71 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.71 generalize (zenon_H194 (n1)). zenon_intro zenon_H1a0. % 27.52/27.71 generalize (zenon_H1a0 (n0)). zenon_intro zenon_H1a1. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_H191 | zenon_intro zenon_H1a2 ]. % 27.52/27.71 exact (zenon_H191 zenon_H19f). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H12c | zenon_intro zenon_Hd0 ]. % 27.52/27.71 exact (zenon_H12c gt_1_0). % 27.52/27.71 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L63_ *) % 27.52/27.71 assert (zenon_L64_ : forall (zenon_TA_dx : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.71 do 1 intro. intros zenon_H181 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b zenon_Hcf zenon_Hbe. % 27.52/27.71 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.71 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.71 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hcf. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hd0. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.71 congruence. % 27.52/27.71 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.71 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hcb. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hba. % 27.52/27.71 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.71 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply zenon_H62. apply refl_equal. % 27.52/27.71 apply (zenon_L63_ zenon_TA_dx); trivial. % 27.52/27.71 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_Hc7. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_Hc9. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.71 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hcb zenon_Hbe). % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 apply zenon_Hca. apply refl_equal. % 27.52/27.71 (* end of lemma zenon_L64_ *) % 27.52/27.71 assert (zenon_L65_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H6b zenon_Hcf zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.71 elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H184 | zenon_intro zenon_H181 ]. % 27.52/27.71 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.71 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.71 generalize (zenon_H106 (n0)). zenon_intro zenon_H1a3. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1a3); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H1a4 ]. % 27.52/27.71 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1a4); [ zenon_intro zenon_H181 | zenon_intro zenon_H1a5 ]. % 27.52/27.71 exact (zenon_H181 zenon_H184). % 27.52/27.71 exact (zenon_Hcf zenon_H1a5). % 27.52/27.71 apply (zenon_L64_ zenon_TA_dx); trivial. % 27.52/27.71 (* end of lemma zenon_L65_ *) % 27.52/27.71 assert (zenon_L66_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(leq (tptp_minus_1) (n0))) -> False). % 27.52/27.71 do 0 intro. intros zenon_H6b zenon_H1a6. % 27.52/27.71 generalize (leq_succ_gt_equiv (tptp_minus_1)). zenon_intro zenon_He0. % 27.52/27.71 generalize (zenon_He0 (n0)). zenon_intro zenon_H1a7. % 27.52/27.71 apply (zenon_equiv_s _ _ zenon_H1a7); [ zenon_intro zenon_H1a6; zenon_intro zenon_H1aa | zenon_intro zenon_H1a9; zenon_intro zenon_H1a8 ]. % 27.52/27.71 elim (classic ((~((succ (n0)) = (n1)))/\(~(gt (succ (n0)) (n1))))); [ zenon_intro zenon_H1ab | zenon_intro zenon_H1ac ]. % 27.52/27.71 apply (zenon_and_s _ _ zenon_H1ab). zenon_intro zenon_H61. zenon_intro zenon_H10c. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 cut ((gt (n1) (tptp_minus_1)) = (gt (succ (n0)) (tptp_minus_1))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H1aa. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact gt_1_tptp_minus_1. % 27.52/27.71 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.71 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H1ac); [ zenon_intro zenon_H1ae | zenon_intro zenon_H1ad ]. % 27.52/27.71 apply zenon_H1ae. zenon_intro successor_1. % 27.52/27.71 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.71 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H5e. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H5f. % 27.52/27.71 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.71 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_H61 successor_1). % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H60. apply refl_equal. % 27.52/27.71 apply zenon_H1ad. zenon_intro zenon_H10b. % 27.52/27.71 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.71 generalize (zenon_H11d (n1)). zenon_intro zenon_H1af. % 27.52/27.71 generalize (zenon_H1af (tptp_minus_1)). zenon_intro zenon_H1b0. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1b0); [ zenon_intro zenon_H10c | zenon_intro zenon_H1b1 ]. % 27.52/27.71 exact (zenon_H10c zenon_H10b). % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1b1); [ zenon_intro zenon_H1b2 | zenon_intro zenon_H1a8 ]. % 27.52/27.71 exact (zenon_H1b2 gt_1_tptp_minus_1). % 27.52/27.71 exact (zenon_H1aa zenon_H1a8). % 27.52/27.71 apply zenon_Hd4. apply refl_equal. % 27.52/27.71 exact (zenon_H1a6 zenon_H1a9). % 27.52/27.71 (* end of lemma zenon_L66_ *) % 27.52/27.71 assert (zenon_L67_ : (~((succ (tptp_minus_1)) = (succ (n0)))) -> ((tptp_minus_1) = (n0)) -> False). % 27.52/27.71 do 0 intro. intros zenon_Hf8 zenon_Hf3. % 27.52/27.71 cut (((tptp_minus_1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hd5]. % 27.52/27.71 congruence. % 27.52/27.71 exact (zenon_Hd5 zenon_Hf3). % 27.52/27.71 (* end of lemma zenon_L67_ *) % 27.52/27.71 assert (zenon_L68_ : forall (zenon_TA_dx : zenon_U), ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(leq zenon_TA_dx (n0))) -> False). % 27.52/27.71 do 1 intro. intros zenon_Hf3 zenon_H8d zenon_H1b3. % 27.52/27.71 generalize (leq_succ_gt_equiv zenon_TA_dx). zenon_intro zenon_H8f. % 27.52/27.71 generalize (zenon_H8f (n0)). zenon_intro zenon_H1b4. % 27.52/27.71 apply (zenon_equiv_s _ _ zenon_H1b4); [ zenon_intro zenon_H1b3; zenon_intro zenon_H1b6 | zenon_intro zenon_H1b5; zenon_intro zenon_H16f ]. % 27.52/27.71 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) zenon_TA_dx)). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H1b6. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H8d. % 27.52/27.71 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.71 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.71 congruence. % 27.52/27.71 apply (zenon_L67_); trivial. % 27.52/27.71 apply zenon_H97. apply refl_equal. % 27.52/27.71 exact (zenon_H1b3 zenon_H1b5). % 27.52/27.71 (* end of lemma zenon_L68_ *) % 27.52/27.71 assert (zenon_L69_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~((n0) = zenon_TA_dx)) -> False). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_Hf3 zenon_H8d zenon_Hb8. % 27.52/27.71 generalize (finite_domain_0 zenon_TA_dx). zenon_intro zenon_H1b7. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1b7); [ zenon_intro zenon_H1b8 | zenon_intro zenon_Haa ]. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H1b8); [ zenon_intro zenon_H64 | zenon_intro zenon_H1b3 ]. % 27.52/27.71 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.71 apply (zenon_L68_ zenon_TA_dx); trivial. % 27.52/27.71 apply zenon_Hb8. apply sym_equal. exact zenon_Haa. % 27.52/27.71 (* end of lemma zenon_L69_ *) % 27.52/27.71 assert (zenon_L70_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n1) (succ zenon_TA_dx))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.71 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_H1b9 zenon_H6b. % 27.52/27.71 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.71 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.71 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.71 cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TA_dx))). % 27.52/27.71 intro zenon_D_pnotp. % 27.52/27.71 apply zenon_H1b9. % 27.52/27.71 rewrite <- zenon_D_pnotp. % 27.52/27.71 exact zenon_H12e. % 27.52/27.71 cut (((succ (n0)) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 27.52/27.71 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.71 congruence. % 27.52/27.71 apply zenon_H57. apply refl_equal. % 27.52/27.71 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.71 congruence. % 27.52/27.71 generalize (finite_domain_3 zenon_TA_dx). zenon_intro zenon_Ha6. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_Ha8 | zenon_intro zenon_Ha7 ]. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_Ha8); [ zenon_intro zenon_H64 | zenon_intro zenon_H8e ]. % 27.52/27.71 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.71 apply (zenon_L13_ zenon_TA_dx); trivial. % 27.52/27.71 apply (zenon_or_s _ _ zenon_Ha7); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha9 ]. % 27.52/27.71 apply zenon_Hb8. apply sym_equal. exact zenon_Haa. % 27.52/27.71 apply (zenon_or_s _ _ zenon_Ha9); [ zenon_intro zenon_Hac | zenon_intro zenon_Hab ]. % 27.52/27.71 generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1ba. % 27.52/27.71 apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H1bb | zenon_intro zenon_Hf3 ]. % 27.52/27.71 apply (zenon_notand_s _ _ zenon_H1bb); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1a6 ]. % 27.52/27.71 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.71 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.52/27.72 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.52/27.72 elim (classic ((~((succ (tptp_minus_1)) = (n1)))/\(~(gt (succ (tptp_minus_1)) (n1))))); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1bd ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H1bc). zenon_intro zenon_H1be. zenon_intro zenon_H176. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H176. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H8d. % 27.52/27.72 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_Ha3 zenon_Hac). % 27.52/27.72 cut ((gt (n1) (n0)) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Haf. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_1_0. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 cut (((n1) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1bf]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H1bd); [ zenon_intro zenon_H1c1 | zenon_intro zenon_H1c0 ]. % 27.52/27.72 apply zenon_H1c1. zenon_intro zenon_H1c2. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n1) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1bf. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H1be]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1be zenon_H1c2). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H1c0. zenon_intro zenon_H173. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.72 generalize (zenon_H1c3 (n0)). zenon_intro zenon_H1c4. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1c4); [ zenon_intro zenon_H176 | zenon_intro zenon_H1c5 ]. % 27.52/27.72 exact (zenon_H176 zenon_H173). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1c5); [ zenon_intro zenon_H12c | zenon_intro zenon_Hb1 ]. % 27.52/27.72 exact (zenon_H12c gt_1_0). % 27.52/27.72 exact (zenon_Haf zenon_Hb1). % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 exact (zenon_Hdd zenon_Hdf). % 27.52/27.72 apply (zenon_L66_); trivial. % 27.52/27.72 apply (zenon_L69_ zenon_TA_dx); trivial. % 27.52/27.72 apply (zenon_or_s _ _ zenon_Hab); [ zenon_intro zenon_Hae | zenon_intro zenon_Had ]. % 27.52/27.72 exact (zenon_Ha4 zenon_Hae). % 27.52/27.72 exact (zenon_Ha5 zenon_Had). % 27.52/27.72 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H12f. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H12d. % 27.52/27.72 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.72 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H57. apply refl_equal. % 27.52/27.72 exact (zenon_H5e zenon_H10a). % 27.52/27.72 apply (zenon_L50_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.72 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5e. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H5f. % 27.52/27.72 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.72 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H61 successor_1). % 27.52/27.72 apply zenon_H60. apply refl_equal. % 27.52/27.72 apply zenon_H60. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L70_ *) % 27.52/27.72 assert (zenon_L71_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H101 zenon_Hfa zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.72 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.72 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.72 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.72 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.72 exact (zenon_Hff zenon_H104). % 27.52/27.72 exact (zenon_H101 zenon_H100). % 27.52/27.72 apply (zenon_L54_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L71_ *) % 27.52/27.72 assert (zenon_L72_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hfa. % 27.52/27.72 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.72 cut ((gt (n0) (succ (n0))) = (gt (succ (tptp_minus_1)) (succ (n0)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hfa. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H100. % 27.52/27.72 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H60. apply refl_equal. % 27.52/27.72 apply (zenon_L71_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L72_ *) % 27.52/27.72 assert (zenon_L73_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H1c6 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.72 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.72 generalize (zenon_H1c3 (succ zenon_TA_dx)). zenon_intro zenon_H1c8. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1c8); [ zenon_intro zenon_H176 | zenon_intro zenon_H1c9 ]. % 27.52/27.72 exact (zenon_H176 zenon_H173). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1c9); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ca ]. % 27.52/27.72 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.72 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.72 apply (zenon_L70_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H176. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hfe. % 27.52/27.72 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_H61 successor_1). % 27.52/27.72 apply (zenon_L72_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L73_ *) % 27.52/27.72 assert (zenon_L74_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_Hd8 zenon_H138 zenon_H1cb zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.72 elim (classic (gt (n0) (n2))); [ zenon_intro zenon_H13b | zenon_intro zenon_H139 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.72 generalize (zenon_H131 (n2)). zenon_intro zenon_H1cc. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1cc); [ zenon_intro zenon_Haf | zenon_intro zenon_H1cd ]. % 27.52/27.72 exact (zenon_Haf zenon_Hb1). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1cd); [ zenon_intro zenon_H139 | zenon_intro zenon_H1ce ]. % 27.52/27.72 exact (zenon_H139 zenon_H13b). % 27.52/27.72 exact (zenon_H1cb zenon_H1ce). % 27.52/27.72 apply (zenon_L39_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Haf. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb5. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L74_ *) % 27.52/27.72 assert (zenon_L75_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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_TA_dx (n0))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hd8 zenon_H1cb zenon_H6b zenon_Hbb. % 27.52/27.72 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.52/27.72 apply (zenon_L74_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hbb. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_1_0. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.52/27.72 apply zenon_H18d. zenon_intro zenon_Hac. % 27.52/27.72 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H18b. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb9. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Ha3 zenon_Hac). % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H18c. zenon_intro zenon_H170. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.52/27.72 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.52/27.72 exact (zenon_H138 zenon_H170). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.52/27.72 exact (zenon_H12c gt_1_0). % 27.52/27.72 exact (zenon_Hbb zenon_Hc8). % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L75_ *) % 27.52/27.72 assert (zenon_L76_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_Hbd zenon_H1cb zenon_Hbe zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc0 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.72 generalize (zenon_Hc2 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hc3. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_Hc3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ]. % 27.52/27.72 exact (zenon_Ha1 zenon_H8d). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc0 | zenon_intro zenon_Hc5 ]. % 27.52/27.72 exact (zenon_Hc0 zenon_Hbf). % 27.52/27.72 exact (zenon_Hbd zenon_Hc5). % 27.52/27.72 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.72 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hc0. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc8. % 27.52/27.72 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.72 apply (zenon_L75_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hc7. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc9. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hcb zenon_Hbe). % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L76_ *) % 27.52/27.72 assert (zenon_L77_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_Hcc zenon_H1cb zenon_Hbe zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.72 cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hcc. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hcd. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hc7. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc9. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hcb zenon_Hbe). % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc5 | zenon_intro zenon_Hbd ]. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hce. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc5. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.72 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hb3. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hba. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 apply (zenon_L76_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L77_ *) % 27.52/27.72 assert (zenon_L78_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (n2))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_Hd1 zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hd8 zenon_Hbe zenon_H1cb. % 27.52/27.72 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hcc ]. % 27.52/27.72 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hd1. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hd2. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 exact (zenon_Hcb zenon_Hbe). % 27.52/27.72 apply (zenon_L77_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L78_ *) % 27.52/27.72 assert (zenon_L79_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H1cf zenon_H1cb zenon_Hd8 zenon_H6b zenon_Hbe. % 27.52/27.72 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.72 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.72 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.72 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TA_dx))); [ zenon_intro zenon_H1d0 | zenon_intro zenon_H1d1 ]. % 27.52/27.72 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.72 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.72 generalize (zenon_H1d2 (succ zenon_TA_dx)). zenon_intro zenon_H1d3. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1d3); [ zenon_intro zenon_Hce | zenon_intro zenon_H1d4 ]. % 27.52/27.72 exact (zenon_Hce zenon_Hcd). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1d4); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d5 ]. % 27.52/27.72 exact (zenon_H1d1 zenon_H1d0). % 27.52/27.72 exact (zenon_H1cf zenon_H1d5). % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.72 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d7 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TA_dx))); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c6 ]. % 27.52/27.72 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.72 generalize (zenon_H194 (succ (tptp_minus_1))). zenon_intro zenon_H1d8. % 27.52/27.72 generalize (zenon_H1d8 (succ zenon_TA_dx)). zenon_intro zenon_H1d9. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1d9); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1da ]. % 27.52/27.72 exact (zenon_H1d7 zenon_H1d6). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1da); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H1d0 ]. % 27.52/27.72 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.72 exact (zenon_H1d1 zenon_H1d0). % 27.52/27.72 apply (zenon_L73_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1d7. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hd0. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.72 apply (zenon_L78_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hce. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1a5. % 27.52/27.72 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.72 apply (zenon_L65_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hc7. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc9. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.72 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hcb zenon_Hbe). % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 apply zenon_Hca. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L79_ *) % 27.52/27.72 assert (zenon_L80_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(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). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf zenon_H1db zenon_H6b. % 27.52/27.72 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1db. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1ce. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_H1dd zenon_H1dc). % 27.52/27.72 apply (zenon_L79_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1dd. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1de. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L80_ *) % 27.52/27.72 assert (zenon_L81_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H1e1 zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b. % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H58 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.72 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.72 generalize (zenon_H128 (succ (tptp_minus_1))). zenon_intro zenon_H1e3. % 27.52/27.72 generalize (zenon_H1e3 (succ (succ (n0)))). zenon_intro zenon_H1e4. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1e4); [ zenon_intro zenon_H58 | zenon_intro zenon_H1e5 ]. % 27.52/27.72 exact (zenon_H58 zenon_H5c). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1e5); [ zenon_intro zenon_H1db | zenon_intro zenon_H1e6 ]. % 27.52/27.72 exact (zenon_H1db zenon_H1e2). % 27.52/27.72 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.72 apply (zenon_L80_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H58. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_1_0. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H57. apply refl_equal. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L81_ *) % 27.52/27.72 assert (zenon_L82_ : (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (tptp_minus_1)))) -> False). % 27.52/27.72 do 0 intro. intros zenon_H6b zenon_H1e7. % 27.52/27.72 elim (classic (gt (n2) (succ (tptp_minus_1)))); [ zenon_intro zenon_H72 | zenon_intro zenon_H6c ]. % 27.52/27.72 cut ((gt (n2) (succ (tptp_minus_1))) = (gt (succ (succ (n0))) (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1e7. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H72. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1dd. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1de. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply (zenon_L9_); trivial. % 27.52/27.72 (* end of lemma zenon_L82_ *) % 27.52/27.72 assert (zenon_L83_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hd8 zenon_Hf9 zenon_H6b. % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.72 generalize (zenon_H135 (succ (n0))). zenon_intro zenon_H136. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H137 ]. % 27.52/27.72 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H137); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ]. % 27.52/27.72 exact (zenon_Hfa zenon_Hfe). % 27.52/27.72 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.72 apply (zenon_L72_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hb4. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc8. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.72 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.52/27.72 apply (zenon_L45_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hbb. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_1_0. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.52/27.72 apply zenon_H18d. zenon_intro zenon_Hac. % 27.52/27.72 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H18b. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb9. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Ha3 zenon_Hac). % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H18c. zenon_intro zenon_H170. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.52/27.72 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.52/27.72 exact (zenon_H138 zenon_H170). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.52/27.72 exact (zenon_H12c gt_1_0). % 27.52/27.72 exact (zenon_Hbb zenon_Hc8). % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L83_ *) % 27.52/27.72 assert (zenon_L84_ : forall (zenon_TA_dx : 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_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H1e8 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.52/27.72 apply (zenon_L82_); trivial. % 27.52/27.72 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.72 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.52/27.72 exact (zenon_Ha1 zenon_H8d). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.52/27.72 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1e8. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hfe. % 27.52/27.72 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.72 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.72 apply zenon_H1ec. apply sym_equal. exact zenon_H1ef. % 27.52/27.72 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.72 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.72 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.72 generalize (zenon_H1f2 (succ (n0))). zenon_intro zenon_H1f3. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1f3); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1f4 ]. % 27.52/27.72 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1f4); [ zenon_intro zenon_Hfa | zenon_intro zenon_H1f5 ]. % 27.52/27.72 exact (zenon_Hfa zenon_Hfe). % 27.52/27.72 exact (zenon_H1e8 zenon_H1f5). % 27.52/27.72 apply zenon_H60. apply refl_equal. % 27.52/27.72 apply (zenon_L83_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L84_ *) % 27.52/27.72 assert (zenon_L85_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H1f6 zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H1f7 | zenon_intro zenon_H1f8 ]. % 27.52/27.72 cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1f6. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1f7. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.52/27.72 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.52/27.72 elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e1 ]. % 27.52/27.72 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.72 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.52/27.72 generalize (zenon_H1fb (succ (succ (n0)))). zenon_intro zenon_H1fc. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1fc); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1fd ]. % 27.52/27.72 exact (zenon_H1fa zenon_H1f9). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1f7 ]. % 27.52/27.72 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.72 exact (zenon_H1f8 zenon_H1f7). % 27.52/27.72 apply (zenon_L81_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1fa. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1f5. % 27.52/27.72 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 exact (zenon_H61 successor_1). % 27.52/27.72 apply (zenon_L84_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L85_ *) % 27.52/27.72 assert (zenon_L86_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.72 do 1 intro. intros zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b zenon_H1fe. % 27.52/27.72 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.72 elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H1f6 ]. % 27.52/27.72 cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1fe. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1ff. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.72 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1e0. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H200. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1dd zenon_H1dc). % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 apply (zenon_L85_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1dd. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1de. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L86_ *) % 27.52/27.72 assert (zenon_L87_ : (~(gt (n3) (succ (succ (n0))))) -> False). % 27.52/27.72 do 0 intro. intros zenon_H201. % 27.52/27.72 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.72 cut ((gt (n3) (n2)) = (gt (n3) (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H201. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_3_2. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H55. apply refl_equal. % 27.52/27.72 exact (zenon_H1dd zenon_H1dc). % 27.52/27.72 apply zenon_H1dd. apply sym_equal. exact successor_2. % 27.52/27.72 (* end of lemma zenon_L87_ *) % 27.52/27.72 assert (zenon_L88_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (n1))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H202 zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138. % 27.52/27.72 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.72 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.72 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.72 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.52/27.72 exact (zenon_H71 gt_2_1). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.52/27.72 exact (zenon_H155 zenon_H159). % 27.52/27.72 exact (zenon_H202 zenon_H205). % 27.52/27.72 apply (zenon_L48_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L88_ *) % 27.52/27.72 assert (zenon_L89_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (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). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138 zenon_H206 zenon_H6b. % 27.52/27.72 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.72 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.52/27.72 cut ((gt (n2) (n3)) = (gt (n2) (succ (succ (succ (n0)))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H206. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H205. % 27.52/27.72 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 exact (zenon_H88 zenon_H207). % 27.52/27.72 apply (zenon_L88_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.72 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H88. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H208. % 27.52/27.72 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.72 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H20a successor_3). % 27.52/27.72 apply zenon_H209. apply refl_equal. % 27.52/27.72 apply zenon_H209. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L89_ *) % 27.52/27.72 assert (zenon_L90_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (n1))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H20b zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138. % 27.52/27.72 elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20c | zenon_intro zenon_H206 ]. % 27.52/27.72 cut ((gt (n2) (succ (succ (succ (n0))))) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H20b. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H20c. % 27.52/27.72 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 congruence. % 27.52/27.72 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1dd. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1de. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H209. apply refl_equal. % 27.52/27.72 apply (zenon_L89_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L90_ *) % 27.52/27.72 assert (zenon_L91_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (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). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138 zenon_H6b zenon_H1fe. % 27.52/27.72 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.52/27.72 apply (zenon_L88_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1fe. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_3_2. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.52/27.72 apply zenon_H212. zenon_intro zenon_H213. % 27.52/27.72 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.72 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H210. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H200. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H20f zenon_H213). % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 apply zenon_H211. zenon_intro zenon_H205. % 27.52/27.72 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.72 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.52/27.72 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.52/27.72 exact (zenon_H202 zenon_H205). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.52/27.72 exact (zenon_H78 gt_3_2). % 27.52/27.72 exact (zenon_H1fe zenon_H217). % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L91_ *) % 27.52/27.72 assert (zenon_L92_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (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). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5 zenon_H138 zenon_H218 zenon_H6b. % 27.52/27.72 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.72 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (succ (succ (n0)))). zenon_intro zenon_H21a. % 27.52/27.72 generalize (zenon_H21a (succ (succ (succ (n0))))). zenon_intro zenon_H21b. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H21b); [ zenon_intro zenon_H1db | zenon_intro zenon_H21c ]. % 27.52/27.72 exact (zenon_H1db zenon_H1e2). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H20b | zenon_intro zenon_H21d ]. % 27.52/27.72 exact (zenon_H20b zenon_H219). % 27.52/27.72 exact (zenon_H218 zenon_H21d). % 27.52/27.72 apply (zenon_L90_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1db. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1ce. % 27.52/27.72 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_H1dd zenon_H1dc). % 27.52/27.72 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.72 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.72 generalize (zenon_H131 (n3)). zenon_intro zenon_H222. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H222); [ zenon_intro zenon_Haf | zenon_intro zenon_H223 ]. % 27.52/27.72 exact (zenon_Haf zenon_Hb1). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H223); [ zenon_intro zenon_H154 | zenon_intro zenon_H224 ]. % 27.52/27.72 exact (zenon_H154 zenon_H156). % 27.52/27.72 exact (zenon_H220 zenon_H224). % 27.52/27.72 apply (zenon_L47_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Haf. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb5. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1cb. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_3_2. % 27.52/27.72 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.72 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.52/27.72 apply zenon_H227. zenon_intro zenon_H228. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H225. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H221 zenon_H228). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H226. zenon_intro zenon_H224. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.72 generalize (zenon_H229 (n2)). zenon_intro zenon_H22a. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H220 | zenon_intro zenon_H22b ]. % 27.52/27.72 exact (zenon_H220 zenon_H224). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H78 | zenon_intro zenon_H1ce ]. % 27.52/27.72 exact (zenon_H78 gt_3_2). % 27.52/27.72 exact (zenon_H1cb zenon_H1ce). % 27.52/27.72 apply zenon_H56. apply refl_equal. % 27.52/27.72 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H1dd. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H1de. % 27.52/27.72 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.72 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_H1e0 successor_2). % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 apply zenon_H1df. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L92_ *) % 27.52/27.72 assert (zenon_L93_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.72 do 1 intro. intros zenon_H6b zenon_H1db zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H224 | zenon_intro zenon_H220 ]. % 27.52/27.72 elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H22c | zenon_intro zenon_H201 ]. % 27.52/27.72 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.72 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.72 generalize (zenon_H229 (succ (succ (n0)))). zenon_intro zenon_H22d. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H22d); [ zenon_intro zenon_H220 | zenon_intro zenon_H22e ]. % 27.52/27.72 exact (zenon_H220 zenon_H224). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H22e); [ zenon_intro zenon_H201 | zenon_intro zenon_H1e2 ]. % 27.52/27.72 exact (zenon_H201 zenon_H22c). % 27.52/27.72 exact (zenon_H1db zenon_H1e2). % 27.52/27.72 apply (zenon_L87_); trivial. % 27.52/27.72 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (tptp_minus_1)) (n3))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H220. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_H21d. % 27.52/27.72 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 exact (zenon_H20a successor_3). % 27.52/27.72 apply (zenon_L92_ zenon_TA_dx); trivial. % 27.52/27.72 (* end of lemma zenon_L93_ *) % 27.52/27.72 assert (zenon_L94_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~(gt zenon_TA_dx (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.72 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_H22f zenon_H138 zenon_H6b. % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.72 generalize (zenon_H135 (succ (succ (n0)))). zenon_intro zenon_H230. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H230); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H231 ]. % 27.52/27.72 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H1db | zenon_intro zenon_H232 ]. % 27.52/27.72 exact (zenon_H1db zenon_H1e2). % 27.52/27.72 exact (zenon_H22f zenon_H232). % 27.52/27.72 apply (zenon_L93_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hb4. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc8. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.72 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.72 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H5a. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb2. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.72 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 apply zenon_H5d. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L94_ *) % 27.52/27.72 assert (zenon_L95_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (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_TA_dx (n0))) -> False). % 27.52/27.72 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_H22f zenon_H6b zenon_Hbb. % 27.52/27.72 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.52/27.72 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.52/27.72 apply (zenon_L94_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hbb. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact gt_1_0. % 27.52/27.72 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.72 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.52/27.72 congruence. % 27.52/27.72 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.52/27.72 apply zenon_H18d. zenon_intro zenon_Hac. % 27.52/27.72 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_H18b. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hb9. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.72 congruence. % 27.52/27.72 exact (zenon_Ha3 zenon_Hac). % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 apply zenon_H18c. zenon_intro zenon_H170. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.52/27.72 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.52/27.72 exact (zenon_H138 zenon_H170). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.52/27.72 exact (zenon_H12c gt_1_0). % 27.52/27.72 exact (zenon_Hbb zenon_Hc8). % 27.52/27.72 apply zenon_H62. apply refl_equal. % 27.52/27.72 (* end of lemma zenon_L95_ *) % 27.52/27.72 assert (zenon_L96_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~((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). % 27.52/27.72 do 1 intro. intros zenon_H22f zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H1cf zenon_Hd8 zenon_H6b. % 27.52/27.72 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.72 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.72 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.72 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.72 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.72 generalize (zenon_H135 (succ (succ (n0)))). zenon_intro zenon_H230. % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H230); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H231 ]. % 27.52/27.72 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.72 apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H1db | zenon_intro zenon_H232 ]. % 27.52/27.72 exact (zenon_H1db zenon_H1e2). % 27.52/27.72 exact (zenon_H22f zenon_H232). % 27.52/27.72 apply (zenon_L80_ zenon_TA_dx); trivial. % 27.52/27.72 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.72 intro zenon_D_pnotp. % 27.52/27.72 apply zenon_Hb4. % 27.52/27.72 rewrite <- zenon_D_pnotp. % 27.52/27.72 exact zenon_Hc8. % 27.52/27.72 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.72 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.72 congruence. % 27.52/27.72 apply zenon_H97. apply refl_equal. % 27.52/27.72 exact (zenon_H5a zenon_H59). % 27.52/27.73 apply (zenon_L95_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H5a. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hb2. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.73 apply zenon_H5d. apply refl_equal. % 27.52/27.73 apply zenon_H5d. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L96_ *) % 27.52/27.73 assert (zenon_L97_ : forall (zenon_TA_dx : 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_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H233 zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.73 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.52/27.73 cut ((gt zenon_TA_dx (succ (succ (n0)))) = (gt zenon_TA_dx (n2))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H233. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H232. % 27.52/27.73 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.73 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H97. apply refl_equal. % 27.52/27.73 exact (zenon_H1e0 successor_2). % 27.52/27.73 apply (zenon_L96_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L97_ *) % 27.52/27.73 assert (zenon_L98_ : forall (zenon_TA_dx : 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_TA_dx (n2))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H154 zenon_H233 zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H1cf. % 27.52/27.73 elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hf6 | zenon_intro zenon_Hd8 ]. % 27.52/27.73 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H154. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact gt_0_tptp_minus_1. % 27.52/27.73 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.73 apply (zenon_L97_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L98_ *) % 27.52/27.73 assert (zenon_L99_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~(gt zenon_TA_dx (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H155 zenon_H1cf zenon_H233 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.73 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.73 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.73 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.73 generalize (zenon_H129 (n3)). zenon_intro zenon_H157. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H157); [ zenon_intro zenon_H12c | zenon_intro zenon_H158 ]. % 27.52/27.73 exact (zenon_H12c gt_1_0). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H158); [ zenon_intro zenon_H154 | zenon_intro zenon_H159 ]. % 27.52/27.73 exact (zenon_H154 zenon_H156). % 27.52/27.73 exact (zenon_H155 zenon_H159). % 27.52/27.73 apply (zenon_L98_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L99_ *) % 27.52/27.73 assert (zenon_L100_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(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_TA_dx (n1))) -> False). % 27.52/27.73 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H155 zenon_H6b zenon_H138. % 27.52/27.73 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.52/27.73 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.52/27.73 apply (zenon_L99_ zenon_TA_dx); trivial. % 27.52/27.73 cut ((gt (n2) (n1)) = (gt zenon_TA_dx (n1))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H138. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact gt_2_1. % 27.52/27.73 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.73 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.52/27.73 apply zenon_H238. zenon_intro zenon_Hae. % 27.52/27.73 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.73 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H236. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hb9. % 27.52/27.73 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.73 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Ha4 zenon_Hae). % 27.52/27.73 apply zenon_H97. apply refl_equal. % 27.52/27.73 apply zenon_H97. apply refl_equal. % 27.52/27.73 apply zenon_H237. zenon_intro zenon_H239. % 27.52/27.73 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.73 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.52/27.73 generalize (zenon_H23a (n1)). zenon_intro zenon_H23b. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H23b); [ zenon_intro zenon_H233 | zenon_intro zenon_H23c ]. % 27.52/27.73 exact (zenon_H233 zenon_H239). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H23c); [ zenon_intro zenon_H71 | zenon_intro zenon_H170 ]. % 27.52/27.73 exact (zenon_H71 gt_2_1). % 27.52/27.73 exact (zenon_H138 zenon_H170). % 27.52/27.73 apply zenon_H57. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L100_ *) % 27.52/27.73 assert (zenon_L101_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TA_dx (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H155 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hf9 zenon_H6b. % 27.52/27.73 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.73 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.52/27.73 cut ((gt zenon_TA_dx (n1)) = (gt zenon_TA_dx (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hf9. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H170. % 27.52/27.73 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.73 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H97. apply refl_equal. % 27.52/27.73 exact (zenon_H5e zenon_H10a). % 27.52/27.73 apply (zenon_L100_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.73 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H5e. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H5f. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H61 successor_1). % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L101_ *) % 27.52/27.73 assert (zenon_L102_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_Hfa zenon_H155 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.73 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.73 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.73 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.73 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.52/27.73 exact (zenon_Ha1 zenon_H8d). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.52/27.73 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.73 exact (zenon_Hfa zenon_Hfe). % 27.52/27.73 apply (zenon_L101_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L102_ *) % 27.52/27.73 assert (zenon_L103_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (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). % 27.52/27.73 do 1 intro. intros zenon_H155 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H101 zenon_H6b. % 27.52/27.73 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.73 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.73 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (n0) (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H101. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hfe. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.73 congruence. % 27.52/27.73 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.73 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hb3. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hba. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H5a zenon_H59). % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply (zenon_L102_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H5a. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hb2. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.73 apply zenon_H5d. apply refl_equal. % 27.52/27.73 apply zenon_H5d. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L103_ *) % 27.52/27.73 assert (zenon_L104_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H193 zenon_H155 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.73 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.73 cut ((gt (n0) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H193. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H100. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.73 congruence. % 27.52/27.73 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hc7. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hc9. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hcb zenon_Hbe). % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply (zenon_L103_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L104_ *) % 27.52/27.73 assert (zenon_L105_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (n1) (n3))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H191 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H155. % 27.52/27.73 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 27.52/27.73 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H191. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H192. % 27.52/27.73 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 exact (zenon_H61 successor_1). % 27.52/27.73 apply (zenon_L104_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L105_ *) % 27.52/27.73 assert (zenon_L106_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (n1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n0))) -> False). % 27.52/27.73 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H155 zenon_H6b zenon_Hd1. % 27.52/27.73 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n1)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))))); [ zenon_intro zenon_H198 | zenon_intro zenon_H199 ]. % 27.52/27.73 apply (zenon_and_s _ _ zenon_H198). zenon_intro zenon_H19a. zenon_intro zenon_H191. % 27.52/27.73 apply (zenon_L105_ zenon_TA_dx); trivial. % 27.52/27.73 cut ((gt (n1) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hd1. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact gt_1_0. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 cut (((n1) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H19b]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H199); [ zenon_intro zenon_H19d | zenon_intro zenon_H19c ]. % 27.52/27.73 apply zenon_H19d. zenon_intro zenon_H19e. % 27.52/27.73 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n1) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H19b. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hc9. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H19a]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H19a zenon_H19e). % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_H19c. zenon_intro zenon_H19f. % 27.52/27.73 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.73 generalize (zenon_H194 (n1)). zenon_intro zenon_H1a0. % 27.52/27.73 generalize (zenon_H1a0 (n0)). zenon_intro zenon_H1a1. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H1a1); [ zenon_intro zenon_H191 | zenon_intro zenon_H1a2 ]. % 27.52/27.73 exact (zenon_H191 zenon_H19f). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H1a2); [ zenon_intro zenon_H12c | zenon_intro zenon_Hd0 ]. % 27.52/27.73 exact (zenon_H12c gt_1_0). % 27.52/27.73 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L106_ *) % 27.52/27.73 assert (zenon_L107_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (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). % 27.52/27.73 do 1 intro. intros zenon_H155 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_H6b zenon_Hcf zenon_Hbe. % 27.52/27.73 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.73 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.73 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hcf. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hd0. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.73 congruence. % 27.52/27.73 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.73 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hcb. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hba. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 apply (zenon_L106_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hc7. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hc9. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hcb zenon_Hbe). % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L107_ *) % 27.52/27.73 assert (zenon_L108_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (n1) (n3))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H109 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H155. % 27.52/27.73 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.52/27.73 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.73 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.73 generalize (zenon_H129 (n1)). zenon_intro zenon_H12a. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H12a); [ zenon_intro zenon_H12c | zenon_intro zenon_H12b ]. % 27.52/27.73 exact (zenon_H12c gt_1_0). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H12b); [ zenon_intro zenon_H123 | zenon_intro zenon_H12d ]. % 27.52/27.73 exact (zenon_H123 zenon_H127). % 27.52/27.73 exact (zenon_H109 zenon_H12d). % 27.52/27.73 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.73 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.73 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.73 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.52/27.73 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.73 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.73 generalize (zenon_H1d2 (n1)). zenon_intro zenon_H23d. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H23d); [ zenon_intro zenon_Hce | zenon_intro zenon_H23e ]. % 27.52/27.73 exact (zenon_Hce zenon_Hcd). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H23e); [ zenon_intro zenon_H191 | zenon_intro zenon_H127 ]. % 27.52/27.73 exact (zenon_H191 zenon_H19f). % 27.52/27.73 exact (zenon_H123 zenon_H127). % 27.52/27.73 apply (zenon_L105_ zenon_TA_dx); trivial. % 27.52/27.73 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hce. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H1a5. % 27.52/27.73 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.73 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H62. apply refl_equal. % 27.52/27.73 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.73 apply (zenon_L107_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hc7. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_Hc9. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.73 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_Hcb zenon_Hbe). % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 apply zenon_Hca. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L108_ *) % 27.52/27.73 assert (zenon_L109_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H23f zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf. % 27.52/27.73 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.73 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.73 apply (zenon_L5_); trivial. % 27.52/27.73 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.73 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H23f. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H8d. % 27.52/27.73 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.73 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.73 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.73 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_Hf8. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H5f. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H167 zenon_H16a). % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.73 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.73 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.73 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.52/27.73 exact (zenon_H5b zenon_H16b). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.52/27.73 exact (zenon_Ha1 zenon_H8d). % 27.52/27.73 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H23f. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H16f. % 27.52/27.73 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 exact (zenon_Ha4 zenon_Hae). % 27.52/27.73 exact (zenon_Ha4 zenon_Hae). % 27.52/27.73 elim (classic (gt zenon_TA_dx (n2))); [ zenon_intro zenon_H239 | zenon_intro zenon_H233 ]. % 27.52/27.73 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.73 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.73 generalize (zenon_Hc2 (n2)). zenon_intro zenon_H240. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H240); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H241 ]. % 27.52/27.73 exact (zenon_Ha1 zenon_H8d). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H233 | zenon_intro zenon_H1ce ]. % 27.52/27.73 exact (zenon_H233 zenon_H239). % 27.52/27.73 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H23f. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H1ce. % 27.52/27.73 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.73 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.73 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.73 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.73 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.73 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.73 generalize (zenon_H16c (n2)). zenon_intro zenon_H242. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H5b | zenon_intro zenon_H243 ]. % 27.52/27.73 exact (zenon_H5b zenon_H16b). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H243); [ zenon_intro zenon_H1cb | zenon_intro zenon_H244 ]. % 27.52/27.73 exact (zenon_H1cb zenon_H1ce). % 27.52/27.73 exact (zenon_H23f zenon_H244). % 27.52/27.73 apply zenon_H56. apply refl_equal. % 27.52/27.73 apply (zenon_L97_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L109_ *) % 27.52/27.73 assert (zenon_L110_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (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). % 27.52/27.73 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H6b zenon_H109. % 27.52/27.73 elim (classic ((~((n1) = (n3)))/\(~(gt (n1) (n3))))); [ zenon_intro zenon_H15a | zenon_intro zenon_H15b ]. % 27.52/27.73 apply (zenon_and_s _ _ zenon_H15a). zenon_intro zenon_H15c. zenon_intro zenon_H155. % 27.52/27.73 apply (zenon_L108_ zenon_TA_dx); trivial. % 27.52/27.73 cut ((gt (n3) (n1)) = (gt (n1) (n1))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H109. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact gt_3_1. % 27.52/27.73 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.73 cut (((n3) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H15d]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H15b); [ zenon_intro zenon_H15f | zenon_intro zenon_H15e ]. % 27.52/27.73 apply zenon_H15f. zenon_intro zenon_H160. % 27.52/27.73 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.73 cut (((n1) = (n1)) = ((n3) = (n1))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H15d. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H10d. % 27.52/27.73 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.73 cut (((n1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H15c]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H15c zenon_H160). % 27.52/27.73 apply zenon_H57. apply refl_equal. % 27.52/27.73 apply zenon_H57. apply refl_equal. % 27.52/27.73 apply zenon_H15e. zenon_intro zenon_H159. % 27.52/27.73 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.73 generalize (zenon_H128 (n3)). zenon_intro zenon_H161. % 27.52/27.73 generalize (zenon_H161 (n1)). zenon_intro zenon_H162. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H162); [ zenon_intro zenon_H155 | zenon_intro zenon_H163 ]. % 27.52/27.73 exact (zenon_H155 zenon_H159). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H163); [ zenon_intro zenon_H164 | zenon_intro zenon_H12d ]. % 27.52/27.73 exact (zenon_H164 gt_3_1). % 27.52/27.73 exact (zenon_H109 zenon_H12d). % 27.52/27.73 apply zenon_H57. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L110_ *) % 27.52/27.73 assert (zenon_L111_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (n2))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.73 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H13a zenon_Hd8 zenon_H6b. % 27.52/27.73 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.73 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.73 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.73 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.52/27.73 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.73 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.52/27.73 generalize (zenon_H245 (n2)). zenon_intro zenon_H246. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H246); [ zenon_intro zenon_H12f | zenon_intro zenon_H247 ]. % 27.52/27.73 exact (zenon_H12f zenon_H12e). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H247); [ zenon_intro zenon_H23f | zenon_intro zenon_H13e ]. % 27.52/27.73 exact (zenon_H23f zenon_H244). % 27.52/27.73 exact (zenon_H13a zenon_H13e). % 27.52/27.73 apply (zenon_L109_ zenon_TA_dx); trivial. % 27.52/27.73 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H12f. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H12d. % 27.52/27.73 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.73 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H57. apply refl_equal. % 27.52/27.73 exact (zenon_H5e zenon_H10a). % 27.52/27.73 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.73 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H5e. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H5f. % 27.52/27.73 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.73 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.73 congruence. % 27.52/27.73 exact (zenon_H61 successor_1). % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 apply zenon_H60. apply refl_equal. % 27.52/27.73 (* end of lemma zenon_L111_ *) % 27.52/27.73 assert (zenon_L112_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H1fe zenon_Hd8 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.73 elim (classic (gt (n1) (n2))); [ zenon_intro zenon_H13e | zenon_intro zenon_H13a ]. % 27.52/27.73 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.73 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.73 generalize (zenon_H6e (n2)). zenon_intro zenon_H248. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H248); [ zenon_intro zenon_H71 | zenon_intro zenon_H249 ]. % 27.52/27.73 exact (zenon_H71 gt_2_1). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H249); [ zenon_intro zenon_H13a | zenon_intro zenon_H217 ]. % 27.52/27.73 exact (zenon_H13a zenon_H13e). % 27.52/27.73 exact (zenon_H1fe zenon_H217). % 27.52/27.73 apply (zenon_L111_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L112_ *) % 27.52/27.73 assert (zenon_L113_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~(gt zenon_TA_dx (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H220 zenon_H1cf zenon_H233 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.73 elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TA_dx)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TA_dx))))); [ zenon_intro zenon_H24a | zenon_intro zenon_H24b ]. % 27.52/27.73 apply (zenon_and_s _ _ zenon_H24a). zenon_intro zenon_H24c. zenon_intro zenon_H1c6. % 27.52/27.73 apply (zenon_L73_ zenon_TA_dx); trivial. % 27.52/27.73 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.73 generalize (zenon_H6b (succ zenon_TA_dx)). zenon_intro zenon_H113. % 27.52/27.73 generalize (zenon_H113 (n0)). zenon_intro zenon_H114. % 27.52/27.73 generalize (zenon_H114 (n3)). zenon_intro zenon_H24d. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H69 | zenon_intro zenon_H24e ]. % 27.52/27.73 exact (zenon_H69 zenon_H63). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H154 | zenon_intro zenon_H24f ]. % 27.52/27.73 exact (zenon_H154 zenon_H156). % 27.52/27.73 cut ((gt (succ zenon_TA_dx) (n3)) = (gt (succ (tptp_minus_1)) (n3))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H220. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H24f. % 27.52/27.73 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.73 cut (((succ zenon_TA_dx) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H250]. % 27.52/27.73 congruence. % 27.52/27.73 apply (zenon_notand_s _ _ zenon_H24b); [ zenon_intro zenon_H252 | zenon_intro zenon_H251 ]. % 27.52/27.73 apply zenon_H252. zenon_intro zenon_H253. % 27.52/27.73 apply zenon_H250. apply sym_equal. exact zenon_H253. % 27.52/27.73 apply zenon_H251. zenon_intro zenon_H1ca. % 27.52/27.73 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.73 generalize (zenon_Hc1 (succ zenon_TA_dx)). zenon_intro zenon_H254. % 27.52/27.73 generalize (zenon_H254 (n3)). zenon_intro zenon_H255. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H256 ]. % 27.52/27.73 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H256); [ zenon_intro zenon_H257 | zenon_intro zenon_H224 ]. % 27.52/27.73 exact (zenon_H257 zenon_H24f). % 27.52/27.73 exact (zenon_H220 zenon_H224). % 27.52/27.73 apply zenon_H55. apply refl_equal. % 27.52/27.73 apply (zenon_L98_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L113_ *) % 27.52/27.73 assert (zenon_L114_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.73 do 1 intro. intros zenon_H6b zenon_H1cb zenon_H220 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.73 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.73 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.73 intro zenon_D_pnotp. % 27.52/27.73 apply zenon_H1cb. % 27.52/27.73 rewrite <- zenon_D_pnotp. % 27.52/27.73 exact zenon_H8d. % 27.52/27.73 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.73 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.73 congruence. % 27.52/27.73 apply zenon_H5d. apply refl_equal. % 27.52/27.73 exact (zenon_Ha4 zenon_Hae). % 27.52/27.73 elim (classic (gt zenon_TA_dx (n2))); [ zenon_intro zenon_H239 | zenon_intro zenon_H233 ]. % 27.52/27.73 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.73 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.73 generalize (zenon_Hc2 (n2)). zenon_intro zenon_H240. % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H240); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H241 ]. % 27.52/27.73 exact (zenon_Ha1 zenon_H8d). % 27.52/27.73 apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H233 | zenon_intro zenon_H1ce ]. % 27.52/27.73 exact (zenon_H233 zenon_H239). % 27.52/27.73 exact (zenon_H1cb zenon_H1ce). % 27.52/27.73 apply (zenon_L113_ zenon_TA_dx); trivial. % 27.52/27.73 (* end of lemma zenon_L114_ *) % 27.52/27.73 assert (zenon_L115_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (~((n0) = zenon_TA_dx)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf zenon_H220 zenon_Hb8. % 27.52/27.74 generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1ba. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H1bb | zenon_intro zenon_Hf3 ]. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H1bb); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1a6 ]. % 27.52/27.74 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.74 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.52/27.74 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.52/27.74 elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H258). zenon_intro zenon_H25a. zenon_intro zenon_H1cb. % 27.52/27.74 apply (zenon_L114_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n2) (n0)) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Haf. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_2_0. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H259); [ zenon_intro zenon_H25d | zenon_intro zenon_H25c ]. % 27.52/27.74 apply zenon_H25d. zenon_intro zenon_H25e. % 27.52/27.74 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H25b. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb2. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H25a zenon_H25e). % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H25c. zenon_intro zenon_H1ce. % 27.52/27.74 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.74 generalize (zenon_Hc1 (n2)). zenon_intro zenon_H25f. % 27.52/27.74 generalize (zenon_H25f (n0)). zenon_intro zenon_H260. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H1cb | zenon_intro zenon_H261 ]. % 27.52/27.74 exact (zenon_H1cb zenon_H1ce). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H185 | zenon_intro zenon_Hb1 ]. % 27.52/27.74 exact (zenon_H185 gt_2_0). % 27.52/27.74 exact (zenon_Haf zenon_Hb1). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 exact (zenon_Hdd zenon_Hdf). % 27.52/27.74 apply (zenon_L66_); trivial. % 27.52/27.74 apply (zenon_L69_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L115_ *) % 27.52/27.74 assert (zenon_L116_ : forall (zenon_TA_dx : zenon_U), (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.74 do 1 intro. intros zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe zenon_H218 zenon_H6b. % 27.52/27.74 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.74 elim (classic (gt (succ (tptp_minus_1)) (n3))); [ zenon_intro zenon_H224 | zenon_intro zenon_H220 ]. % 27.52/27.74 cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H218. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H224. % 27.52/27.74 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 congruence. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 exact (zenon_H88 zenon_H207). % 27.52/27.74 apply (zenon_L115_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.74 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H88. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H208. % 27.52/27.74 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.74 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H20a successor_3). % 27.52/27.74 apply zenon_H209. apply refl_equal. % 27.52/27.74 apply zenon_H209. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L116_ *) % 27.52/27.74 assert (zenon_L117_ : forall (zenon_TA_dx : zenon_U), (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.74 do 1 intro. intros zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe zenon_H218 zenon_H6b. % 27.52/27.74 apply (zenon_L116_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L117_ *) % 27.52/27.74 assert (zenon_L118_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.74 apply (zenon_L117_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L118_ *) % 27.52/27.74 assert (zenon_L119_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.74 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H218 zenon_Hb8 zenon_H6b. % 27.52/27.74 apply (zenon_L118_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L119_ *) % 27.52/27.74 assert (zenon_L120_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_H10f zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.74 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.74 cut ((gt (n1) (succ (n0))) = (gt (succ (n0)) (succ (n0)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H10f. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H12e. % 27.52/27.74 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.74 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.74 congruence. % 27.52/27.74 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.74 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H5e. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H5f. % 27.52/27.74 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.74 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H61 successor_1). % 27.52/27.74 apply zenon_H60. apply refl_equal. % 27.52/27.74 apply zenon_H60. apply refl_equal. % 27.52/27.74 apply zenon_H60. apply refl_equal. % 27.52/27.74 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.74 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.74 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H12f. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H12d. % 27.52/27.74 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.74 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.74 congruence. % 27.52/27.74 apply zenon_H57. apply refl_equal. % 27.52/27.74 exact (zenon_H5e zenon_H10a). % 27.52/27.74 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.74 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H5e. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H5f. % 27.52/27.74 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.74 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H61 successor_1). % 27.52/27.74 apply zenon_H60. apply refl_equal. % 27.52/27.74 apply zenon_H60. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L120_ *) % 27.52/27.74 assert (zenon_L121_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.74 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H218 zenon_Hb8 zenon_H6b. % 27.52/27.74 apply (zenon_L119_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L121_ *) % 27.52/27.74 assert (zenon_L122_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_H176 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf. % 27.52/27.74 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.52/27.74 elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H258). zenon_intro zenon_H25a. zenon_intro zenon_H1cb. % 27.52/27.74 apply (zenon_L114_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n2) (n1)) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H176. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_2_1. % 27.52/27.74 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.74 cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H259); [ zenon_intro zenon_H25d | zenon_intro zenon_H25c ]. % 27.52/27.74 apply zenon_H25d. zenon_intro zenon_H25e. % 27.52/27.74 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H25b. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb2. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H25a zenon_H25e). % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H25c. zenon_intro zenon_H1ce. % 27.52/27.74 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.74 generalize (zenon_Hc1 (n2)). zenon_intro zenon_H25f. % 27.52/27.74 generalize (zenon_H25f (n1)). zenon_intro zenon_H262. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H1cb | zenon_intro zenon_H263 ]. % 27.52/27.74 exact (zenon_H1cb zenon_H1ce). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_H71 | zenon_intro zenon_H173 ]. % 27.52/27.74 exact (zenon_H71 gt_2_1). % 27.52/27.74 exact (zenon_H176 zenon_H173). % 27.52/27.74 apply zenon_H57. apply refl_equal. % 27.52/27.74 cut ((gt (n3) (n1)) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H176. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_3_1. % 27.52/27.74 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.74 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.52/27.74 apply zenon_H227. zenon_intro zenon_H228. % 27.52/27.74 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H225. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb2. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H221 zenon_H228). % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H226. zenon_intro zenon_H224. % 27.52/27.74 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.74 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.74 generalize (zenon_H229 (n1)). zenon_intro zenon_H264. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H264); [ zenon_intro zenon_H220 | zenon_intro zenon_H265 ]. % 27.52/27.74 exact (zenon_H220 zenon_H224). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H265); [ zenon_intro zenon_H164 | zenon_intro zenon_H173 ]. % 27.52/27.74 exact (zenon_H164 gt_3_1). % 27.52/27.74 exact (zenon_H176 zenon_H173). % 27.52/27.74 apply zenon_H57. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L122_ *) % 27.52/27.74 assert (zenon_L123_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.74 do 1 intro. intros zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe zenon_H123 zenon_H6b. % 27.52/27.74 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.74 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.74 cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (n0) (n1))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H123. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H173. % 27.52/27.74 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.74 congruence. % 27.52/27.74 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.74 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hb3. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hba. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H5a zenon_H59). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_H57. apply refl_equal. % 27.52/27.74 apply (zenon_L122_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H5a. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb2. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L123_ *) % 27.52/27.74 assert (zenon_L124_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (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). % 27.52/27.74 do 1 intro. intros zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf zenon_H6b zenon_Hcf. % 27.52/27.74 elim (classic ((~((n0) = (n1)))/\(~(gt (n0) (n1))))); [ zenon_intro zenon_H266 | zenon_intro zenon_H267 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H266). zenon_intro zenon_H268. zenon_intro zenon_H123. % 27.52/27.74 apply (zenon_L123_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n1) (n0)) = (gt (n0) (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hcf. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_1_0. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H267); [ zenon_intro zenon_H26b | zenon_intro zenon_H26a ]. % 27.52/27.74 apply zenon_H26b. zenon_intro zenon_H26c. % 27.52/27.74 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.74 cut (((n0) = (n0)) = ((n1) = (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H269. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hba. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n0) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H268 zenon_H26c). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_H26a. zenon_intro zenon_H127. % 27.52/27.74 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.74 generalize (zenon_H105 (n1)). zenon_intro zenon_H26d. % 27.52/27.74 generalize (zenon_H26d (n0)). zenon_intro zenon_H26e. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H26e); [ zenon_intro zenon_H123 | zenon_intro zenon_H26f ]. % 27.52/27.74 exact (zenon_H123 zenon_H127). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H26f); [ zenon_intro zenon_H12c | zenon_intro zenon_H1a5 ]. % 27.52/27.74 exact (zenon_H12c gt_1_0). % 27.52/27.74 exact (zenon_Hcf zenon_H1a5). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L124_ *) % 27.52/27.74 assert (zenon_L125_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (n2))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H1cf zenon_H233 zenon_H6b zenon_H181 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.74 elim (classic ((~((tptp_minus_1) = (n3)))/\(~(gt (tptp_minus_1) (n3))))); [ zenon_intro zenon_H177 | zenon_intro zenon_H178 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H177). zenon_intro zenon_Hd8. zenon_intro zenon_H179. % 27.52/27.74 apply (zenon_L97_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n3) (n0)) = (gt (tptp_minus_1) (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H181. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_3_0. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n3) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_H17a]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H178); [ zenon_intro zenon_H17c | zenon_intro zenon_H17b ]. % 27.52/27.74 apply zenon_H17c. zenon_intro zenon_Hf6. % 27.52/27.74 elim (classic ((tptp_minus_1) = (tptp_minus_1))); [ zenon_intro zenon_H103 | zenon_intro zenon_Hd4 ]. % 27.52/27.74 cut (((tptp_minus_1) = (tptp_minus_1)) = ((n3) = (tptp_minus_1))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H17a. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H103. % 27.52/27.74 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.74 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.74 apply zenon_Hd4. apply refl_equal. % 27.52/27.74 apply zenon_Hd4. apply refl_equal. % 27.52/27.74 apply zenon_H17b. zenon_intro zenon_H17d. % 27.52/27.74 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.74 generalize (zenon_H150 (n3)). zenon_intro zenon_H17e. % 27.52/27.74 generalize (zenon_H17e (n0)). zenon_intro zenon_H186. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H186); [ zenon_intro zenon_H179 | zenon_intro zenon_H187 ]. % 27.52/27.74 exact (zenon_H179 zenon_H17d). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H187); [ zenon_intro zenon_H188 | zenon_intro zenon_H184 ]. % 27.52/27.74 exact (zenon_H188 gt_3_0). % 27.52/27.74 exact (zenon_H181 zenon_H184). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L125_ *) % 27.52/27.74 assert (zenon_L126_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (tptp_minus_1) (n0))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TA_dx (n0))) -> False). % 27.52/27.74 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1cf zenon_H181 zenon_H6b zenon_Hbb. % 27.52/27.74 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.52/27.74 apply (zenon_L125_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n2) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hbb. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_2_0. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.52/27.74 apply zenon_H238. zenon_intro zenon_Hae. % 27.52/27.74 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.74 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H236. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb9. % 27.52/27.74 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.74 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Ha4 zenon_Hae). % 27.52/27.74 apply zenon_H97. apply refl_equal. % 27.52/27.74 apply zenon_H97. apply refl_equal. % 27.52/27.74 apply zenon_H237. zenon_intro zenon_H239. % 27.52/27.74 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.74 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.52/27.74 generalize (zenon_H23a (n0)). zenon_intro zenon_H270. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H270); [ zenon_intro zenon_H233 | zenon_intro zenon_H271 ]. % 27.52/27.74 exact (zenon_H233 zenon_H239). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H271); [ zenon_intro zenon_H185 | zenon_intro zenon_Hc8 ]. % 27.52/27.74 exact (zenon_H185 gt_2_0). % 27.52/27.74 exact (zenon_Hbb zenon_Hc8). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L126_ *) % 27.52/27.74 assert (zenon_L127_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_Hbd zenon_H181 zenon_H1cf zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.74 elim (classic (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hc0 ]. % 27.52/27.74 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.74 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.74 generalize (zenon_Hc2 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_Hc3. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_Hc3); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hc4 ]. % 27.52/27.74 exact (zenon_Ha1 zenon_H8d). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_Hc4); [ zenon_intro zenon_Hc0 | zenon_intro zenon_Hc5 ]. % 27.52/27.74 exact (zenon_Hc0 zenon_Hbf). % 27.52/27.74 exact (zenon_Hbd zenon_Hc5). % 27.52/27.74 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.74 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.74 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hc0. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hc8. % 27.52/27.74 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.74 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.74 congruence. % 27.52/27.74 apply zenon_H97. apply refl_equal. % 27.52/27.74 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.74 apply (zenon_L126_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hc7. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hc9. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hcb zenon_Hbe). % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L127_ *) % 27.52/27.74 assert (zenon_L128_ : forall (zenon_TA_dx : zenon_U), (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.74 do 1 intro. intros zenon_H181 zenon_H1cf zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_Hce zenon_H6b. % 27.52/27.74 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.74 elim (classic (gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc5 | zenon_intro zenon_Hbd ]. % 27.52/27.74 cut ((gt (succ (tptp_minus_1)) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hce. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hc5. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.74 congruence. % 27.52/27.74 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.74 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hb3. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hba. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_H5a zenon_H59). % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_H62. apply refl_equal. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 apply (zenon_L127_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H5a. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hb2. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.74 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 apply zenon_H5d. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L128_ *) % 27.52/27.74 assert (zenon_L129_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_Hcc zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.74 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.74 cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hcc. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hcd. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.74 congruence. % 27.52/27.74 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hc7. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hc9. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hcb zenon_Hbe). % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 elim (classic (gt (tptp_minus_1) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_H272 | zenon_intro zenon_H273 ]. % 27.52/27.74 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.74 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.74 generalize (zenon_H106 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H274. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H274); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H275 ]. % 27.52/27.74 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H275); [ zenon_intro zenon_H273 | zenon_intro zenon_Hcd ]. % 27.52/27.74 exact (zenon_H273 zenon_H272). % 27.52/27.74 exact (zenon_Hce zenon_Hcd). % 27.52/27.74 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.74 elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H184 | zenon_intro zenon_H181 ]. % 27.52/27.74 cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_H273. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_H184. % 27.52/27.74 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.74 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.74 congruence. % 27.52/27.74 apply zenon_Hd4. apply refl_equal. % 27.52/27.74 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.74 apply (zenon_L128_ zenon_TA_dx); trivial. % 27.52/27.74 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hc7. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hc9. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.74 congruence. % 27.52/27.74 exact (zenon_Hcb zenon_Hbe). % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 (* end of lemma zenon_L129_ *) % 27.52/27.74 assert (zenon_L130_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_H191 zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf. % 27.52/27.74 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hcc ]. % 27.52/27.74 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.74 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.52/27.74 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.74 generalize (zenon_H194 (n0)). zenon_intro zenon_H195. % 27.52/27.74 generalize (zenon_H195 (n1)). zenon_intro zenon_H276. % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H276); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H277 ]. % 27.52/27.74 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.74 apply (zenon_imply_s _ _ zenon_H277); [ zenon_intro zenon_H123 | zenon_intro zenon_H19f ]. % 27.52/27.74 exact (zenon_H123 zenon_H127). % 27.52/27.74 exact (zenon_H191 zenon_H19f). % 27.52/27.74 apply (zenon_L123_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hd1. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact zenon_Hd2. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.74 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.74 congruence. % 27.52/27.74 apply zenon_Hca. apply refl_equal. % 27.52/27.74 exact (zenon_Hcb zenon_Hbe). % 27.52/27.74 apply (zenon_L129_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L130_ *) % 27.52/27.74 assert (zenon_L131_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.74 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hb8 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf. % 27.52/27.74 apply (zenon_L121_ zenon_TA_dx); trivial. % 27.52/27.74 (* end of lemma zenon_L131_ *) % 27.52/27.74 assert (zenon_L132_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TA_dx (n0))) -> False). % 27.52/27.74 do 1 intro. intros zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H6b zenon_Hbb. % 27.52/27.74 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.52/27.74 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.52/27.74 apply (zenon_L97_ zenon_TA_dx); trivial. % 27.52/27.74 cut ((gt (n2) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.74 intro zenon_D_pnotp. % 27.52/27.74 apply zenon_Hbb. % 27.52/27.74 rewrite <- zenon_D_pnotp. % 27.52/27.74 exact gt_2_0. % 27.52/27.74 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.74 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.52/27.74 congruence. % 27.52/27.74 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.52/27.74 apply zenon_H238. zenon_intro zenon_Hae. % 27.52/27.74 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H236. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb9. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Ha4 zenon_Hae). % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 apply zenon_H237. zenon_intro zenon_H239. % 27.52/27.75 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.75 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.52/27.75 generalize (zenon_H23a (n0)). zenon_intro zenon_H270. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H270); [ zenon_intro zenon_H233 | zenon_intro zenon_H271 ]. % 27.52/27.75 exact (zenon_H233 zenon_H239). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H271); [ zenon_intro zenon_H185 | zenon_intro zenon_Hc8 ]. % 27.52/27.75 exact (zenon_H185 gt_2_0). % 27.52/27.75 exact (zenon_Hbb zenon_Hc8). % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L132_ *) % 27.52/27.75 assert (zenon_L133_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_Hb0 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.75 generalize (zenon_Hc2 (succ (tptp_minus_1))). zenon_intro zenon_H278. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H279 ]. % 27.52/27.75 exact (zenon_Ha1 zenon_H8d). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H279); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hb5 ]. % 27.52/27.75 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.75 exact (zenon_Hb0 zenon_Hb5). % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.75 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hb4. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc8. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L132_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L133_ *) % 27.52/27.75 assert (zenon_L134_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((n0) = zenon_TA_dx)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hb8 zenon_H218 zenon_H6b zenon_Hbe. % 27.52/27.75 apply (zenon_L131_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L134_ *) % 27.52/27.75 assert (zenon_L135_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf zenon_H27a zenon_Hb8 zenon_H6b. % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.75 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.75 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.75 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.52/27.75 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.52/27.75 exact (zenon_H218 zenon_H21d). % 27.52/27.75 exact (zenon_H27a zenon_H27d). % 27.52/27.75 apply (zenon_L134_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hb4. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc8. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L132_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L135_ *) % 27.52/27.75 assert (zenon_L136_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H27e zenon_Hb8 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf. % 27.52/27.75 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.75 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.75 apply (zenon_L5_); trivial. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.75 generalize (zenon_Hc2 (succ (succ (succ (n0))))). zenon_intro zenon_H27f. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H280 ]. % 27.52/27.75 exact (zenon_Ha1 zenon_H8d). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H27a | zenon_intro zenon_H21d ]. % 27.52/27.75 exact (zenon_H27a zenon_H27d). % 27.52/27.75 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H27e. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H21d. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.75 congruence. % 27.52/27.75 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.75 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.75 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.75 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.75 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.75 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.75 generalize (zenon_H16c (succ (succ (succ (n0))))). zenon_intro zenon_H281. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H5b | zenon_intro zenon_H282 ]. % 27.52/27.75 exact (zenon_H5b zenon_H16b). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_H218 | zenon_intro zenon_H283 ]. % 27.52/27.75 exact (zenon_H218 zenon_H21d). % 27.52/27.75 exact (zenon_H27e zenon_H283). % 27.52/27.75 apply zenon_H209. apply refl_equal. % 27.52/27.75 apply (zenon_L135_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L136_ *) % 27.52/27.75 assert (zenon_L137_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~((n0) = zenon_TA_dx)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H284 zenon_Hb8 zenon_Hd8 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.75 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.52/27.75 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.52/27.75 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.52/27.75 generalize (zenon_H75 (n3)). zenon_intro zenon_H285. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H78 | zenon_intro zenon_H286 ]. % 27.52/27.75 exact (zenon_H78 gt_3_2). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H202 | zenon_intro zenon_H287 ]. % 27.52/27.75 exact (zenon_H202 zenon_H205). % 27.52/27.75 exact (zenon_H284 zenon_H287). % 27.52/27.75 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.75 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.75 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.75 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.52/27.75 exact (zenon_H71 gt_2_1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.52/27.75 exact (zenon_H155 zenon_H159). % 27.52/27.75 exact (zenon_H202 zenon_H205). % 27.52/27.75 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.75 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.75 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.75 elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 27.52/27.75 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.75 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.52/27.75 generalize (zenon_H245 (n3)). zenon_intro zenon_H28a. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H28a); [ zenon_intro zenon_H12f | zenon_intro zenon_H28b ]. % 27.52/27.75 exact (zenon_H12f zenon_H12e). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H28b); [ zenon_intro zenon_H289 | zenon_intro zenon_H159 ]. % 27.52/27.75 exact (zenon_H289 zenon_H288). % 27.52/27.75 exact (zenon_H155 zenon_H159). % 27.52/27.75 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.52/27.75 cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H289. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H283. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 exact (zenon_H20a successor_3). % 27.52/27.75 apply (zenon_L136_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H12f. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H12d. % 27.52/27.75 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.75 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H57. apply refl_equal. % 27.52/27.75 exact (zenon_H5e zenon_H10a). % 27.52/27.75 apply (zenon_L108_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.75 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5e. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H5f. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L137_ *) % 27.52/27.75 assert (zenon_L138_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_Hcc zenon_H181 zenon_H1cf zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.75 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.75 cut ((gt (n0) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hcc. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hcd. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.75 congruence. % 27.52/27.75 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hc7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc9. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hcb zenon_Hbe). % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply (zenon_L128_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L138_ *) % 27.52/27.75 assert (zenon_L139_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))) -> (~(gt (tptp_minus_1) (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~((n0) = zenon_TA_dx)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H28c zenon_H181 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_Hb8. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28d | zenon_intro zenon_H28e ]. % 27.52/27.75 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H28c. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H28d. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 exact (zenon_H20a successor_3). % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hcc ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.75 elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 27.52/27.75 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.75 generalize (zenon_H194 (n0)). zenon_intro zenon_H195. % 27.52/27.75 generalize (zenon_H195 (succ (succ (succ (n0))))). zenon_intro zenon_H291. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H291); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H292 ]. % 27.52/27.75 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H292); [ zenon_intro zenon_H290 | zenon_intro zenon_H28d ]. % 27.52/27.75 exact (zenon_H290 zenon_H28f). % 27.52/27.75 exact (zenon_H28e zenon_H28d). % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.75 elim (classic (gt (n0) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb6 | zenon_intro zenon_Hb7 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.75 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.75 generalize (zenon_H105 (succ (tptp_minus_1))). zenon_intro zenon_H293. % 27.52/27.75 generalize (zenon_H293 (succ (succ (succ (n0))))). zenon_intro zenon_H294. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H294); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H295 ]. % 27.52/27.75 exact (zenon_Hb7 zenon_Hb6). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H295); [ zenon_intro zenon_H218 | zenon_intro zenon_H28f ]. % 27.52/27.75 exact (zenon_H218 zenon_H21d). % 27.52/27.75 exact (zenon_H290 zenon_H28f). % 27.52/27.75 apply (zenon_L131_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (n0) (n0)) = (gt (n0) (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hb7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1a5. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L124_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hd1. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hd2. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 exact (zenon_Hcb zenon_Hbe). % 27.52/27.75 apply (zenon_L138_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L139_ *) % 27.52/27.75 assert (zenon_L140_ : forall (zenon_TA_dx : zenon_U), (~((n0) = zenon_TA_dx)) -> (~(gt (tptp_minus_1) (n0))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_Hb8 zenon_H181 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_H154 zenon_H6b zenon_Hbe. % 27.52/27.75 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H296 | zenon_intro zenon_H28c ]. % 27.52/27.75 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n3)) = (gt (n0) (n3))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H154. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H296. % 27.52/27.75 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 congruence. % 27.52/27.75 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.75 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hcb. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hba. % 27.52/27.75 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.75 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 apply zenon_H55. apply refl_equal. % 27.52/27.75 apply (zenon_L139_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hc7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc9. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hcb zenon_Hbe). % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L140_ *) % 27.52/27.75 assert (zenon_L141_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TA_dx))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1b9 zenon_H179 zenon_H154 zenon_H6b. % 27.52/27.75 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.75 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.75 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.75 cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TA_dx))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1b9. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H12e. % 27.52/27.75 cut (((succ (n0)) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 27.52/27.75 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H57. apply refl_equal. % 27.52/27.75 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.75 congruence. % 27.52/27.75 elim (classic (gt (tptp_minus_1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H297 | zenon_intro zenon_H298 ]. % 27.52/27.75 cut ((gt (tptp_minus_1) (succ (succ (succ (n0))))) = (gt (tptp_minus_1) (n3))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H179. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H297. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.75 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hd4. apply refl_equal. % 27.52/27.75 exact (zenon_H20a successor_3). % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt (tptp_minus_1) (n0))); [ zenon_intro zenon_H184 | zenon_intro zenon_H181 ]. % 27.52/27.75 elim (classic (gt (tptp_minus_1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H299 | zenon_intro zenon_H29a ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.75 generalize (zenon_H6b (tptp_minus_1)). zenon_intro zenon_H150. % 27.52/27.75 generalize (zenon_H150 (succ (tptp_minus_1))). zenon_intro zenon_H29b. % 27.52/27.75 generalize (zenon_H29b (succ (succ (succ (n0))))). zenon_intro zenon_H29c. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H29c); [ zenon_intro zenon_H29a | zenon_intro zenon_H29d ]. % 27.52/27.75 exact (zenon_H29a zenon_H299). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H29d); [ zenon_intro zenon_H218 | zenon_intro zenon_H297 ]. % 27.52/27.75 exact (zenon_H218 zenon_H21d). % 27.52/27.75 exact (zenon_H298 zenon_H297). % 27.52/27.75 apply (zenon_L134_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (tptp_minus_1) (n0)) = (gt (tptp_minus_1) (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H29a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H184. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut (((tptp_minus_1) = (tptp_minus_1))); [idtac | apply NNPP; zenon_intro zenon_Hd4]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hd4. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L140_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H12f. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H12d. % 27.52/27.75 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.75 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H57. apply refl_equal. % 27.52/27.75 exact (zenon_H5e zenon_H10a). % 27.52/27.75 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.75 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5e. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H5f. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L141_ *) % 27.52/27.75 assert (zenon_L142_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_H101 zenon_H6b zenon_Hbe. % 27.52/27.75 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.75 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.75 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 27.52/27.75 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.75 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.75 generalize (zenon_H1d2 (succ (n0))). zenon_intro zenon_H29e. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H29e); [ zenon_intro zenon_Hce | zenon_intro zenon_H29f ]. % 27.52/27.75 exact (zenon_Hce zenon_Hcd). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H29f); [ zenon_intro zenon_H193 | zenon_intro zenon_H100 ]. % 27.52/27.75 exact (zenon_H193 zenon_H192). % 27.52/27.75 exact (zenon_H101 zenon_H100). % 27.52/27.75 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.52/27.75 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H193. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H19f. % 27.52/27.75 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 exact (zenon_H5e zenon_H10a). % 27.52/27.75 apply (zenon_L130_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.75 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5e. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H5f. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hce. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1a5. % 27.52/27.75 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.75 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.75 apply (zenon_L124_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hc7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc9. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hcb zenon_Hbe). % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L142_ *) % 27.52/27.75 assert (zenon_L143_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_Hfa zenon_H1cf zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.75 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.75 generalize (zenon_H131 (succ (n0))). zenon_intro zenon_H132. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_Haf | zenon_intro zenon_H133 ]. % 27.52/27.75 exact (zenon_Haf zenon_Hb1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H133); [ zenon_intro zenon_H101 | zenon_intro zenon_Hfe ]. % 27.52/27.75 exact (zenon_H101 zenon_H100). % 27.52/27.75 exact (zenon_Hfa zenon_Hfe). % 27.52/27.75 apply (zenon_L142_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Haf. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb5. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply (zenon_L133_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L143_ *) % 27.52/27.75 assert (zenon_L144_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H179 zenon_H154 zenon_H1c6 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.75 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.75 generalize (zenon_H1c3 (succ zenon_TA_dx)). zenon_intro zenon_H1c8. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1c8); [ zenon_intro zenon_H176 | zenon_intro zenon_H1c9 ]. % 27.52/27.75 exact (zenon_H176 zenon_H173). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1c9); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ca ]. % 27.52/27.75 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.75 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.75 apply (zenon_L141_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H176. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hfe. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply (zenon_L143_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L144_ *) % 27.52/27.75 assert (zenon_L145_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (n1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H155 zenon_H154 zenon_H179 zenon_Hd8 zenon_H6b zenon_Hbe. % 27.52/27.75 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.75 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.75 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ zenon_TA_dx))); [ zenon_intro zenon_H1d0 | zenon_intro zenon_H1d1 ]. % 27.52/27.75 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.75 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.75 generalize (zenon_H1d2 (succ zenon_TA_dx)). zenon_intro zenon_H1d3. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1d3); [ zenon_intro zenon_Hce | zenon_intro zenon_H1d4 ]. % 27.52/27.75 exact (zenon_Hce zenon_Hcd). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1d4); [ zenon_intro zenon_H1d1 | zenon_intro zenon_H1d5 ]. % 27.52/27.75 exact (zenon_H1d1 zenon_H1d0). % 27.52/27.75 exact (zenon_H1cf zenon_H1d5). % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.75 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1d7 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TA_dx))); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c6 ]. % 27.52/27.75 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.75 generalize (zenon_H194 (succ (tptp_minus_1))). zenon_intro zenon_H1d8. % 27.52/27.75 generalize (zenon_H1d8 (succ zenon_TA_dx)). zenon_intro zenon_H1d9. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1d9); [ zenon_intro zenon_H1d7 | zenon_intro zenon_H1da ]. % 27.52/27.75 exact (zenon_H1d7 zenon_H1d6). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1da); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H1d0 ]. % 27.52/27.75 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.75 exact (zenon_H1d1 zenon_H1d0). % 27.52/27.75 apply (zenon_L144_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1d7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hd0. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L106_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hce. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1a5. % 27.52/27.75 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.75 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.75 apply (zenon_L107_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hc7. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc9. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.75 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hcb zenon_Hbe). % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 apply zenon_Hca. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L145_ *) % 27.52/27.75 assert (zenon_L146_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H284 zenon_H179 zenon_H154 zenon_Hd8 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.75 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.52/27.75 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.52/27.75 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.52/27.75 generalize (zenon_H75 (n3)). zenon_intro zenon_H285. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H78 | zenon_intro zenon_H286 ]. % 27.52/27.75 exact (zenon_H78 gt_3_2). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H202 | zenon_intro zenon_H287 ]. % 27.52/27.75 exact (zenon_H202 zenon_H205). % 27.52/27.75 exact (zenon_H284 zenon_H287). % 27.52/27.75 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.75 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.75 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.75 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.52/27.75 exact (zenon_H71 gt_2_1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.52/27.75 exact (zenon_H155 zenon_H159). % 27.52/27.75 exact (zenon_H202 zenon_H205). % 27.52/27.75 apply (zenon_L145_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L146_ *) % 27.52/27.75 assert (zenon_L147_ : (~(gt (n2) (succ (n0)))) -> False). % 27.52/27.75 do 0 intro. intros zenon_H2a0. % 27.52/27.75 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.75 cut ((gt (n2) (n1)) = (gt (n2) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H2a0. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact gt_2_1. % 27.52/27.75 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.75 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H56. apply refl_equal. % 27.52/27.75 exact (zenon_H5e zenon_H10a). % 27.52/27.75 apply zenon_H5e. apply sym_equal. exact successor_1. % 27.52/27.75 (* end of lemma zenon_L147_ *) % 27.52/27.75 assert (zenon_L148_ : (~(gt (succ (succ (n0))) (succ (n0)))) -> False). % 27.52/27.75 do 0 intro. intros zenon_H1e8. % 27.52/27.75 elim (classic (gt (n2) (succ (n0)))); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a0 ]. % 27.52/27.75 cut ((gt (n2) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1e8. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H2a1. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.75 congruence. % 27.52/27.75 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.75 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1dd. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1de. % 27.52/27.75 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.75 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H1e0 successor_2). % 27.52/27.75 apply zenon_H1df. apply refl_equal. % 27.52/27.75 apply zenon_H1df. apply refl_equal. % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 apply (zenon_L147_); trivial. % 27.52/27.75 (* end of lemma zenon_L148_ *) % 27.52/27.75 assert (zenon_L149_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (succ (n0))) (n3))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H154 zenon_H179 zenon_Hd8 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H2a2. % 27.52/27.75 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.52/27.75 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.52/27.75 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.75 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.75 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.52/27.75 generalize (zenon_H1fb (n3)). zenon_intro zenon_H2a3. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2a3); [ zenon_intro zenon_H1fa | zenon_intro zenon_H2a4 ]. % 27.52/27.75 exact (zenon_H1fa zenon_H1f9). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2a4); [ zenon_intro zenon_H155 | zenon_intro zenon_H2a5 ]. % 27.52/27.75 exact (zenon_H155 zenon_H159). % 27.52/27.75 exact (zenon_H2a2 zenon_H2a5). % 27.52/27.75 apply (zenon_L145_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1fa. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1f5. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H1df. apply refl_equal. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply (zenon_L148_); trivial. % 27.52/27.75 (* end of lemma zenon_L149_ *) % 27.52/27.75 assert (zenon_L150_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H101 zenon_H138 zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63. % 27.52/27.75 elim (classic (gt (tptp_minus_1) (succ (n0)))); [ zenon_intro zenon_H104 | zenon_intro zenon_Hff ]. % 27.52/27.75 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.75 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.75 generalize (zenon_H106 (succ (n0))). zenon_intro zenon_H107. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H107); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H108 ]. % 27.52/27.75 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H108); [ zenon_intro zenon_Hff | zenon_intro zenon_H100 ]. % 27.52/27.75 exact (zenon_Hff zenon_H104). % 27.52/27.75 exact (zenon_H101 zenon_H100). % 27.52/27.75 apply (zenon_L52_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L150_ *) % 27.52/27.75 assert (zenon_L151_ : forall (zenon_TA_dx : 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_TA_dx (n1))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n1))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H138 zenon_Hfa zenon_H63 zenon_H8d zenon_Ha3 zenon_Ha4 zenon_Ha5. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.75 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.75 generalize (zenon_H131 (succ (n0))). zenon_intro zenon_H132. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H132); [ zenon_intro zenon_Haf | zenon_intro zenon_H133 ]. % 27.52/27.75 exact (zenon_Haf zenon_Hb1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H133); [ zenon_intro zenon_H101 | zenon_intro zenon_Hfe ]. % 27.52/27.75 exact (zenon_H101 zenon_H100). % 27.52/27.75 exact (zenon_Hfa zenon_Hfe). % 27.52/27.75 apply (zenon_L150_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Haf. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb5. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply (zenon_L16_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L151_ *) % 27.52/27.75 assert (zenon_L152_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (n0)))) -> (~(gt zenon_TA_dx (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.75 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_Hf9 zenon_H138 zenon_H6b. % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.75 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.75 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.75 generalize (zenon_H135 (succ (n0))). zenon_intro zenon_H136. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H137 ]. % 27.52/27.75 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H137); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ]. % 27.52/27.75 exact (zenon_Hfa zenon_Hfe). % 27.52/27.75 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.75 apply (zenon_L151_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hb4. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc8. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L152_ *) % 27.52/27.75 assert (zenon_L153_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hf9 zenon_H6b. % 27.52/27.75 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.75 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.75 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.75 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.75 generalize (zenon_H135 (succ (n0))). zenon_intro zenon_H136. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H136); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H137 ]. % 27.52/27.75 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H137); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hfb ]. % 27.52/27.75 exact (zenon_Hfa zenon_Hfe). % 27.52/27.75 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.75 apply (zenon_L72_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hb4. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hc8. % 27.52/27.75 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 exact (zenon_H5a zenon_H59). % 27.52/27.75 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.52/27.75 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.52/27.75 apply (zenon_L152_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_Hbb. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact gt_1_0. % 27.52/27.75 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.75 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.52/27.75 congruence. % 27.52/27.75 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.52/27.75 apply zenon_H18d. zenon_intro zenon_Hac. % 27.52/27.75 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H18b. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb9. % 27.52/27.75 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.75 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Ha3 zenon_Hac). % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 apply zenon_H97. apply refl_equal. % 27.52/27.75 apply zenon_H18c. zenon_intro zenon_H170. % 27.52/27.75 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.75 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.52/27.75 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.52/27.75 exact (zenon_H138 zenon_H170). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.52/27.75 exact (zenon_H12c gt_1_0). % 27.52/27.75 exact (zenon_Hbb zenon_Hc8). % 27.52/27.75 apply zenon_H62. apply refl_equal. % 27.52/27.75 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H5a. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hb2. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 apply zenon_H5d. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L153_ *) % 27.52/27.75 assert (zenon_L154_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (succ (n0)))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H1e8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.75 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.52/27.75 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.52/27.75 apply (zenon_L82_); trivial. % 27.52/27.75 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.52/27.75 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.75 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.75 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.52/27.75 exact (zenon_Ha1 zenon_H8d). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.52/27.75 exact (zenon_Hf9 zenon_Hfb). % 27.52/27.75 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (succ (n0))) (succ (n0)))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1e8. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_Hfe. % 27.52/27.75 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.75 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.75 congruence. % 27.52/27.75 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.75 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.75 apply zenon_H1ec. apply sym_equal. exact zenon_H1ef. % 27.52/27.75 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.75 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.75 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.75 generalize (zenon_H1f2 (succ (n0))). zenon_intro zenon_H1f3. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1f3); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H1f4 ]. % 27.52/27.75 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H1f4); [ zenon_intro zenon_Hfa | zenon_intro zenon_H1f5 ]. % 27.52/27.75 exact (zenon_Hfa zenon_Hfe). % 27.52/27.75 exact (zenon_H1e8 zenon_H1f5). % 27.52/27.75 apply zenon_H60. apply refl_equal. % 27.52/27.75 apply (zenon_L153_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L154_ *) % 27.52/27.75 assert (zenon_L155_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H2a6 zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5. % 27.52/27.75 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.52/27.75 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.52/27.75 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.75 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.75 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.52/27.75 generalize (zenon_H1fb (succ zenon_TA_dx)). zenon_intro zenon_H2a7. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2a7); [ zenon_intro zenon_H1fa | zenon_intro zenon_H2a8 ]. % 27.52/27.75 exact (zenon_H1fa zenon_H1f9). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2a8); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H2a9 ]. % 27.52/27.75 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.75 exact (zenon_H2a6 zenon_H2a9). % 27.52/27.75 apply (zenon_L70_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1fa. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H1f5. % 27.52/27.75 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.75 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H1df. apply refl_equal. % 27.52/27.75 exact (zenon_H61 successor_1). % 27.52/27.75 apply (zenon_L154_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L155_ *) % 27.52/27.75 assert (zenon_L156_ : forall (zenon_TA_dx : 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_TA_dx))) -> (~(gt zenon_TA_dx (n2))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H2a2 zenon_H1cf zenon_H233 zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.75 elim (classic ((~((succ (succ (n0))) = (succ zenon_TA_dx)))/\(~(gt (succ (succ (n0))) (succ zenon_TA_dx))))); [ zenon_intro zenon_H2aa | zenon_intro zenon_H2ab ]. % 27.52/27.75 apply (zenon_and_s _ _ zenon_H2aa). zenon_intro zenon_H2ac. zenon_intro zenon_H2a6. % 27.52/27.75 apply (zenon_L155_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.75 generalize (zenon_H6b (succ zenon_TA_dx)). zenon_intro zenon_H113. % 27.52/27.75 generalize (zenon_H113 (n0)). zenon_intro zenon_H114. % 27.52/27.75 generalize (zenon_H114 (n3)). zenon_intro zenon_H24d. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H69 | zenon_intro zenon_H24e ]. % 27.52/27.75 exact (zenon_H69 zenon_H63). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H154 | zenon_intro zenon_H24f ]. % 27.52/27.75 exact (zenon_H154 zenon_H156). % 27.52/27.75 cut ((gt (succ zenon_TA_dx) (n3)) = (gt (succ (succ (n0))) (n3))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H2a2. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H24f. % 27.52/27.75 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.75 cut (((succ zenon_TA_dx) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 27.52/27.75 congruence. % 27.52/27.75 apply (zenon_notand_s _ _ zenon_H2ab); [ zenon_intro zenon_H2af | zenon_intro zenon_H2ae ]. % 27.52/27.75 apply zenon_H2af. zenon_intro zenon_H2b0. % 27.52/27.75 apply zenon_H2ad. apply sym_equal. exact zenon_H2b0. % 27.52/27.75 apply zenon_H2ae. zenon_intro zenon_H2a9. % 27.52/27.75 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.75 generalize (zenon_H1f1 (succ zenon_TA_dx)). zenon_intro zenon_H2b1. % 27.52/27.75 generalize (zenon_H2b1 (n3)). zenon_intro zenon_H2b2. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2b2); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2b3 ]. % 27.52/27.75 exact (zenon_H2a6 zenon_H2a9). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H2b3); [ zenon_intro zenon_H257 | zenon_intro zenon_H2a5 ]. % 27.52/27.75 exact (zenon_H257 zenon_H24f). % 27.52/27.75 exact (zenon_H2a2 zenon_H2a5). % 27.52/27.75 apply zenon_H55. apply refl_equal. % 27.52/27.75 apply (zenon_L98_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L156_ *) % 27.52/27.75 assert (zenon_L157_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (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). % 27.52/27.75 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H1cf zenon_H233 zenon_H20b zenon_H6b. % 27.52/27.75 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.75 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.52/27.75 cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H20b. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H2a5. % 27.52/27.75 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.75 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.75 congruence. % 27.52/27.75 apply zenon_H1df. apply refl_equal. % 27.52/27.75 exact (zenon_H88 zenon_H207). % 27.52/27.75 apply (zenon_L156_ zenon_TA_dx); trivial. % 27.52/27.75 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H88. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H208. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.75 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H20a successor_3). % 27.52/27.75 apply zenon_H209. apply refl_equal. % 27.52/27.75 apply zenon_H209. apply refl_equal. % 27.52/27.75 (* end of lemma zenon_L157_ *) % 27.52/27.75 assert (zenon_L158_ : forall (zenon_TA_dx : 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_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.75 do 1 intro. intros zenon_H6b zenon_H202 zenon_H233 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe. % 27.52/27.75 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.75 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.75 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.75 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.52/27.75 exact (zenon_H71 gt_2_1). % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.52/27.75 exact (zenon_H155 zenon_H159). % 27.52/27.75 exact (zenon_H202 zenon_H205). % 27.52/27.75 apply (zenon_L99_ zenon_TA_dx); trivial. % 27.52/27.75 (* end of lemma zenon_L158_ *) % 27.52/27.75 assert (zenon_L159_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.75 do 1 intro. intros zenon_H233 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H6b zenon_H1fe. % 27.52/27.75 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.52/27.75 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.52/27.75 apply (zenon_L158_ zenon_TA_dx); trivial. % 27.52/27.75 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H1fe. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact gt_3_2. % 27.52/27.75 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.75 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.52/27.75 congruence. % 27.52/27.75 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.52/27.75 apply zenon_H212. zenon_intro zenon_H213. % 27.52/27.75 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.75 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.52/27.75 intro zenon_D_pnotp. % 27.52/27.75 apply zenon_H210. % 27.52/27.75 rewrite <- zenon_D_pnotp. % 27.52/27.75 exact zenon_H200. % 27.52/27.75 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.75 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.52/27.75 congruence. % 27.52/27.75 exact (zenon_H20f zenon_H213). % 27.52/27.75 apply zenon_H56. apply refl_equal. % 27.52/27.75 apply zenon_H56. apply refl_equal. % 27.52/27.75 apply zenon_H211. zenon_intro zenon_H205. % 27.52/27.75 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.75 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.52/27.75 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.52/27.75 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.52/27.76 exact (zenon_H202 zenon_H205). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.52/27.76 exact (zenon_H78 gt_3_2). % 27.52/27.76 exact (zenon_H1fe zenon_H217). % 27.52/27.76 apply zenon_H56. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L159_ *) % 27.52/27.76 assert (zenon_L160_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (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). % 27.52/27.76 do 1 intro. intros zenon_H233 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hbe zenon_H218 zenon_H6b. % 27.52/27.76 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.76 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 (succ (succ (n0)))). zenon_intro zenon_H21a. % 27.52/27.76 generalize (zenon_H21a (succ (succ (succ (n0))))). zenon_intro zenon_H21b. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H21b); [ zenon_intro zenon_H1db | zenon_intro zenon_H21c ]. % 27.52/27.76 exact (zenon_H1db zenon_H1e2). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H20b | zenon_intro zenon_H21d ]. % 27.52/27.76 exact (zenon_H20b zenon_H219). % 27.52/27.76 exact (zenon_H218 zenon_H21d). % 27.52/27.76 apply (zenon_L157_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1db. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1ce. % 27.52/27.76 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 exact (zenon_H1dd zenon_H1dc). % 27.52/27.76 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.52/27.76 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.52/27.76 apply (zenon_L113_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1cb. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact gt_3_2. % 27.52/27.76 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.76 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.52/27.76 apply zenon_H227. zenon_intro zenon_H228. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H225. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H221 zenon_H228). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H226. zenon_intro zenon_H224. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.76 generalize (zenon_H229 (n2)). zenon_intro zenon_H22a. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H220 | zenon_intro zenon_H22b ]. % 27.52/27.76 exact (zenon_H220 zenon_H224). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H78 | zenon_intro zenon_H1ce ]. % 27.52/27.76 exact (zenon_H78 gt_3_2). % 27.52/27.76 exact (zenon_H1cb zenon_H1ce). % 27.52/27.76 apply zenon_H56. apply refl_equal. % 27.52/27.76 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1dd. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1de. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.76 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H1e0 successor_2). % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L160_ *) % 27.52/27.76 assert (zenon_L161_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (n2))) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H2b4 zenon_H1cf zenon_H233 zenon_H22f zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.76 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.52/27.76 elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 27.52/27.76 elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H22c | zenon_intro zenon_H201 ]. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (n3)). zenon_intro zenon_H2b5. % 27.52/27.76 generalize (zenon_H2b5 (succ (succ (n0)))). zenon_intro zenon_H2b6. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2b6); [ zenon_intro zenon_H289 | zenon_intro zenon_H2b7 ]. % 27.52/27.76 exact (zenon_H289 zenon_H288). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2b7); [ zenon_intro zenon_H201 | zenon_intro zenon_H2b8 ]. % 27.52/27.76 exact (zenon_H201 zenon_H22c). % 27.52/27.76 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.76 apply (zenon_L87_); trivial. % 27.52/27.76 cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H289. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H283. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 exact (zenon_H20a successor_3). % 27.52/27.76 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.76 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.76 apply (zenon_L5_); trivial. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.76 generalize (zenon_Hc2 (succ (succ (succ (n0))))). zenon_intro zenon_H27f. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H280 ]. % 27.52/27.76 exact (zenon_Ha1 zenon_H8d). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H27a | zenon_intro zenon_H21d ]. % 27.52/27.76 exact (zenon_H27a zenon_H27d). % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H27e. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H21d. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.76 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.76 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.76 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.76 generalize (zenon_H16c (succ (succ (succ (n0))))). zenon_intro zenon_H281. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H5b | zenon_intro zenon_H282 ]. % 27.52/27.76 exact (zenon_H5b zenon_H16b). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_H218 | zenon_intro zenon_H283 ]. % 27.52/27.76 exact (zenon_H218 zenon_H21d). % 27.52/27.76 exact (zenon_H27e zenon_H283). % 27.52/27.76 apply zenon_H209. apply refl_equal. % 27.52/27.76 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.76 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.76 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.76 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.52/27.76 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.52/27.76 exact (zenon_H218 zenon_H21d). % 27.52/27.76 exact (zenon_H27a zenon_H27d). % 27.52/27.76 apply (zenon_L160_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hb4. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hc8. % 27.52/27.76 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 exact (zenon_H5a zenon_H59). % 27.52/27.76 apply (zenon_L95_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5a. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L161_ *) % 27.52/27.76 assert (zenon_L162_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H23f zenon_H2b4 zenon_H1cf zenon_H22f zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.76 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.76 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.76 apply (zenon_L5_); trivial. % 27.52/27.76 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H23f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H8d. % 27.52/27.76 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.76 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.76 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hf8. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H5f. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H167 zenon_H16a). % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.76 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.52/27.76 exact (zenon_H5b zenon_H16b). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.52/27.76 exact (zenon_Ha1 zenon_H8d). % 27.52/27.76 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H23f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H16f. % 27.52/27.76 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 exact (zenon_Ha4 zenon_Hae). % 27.52/27.76 exact (zenon_Ha4 zenon_Hae). % 27.52/27.76 elim (classic (gt zenon_TA_dx (n2))); [ zenon_intro zenon_H239 | zenon_intro zenon_H233 ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.76 generalize (zenon_Hc2 (n2)). zenon_intro zenon_H240. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H240); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H241 ]. % 27.52/27.76 exact (zenon_Ha1 zenon_H8d). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H233 | zenon_intro zenon_H1ce ]. % 27.52/27.76 exact (zenon_H233 zenon_H239). % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (n0)) (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H23f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1ce. % 27.52/27.76 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.76 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.76 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.76 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.76 generalize (zenon_H16c (n2)). zenon_intro zenon_H242. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H242); [ zenon_intro zenon_H5b | zenon_intro zenon_H243 ]. % 27.52/27.76 exact (zenon_H5b zenon_H16b). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H243); [ zenon_intro zenon_H1cb | zenon_intro zenon_H244 ]. % 27.52/27.76 exact (zenon_H1cb zenon_H1ce). % 27.52/27.76 exact (zenon_H23f zenon_H244). % 27.52/27.76 apply zenon_H56. apply refl_equal. % 27.52/27.76 apply (zenon_L161_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L162_ *) % 27.52/27.76 assert (zenon_L163_ : forall (zenon_TA_dx : zenon_U), (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H2b4 zenon_H1cf zenon_H22f zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H6b. % 27.52/27.76 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.76 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.52/27.76 cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H2b4. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H244. % 27.52/27.76 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 exact (zenon_H1dd zenon_H1dc). % 27.52/27.76 apply (zenon_L162_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1dd. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1de. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.76 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H1e0 successor_2). % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L163_ *) % 27.52/27.76 assert (zenon_L164_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H2b4 zenon_H1cf zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.76 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.76 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.76 apply (zenon_L5_); trivial. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.76 generalize (zenon_Hc2 (succ (succ (n0)))). zenon_intro zenon_H2b9. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2ba ]. % 27.52/27.76 exact (zenon_Ha1 zenon_H8d). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_H22f | zenon_intro zenon_H1e2 ]. % 27.52/27.76 exact (zenon_H22f zenon_H232). % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (n0)) (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H2b4. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1e2. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.76 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.76 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.76 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.76 generalize (zenon_H16c (succ (succ (n0)))). zenon_intro zenon_H2bb. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2bb); [ zenon_intro zenon_H5b | zenon_intro zenon_H2bc ]. % 27.52/27.76 exact (zenon_H5b zenon_H16b). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2bc); [ zenon_intro zenon_H1db | zenon_intro zenon_H2b8 ]. % 27.52/27.76 exact (zenon_H1db zenon_H1e2). % 27.52/27.76 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 apply (zenon_L163_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L164_ *) % 27.52/27.76 assert (zenon_L165_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H179 zenon_H154 zenon_H218 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.76 elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2bd | zenon_intro zenon_H2be ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.76 generalize (zenon_H1c3 (succ (succ (succ (n0))))). zenon_intro zenon_H2bf. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2bf); [ zenon_intro zenon_H176 | zenon_intro zenon_H2c0 ]. % 27.52/27.76 exact (zenon_H176 zenon_H173). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c0); [ zenon_intro zenon_H2be | zenon_intro zenon_H21d ]. % 27.52/27.76 exact (zenon_H2be zenon_H2bd). % 27.52/27.76 exact (zenon_H218 zenon_H21d). % 27.52/27.76 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.76 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.76 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.76 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.52/27.76 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.76 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.52/27.76 generalize (zenon_H245 (succ (succ (succ (n0))))). zenon_intro zenon_H2c1. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H12f | zenon_intro zenon_H2c2 ]. % 27.52/27.76 exact (zenon_H12f zenon_H12e). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c2); [ zenon_intro zenon_H27e | zenon_intro zenon_H2bd ]. % 27.52/27.76 exact (zenon_H27e zenon_H283). % 27.52/27.76 exact (zenon_H2be zenon_H2bd). % 27.52/27.76 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.76 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.52/27.76 elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20c | zenon_intro zenon_H206 ]. % 27.52/27.76 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.76 generalize (zenon_H11d (n2)). zenon_intro zenon_H2c3. % 27.52/27.76 generalize (zenon_H2c3 (succ (succ (succ (n0))))). zenon_intro zenon_H2c4. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c4); [ zenon_intro zenon_H23f | zenon_intro zenon_H2c5 ]. % 27.52/27.76 exact (zenon_H23f zenon_H244). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H206 | zenon_intro zenon_H283 ]. % 27.52/27.76 exact (zenon_H206 zenon_H20c). % 27.52/27.76 exact (zenon_H27e zenon_H283). % 27.52/27.76 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.76 elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H217 | zenon_intro zenon_H1fe ]. % 27.52/27.76 elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H2c6 | zenon_intro zenon_H2c7 ]. % 27.52/27.76 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.52/27.76 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.76 generalize (zenon_H6d (succ (succ (n0)))). zenon_intro zenon_H2c8. % 27.52/27.76 generalize (zenon_H2c8 (succ (succ (succ (n0))))). zenon_intro zenon_H2c9. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H2c7 | zenon_intro zenon_H2ca ]. % 27.52/27.76 exact (zenon_H2c7 zenon_H2c6). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2ca); [ zenon_intro zenon_H20b | zenon_intro zenon_H20c ]. % 27.52/27.76 exact (zenon_H20b zenon_H219). % 27.52/27.76 exact (zenon_H206 zenon_H20c). % 27.52/27.76 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.76 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.52/27.76 cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H20b. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H2a5. % 27.52/27.76 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 exact (zenon_H88 zenon_H207). % 27.52/27.76 apply (zenon_L149_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H88. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H208. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H20a successor_3). % 27.52/27.76 apply zenon_H209. apply refl_equal. % 27.52/27.76 apply zenon_H209. apply refl_equal. % 27.52/27.76 cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H2c7. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H217. % 27.52/27.76 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.76 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H56. apply refl_equal. % 27.52/27.76 exact (zenon_H1dd zenon_H1dc). % 27.52/27.76 apply (zenon_L112_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1dd. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1de. % 27.52/27.76 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.76 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H1e0 successor_2). % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 apply zenon_H1df. apply refl_equal. % 27.52/27.76 cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H23f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H2b8. % 27.52/27.76 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 exact (zenon_H1e0 successor_2). % 27.52/27.76 apply (zenon_L164_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H12f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H12d. % 27.52/27.76 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.76 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H57. apply refl_equal. % 27.52/27.76 exact (zenon_H5e zenon_H10a). % 27.52/27.76 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5e. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H5f. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H176. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hfe. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply (zenon_L143_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L165_ *) % 27.52/27.76 assert (zenon_L166_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H1cf zenon_H179 zenon_H154 zenon_H28e zenon_H6b. % 27.52/27.76 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.76 elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 27.52/27.76 cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H28e. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H28f. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.76 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.76 congruence. % 27.52/27.76 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hc7. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hc9. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hcb zenon_Hbe). % 27.52/27.76 apply zenon_Hca. apply refl_equal. % 27.52/27.76 apply zenon_Hca. apply refl_equal. % 27.52/27.76 apply zenon_H209. apply refl_equal. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H290. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H21d. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.76 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hb3. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hba. % 27.52/27.76 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.76 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H5a zenon_H59). % 27.52/27.76 apply zenon_H62. apply refl_equal. % 27.52/27.76 apply zenon_H62. apply refl_equal. % 27.52/27.76 apply zenon_H209. apply refl_equal. % 27.52/27.76 apply (zenon_L165_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5a. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L166_ *) % 27.52/27.76 assert (zenon_L167_ : forall (zenon_TA_dx : 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 (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (tptp_minus_1) (n3))) -> (~(gt (n0) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H28c zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H1cf zenon_H179 zenon_H154 zenon_Hbe. % 27.52/27.76 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28d | zenon_intro zenon_H28e ]. % 27.52/27.76 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H28c. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H28d. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_Hca. apply refl_equal. % 27.52/27.76 exact (zenon_H20a successor_3). % 27.52/27.76 apply (zenon_L166_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L167_ *) % 27.52/27.76 assert (zenon_L168_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (tptp_minus_1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_H154 zenon_Hd8 zenon_H179 zenon_H6b zenon_Hbe. % 27.52/27.76 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.76 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.76 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.76 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H296 | zenon_intro zenon_H28c ]. % 27.52/27.76 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.76 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.76 generalize (zenon_H1d2 (n3)). zenon_intro zenon_H2cb. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2cb); [ zenon_intro zenon_Hce | zenon_intro zenon_H2cc ]. % 27.52/27.76 exact (zenon_Hce zenon_Hcd). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_H28c | zenon_intro zenon_H156 ]. % 27.52/27.76 exact (zenon_H28c zenon_H296). % 27.52/27.76 exact (zenon_H154 zenon_H156). % 27.52/27.76 apply (zenon_L167_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hce. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H1a5. % 27.52/27.76 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.76 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H62. apply refl_equal. % 27.52/27.76 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.76 apply (zenon_L124_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hc7. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hc9. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.76 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hcb zenon_Hbe). % 27.52/27.76 apply zenon_Hca. apply refl_equal. % 27.52/27.76 apply zenon_Hca. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L168_ *) % 27.52/27.76 assert (zenon_L169_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H154 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hf6 | zenon_intro zenon_Hd8 ]. % 27.52/27.76 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H154. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact gt_0_tptp_minus_1. % 27.52/27.76 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.52/27.76 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H62. apply refl_equal. % 27.52/27.76 exact (zenon_Hd8 zenon_Hf6). % 27.52/27.76 elim (classic (gt (tptp_minus_1) (n3))); [ zenon_intro zenon_H17d | zenon_intro zenon_H179 ]. % 27.52/27.76 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.76 generalize (zenon_H105 (tptp_minus_1)). zenon_intro zenon_H106. % 27.52/27.76 generalize (zenon_H106 (n3)). zenon_intro zenon_H2cd. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2cd); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H2ce ]. % 27.52/27.76 exact (zenon_Hf1 gt_0_tptp_minus_1). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2ce); [ zenon_intro zenon_H179 | zenon_intro zenon_H156 ]. % 27.52/27.76 exact (zenon_H179 zenon_H17d). % 27.52/27.76 exact (zenon_H154 zenon_H156). % 27.52/27.76 apply (zenon_L168_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L169_ *) % 27.52/27.76 assert (zenon_L170_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H202 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf. % 27.52/27.76 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.52/27.76 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.76 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.52/27.76 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.52/27.76 exact (zenon_H71 gt_2_1). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.52/27.76 exact (zenon_H155 zenon_H159). % 27.52/27.76 exact (zenon_H202 zenon_H205). % 27.52/27.76 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.76 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.76 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.76 generalize (zenon_H129 (n3)). zenon_intro zenon_H157. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H157); [ zenon_intro zenon_H12c | zenon_intro zenon_H158 ]. % 27.52/27.76 exact (zenon_H12c gt_1_0). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H158); [ zenon_intro zenon_H154 | zenon_intro zenon_H159 ]. % 27.52/27.76 exact (zenon_H154 zenon_H156). % 27.52/27.76 exact (zenon_H155 zenon_H159). % 27.52/27.76 apply (zenon_L169_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L170_ *) % 27.52/27.76 assert (zenon_L171_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H284 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe. % 27.52/27.76 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.52/27.76 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.52/27.76 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.52/27.76 generalize (zenon_H75 (n3)). zenon_intro zenon_H285. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H78 | zenon_intro zenon_H286 ]. % 27.52/27.76 exact (zenon_H78 gt_3_2). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H202 | zenon_intro zenon_H287 ]. % 27.52/27.76 exact (zenon_H202 zenon_H205). % 27.52/27.76 exact (zenon_H284 zenon_H287). % 27.52/27.76 apply (zenon_L170_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L171_ *) % 27.52/27.76 assert (zenon_L172_ : forall (zenon_TA_dx : zenon_U), (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe zenon_H218 zenon_H6b. % 27.52/27.76 apply (zenon_L116_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L172_ *) % 27.52/27.76 assert (zenon_L173_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 apply (zenon_L172_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L173_ *) % 27.52/27.76 assert (zenon_L174_ : forall (zenon_TA_dx : zenon_U), (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.76 do 1 intro. intros zenon_H218 zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe zenon_H6b. % 27.52/27.76 apply (zenon_L173_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L174_ *) % 27.52/27.76 assert (zenon_L175_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hb8 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 apply (zenon_L174_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L175_ *) % 27.52/27.76 assert (zenon_L176_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hb8 zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf. % 27.52/27.76 apply (zenon_L175_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L176_ *) % 27.52/27.76 assert (zenon_L177_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((n0) = zenon_TA_dx)) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_Hb8 zenon_H218 zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 apply (zenon_L176_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L177_ *) % 27.52/27.76 assert (zenon_L178_ : forall (zenon_TA_dx : 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_TA_dx (succ (succ (n0))))) -> (~(gt zenon_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H22f zenon_H233 zenon_H1cf zenon_H1db zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.76 elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e1 ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.76 generalize (zenon_H1c3 (succ (succ (n0)))). zenon_intro zenon_H2cf. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2cf); [ zenon_intro zenon_H176 | zenon_intro zenon_H2d0 ]. % 27.52/27.76 exact (zenon_H176 zenon_H173). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2d0); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ]. % 27.52/27.76 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.76 exact (zenon_H1db zenon_H1e2). % 27.52/27.76 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.76 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.76 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.76 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.76 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.76 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.52/27.76 generalize (zenon_H245 (succ (succ (n0)))). zenon_intro zenon_H2d1. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2d1); [ zenon_intro zenon_H12f | zenon_intro zenon_H2d2 ]. % 27.52/27.76 exact (zenon_H12f zenon_H12e). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H2d2); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H1e6 ]. % 27.52/27.76 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.76 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.76 apply (zenon_L161_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H12f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H12d. % 27.52/27.76 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.76 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H57. apply refl_equal. % 27.52/27.76 exact (zenon_H5e zenon_H10a). % 27.52/27.76 apply (zenon_L50_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5e. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H5f. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H176. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hfe. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply (zenon_L72_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L178_ *) % 27.52/27.76 assert (zenon_L179_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~(gt zenon_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_Hbe zenon_H22f zenon_H233 zenon_H1cf zenon_H6b. % 27.52/27.76 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.76 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.76 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.76 generalize (zenon_H135 (succ (succ (n0)))). zenon_intro zenon_H230. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H230); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H231 ]. % 27.52/27.76 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H1db | zenon_intro zenon_H232 ]. % 27.52/27.76 exact (zenon_H1db zenon_H1e2). % 27.52/27.76 exact (zenon_H22f zenon_H232). % 27.52/27.76 apply (zenon_L178_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hb4. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hc8. % 27.52/27.76 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 exact (zenon_H5a zenon_H59). % 27.52/27.76 apply (zenon_L95_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5a. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L179_ *) % 27.52/27.76 assert (zenon_L180_ : forall (zenon_TA_dx : 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_TA_dx (n2))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H233 zenon_H1cf zenon_Hbe zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.52/27.76 cut ((gt zenon_TA_dx (succ (succ (n0)))) = (gt zenon_TA_dx (n2))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H233. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H232. % 27.52/27.76 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 exact (zenon_H1e0 successor_2). % 27.52/27.76 apply (zenon_L179_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L180_ *) % 27.52/27.76 assert (zenon_L181_ : forall (zenon_TA_dx : 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_TA_dx (n0))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_Hbb zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf. % 27.52/27.76 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.52/27.76 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.52/27.76 apply (zenon_L180_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n2) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hbb. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact gt_2_0. % 27.52/27.76 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.76 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.52/27.76 apply zenon_H238. zenon_intro zenon_Hae. % 27.52/27.76 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H236. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb9. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Ha4 zenon_Hae). % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 apply zenon_H237. zenon_intro zenon_H239. % 27.52/27.76 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.76 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.52/27.76 generalize (zenon_H23a (n0)). zenon_intro zenon_H270. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H270); [ zenon_intro zenon_H233 | zenon_intro zenon_H271 ]. % 27.52/27.76 exact (zenon_H233 zenon_H239). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H271); [ zenon_intro zenon_H185 | zenon_intro zenon_Hc8 ]. % 27.52/27.76 exact (zenon_H185 gt_2_0). % 27.52/27.76 exact (zenon_Hbb zenon_Hc8). % 27.52/27.76 apply zenon_H62. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L181_ *) % 27.52/27.76 assert (zenon_L182_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~((n0) = zenon_TA_dx)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1cf zenon_H27a zenon_Hb8 zenon_H6b. % 27.52/27.76 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.76 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.76 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.76 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.52/27.76 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.52/27.76 exact (zenon_H218 zenon_H21d). % 27.52/27.76 exact (zenon_H27a zenon_H27d). % 27.52/27.76 apply (zenon_L177_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hb4. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hc8. % 27.52/27.76 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 exact (zenon_H5a zenon_H59). % 27.52/27.76 apply (zenon_L181_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5a. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L182_ *) % 27.52/27.76 assert (zenon_L183_ : forall (zenon_TA_dx : 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_TA_dx (n3))) -> (~((n0) = zenon_TA_dx)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H2d3 zenon_Hb8 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1cf. % 27.52/27.76 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.52/27.76 cut ((gt zenon_TA_dx (succ (succ (succ (n0))))) = (gt zenon_TA_dx (n3))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H2d3. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H27d. % 27.52/27.76 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.76 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H97. apply refl_equal. % 27.52/27.76 exact (zenon_H20a successor_3). % 27.52/27.76 apply (zenon_L182_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L183_ *) % 27.52/27.76 assert (zenon_L184_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1b9 zenon_H2d3 zenon_H6b. % 27.52/27.76 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.76 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.76 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.76 cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TA_dx))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H1b9. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H12e. % 27.52/27.76 cut (((succ (n0)) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 27.52/27.76 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H57. apply refl_equal. % 27.52/27.76 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.76 congruence. % 27.52/27.76 apply (zenon_L183_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H12f. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H12d. % 27.52/27.76 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.76 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H57. apply refl_equal. % 27.52/27.76 exact (zenon_H5e zenon_H10a). % 27.52/27.76 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.76 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.76 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5e. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H5f. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 (* end of lemma zenon_L184_ *) % 27.52/27.76 assert (zenon_L185_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_Hfa zenon_H1cf zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.76 elim (classic (gt (n0) (succ (n0)))); [ zenon_intro zenon_H100 | zenon_intro zenon_H101 ]. % 27.52/27.76 cut ((gt (n0) (succ (n0))) = (gt (succ (tptp_minus_1)) (succ (n0)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_Hfa. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_H100. % 27.52/27.76 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.76 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.76 congruence. % 27.52/27.76 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H5a. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hb2. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.76 congruence. % 27.52/27.76 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 apply zenon_H60. apply refl_equal. % 27.52/27.76 apply (zenon_L142_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L185_ *) % 27.52/27.76 assert (zenon_L186_ : forall (zenon_TA_dx : 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_TA_dx (n3))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H2d3 zenon_H1c6 zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.76 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.76 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.76 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.76 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.76 generalize (zenon_H1c3 (succ zenon_TA_dx)). zenon_intro zenon_H1c8. % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H1c8); [ zenon_intro zenon_H176 | zenon_intro zenon_H1c9 ]. % 27.52/27.76 exact (zenon_H176 zenon_H173). % 27.52/27.76 apply (zenon_imply_s _ _ zenon_H1c9); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ca ]. % 27.52/27.76 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.76 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.76 apply (zenon_L184_ zenon_TA_dx); trivial. % 27.52/27.76 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.76 intro zenon_D_pnotp. % 27.52/27.76 apply zenon_H176. % 27.52/27.76 rewrite <- zenon_D_pnotp. % 27.52/27.76 exact zenon_Hfe. % 27.52/27.76 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.76 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.76 congruence. % 27.52/27.76 apply zenon_H5d. apply refl_equal. % 27.52/27.76 exact (zenon_H61 successor_1). % 27.52/27.76 apply (zenon_L185_ zenon_TA_dx); trivial. % 27.52/27.76 (* end of lemma zenon_L186_ *) % 27.52/27.76 assert (zenon_L187_ : forall (zenon_TA_dx : 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_TA_dx (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (succ zenon_TA_dx))) -> False). % 27.52/27.76 do 1 intro. intros zenon_H6b zenon_H2d3 zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H2a6. % 27.52/27.76 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.52/27.76 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.52/27.77 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.77 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.77 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.52/27.77 generalize (zenon_H1fb (succ zenon_TA_dx)). zenon_intro zenon_H2a7. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2a7); [ zenon_intro zenon_H1fa | zenon_intro zenon_H2a8 ]. % 27.52/27.77 exact (zenon_H1fa zenon_H1f9). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2a8); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H2a9 ]. % 27.52/27.77 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.77 exact (zenon_H2a6 zenon_H2a9). % 27.52/27.77 apply (zenon_L184_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1fa. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1f5. % 27.52/27.77 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 exact (zenon_H61 successor_1). % 27.52/27.77 apply (zenon_L148_); trivial. % 27.52/27.77 (* end of lemma zenon_L187_ *) % 27.52/27.77 assert (zenon_L188_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H2d3 zenon_H6b zenon_H2a2 zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf. % 27.52/27.77 elim (classic ((~((succ (succ (n0))) = (succ zenon_TA_dx)))/\(~(gt (succ (succ (n0))) (succ zenon_TA_dx))))); [ zenon_intro zenon_H2aa | zenon_intro zenon_H2ab ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H2aa). zenon_intro zenon_H2ac. zenon_intro zenon_H2a6. % 27.52/27.77 apply (zenon_L187_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.52/27.77 generalize (zenon_H6b (succ zenon_TA_dx)). zenon_intro zenon_H113. % 27.52/27.77 generalize (zenon_H113 (n0)). zenon_intro zenon_H114. % 27.52/27.77 generalize (zenon_H114 (n3)). zenon_intro zenon_H24d. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H69 | zenon_intro zenon_H24e ]. % 27.52/27.77 exact (zenon_H69 zenon_H63). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H154 | zenon_intro zenon_H24f ]. % 27.52/27.77 exact (zenon_H154 zenon_H156). % 27.52/27.77 cut ((gt (succ zenon_TA_dx) (n3)) = (gt (succ (succ (n0))) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2a2. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H24f. % 27.52/27.77 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.77 cut (((succ zenon_TA_dx) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H2ad]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H2ab); [ zenon_intro zenon_H2af | zenon_intro zenon_H2ae ]. % 27.52/27.77 apply zenon_H2af. zenon_intro zenon_H2b0. % 27.52/27.77 apply zenon_H2ad. apply sym_equal. exact zenon_H2b0. % 27.52/27.77 apply zenon_H2ae. zenon_intro zenon_H2a9. % 27.52/27.77 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.77 generalize (zenon_H1f1 (succ zenon_TA_dx)). zenon_intro zenon_H2b1. % 27.52/27.77 generalize (zenon_H2b1 (n3)). zenon_intro zenon_H2b2. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2b2); [ zenon_intro zenon_H2a6 | zenon_intro zenon_H2b3 ]. % 27.52/27.77 exact (zenon_H2a6 zenon_H2a9). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2b3); [ zenon_intro zenon_H257 | zenon_intro zenon_H2a5 ]. % 27.52/27.77 exact (zenon_H257 zenon_H24f). % 27.52/27.77 exact (zenon_H2a2 zenon_H2a5). % 27.52/27.77 apply zenon_H55. apply refl_equal. % 27.52/27.77 apply (zenon_L169_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L188_ *) % 27.52/27.77 assert (zenon_L189_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H2a2 zenon_H1cf zenon_H63 zenon_H8d zenon_Hbe. % 27.52/27.77 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.52/27.77 apply (zenon_L82_); trivial. % 27.52/27.77 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2a2. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H8d. % 27.52/27.77 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.77 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.77 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1ec. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1de. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H1eb zenon_H1ef). % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.77 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.77 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.77 generalize (zenon_H1f2 zenon_TA_dx). zenon_intro zenon_H2d4. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2d5 ]. % 27.52/27.77 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d6 ]. % 27.52/27.77 exact (zenon_Ha1 zenon_H8d). % 27.52/27.77 cut ((gt (succ (succ (n0))) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2a2. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2d6. % 27.52/27.77 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 exact (zenon_Ha5 zenon_Had). % 27.52/27.77 exact (zenon_Ha5 zenon_Had). % 27.52/27.77 elim (classic (gt zenon_TA_dx (n3))); [ zenon_intro zenon_H2d7 | zenon_intro zenon_H2d3 ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.77 generalize (zenon_Hc2 (n3)). zenon_intro zenon_H2d8. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d8); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d9 ]. % 27.52/27.77 exact (zenon_Ha1 zenon_H8d). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d9); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H224 ]. % 27.52/27.77 exact (zenon_H2d3 zenon_H2d7). % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (n3)) = (gt (succ (succ (n0))) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2a2. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H224. % 27.52/27.77 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.77 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.77 apply zenon_H1ec. apply sym_equal. exact zenon_H1ef. % 27.52/27.77 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.77 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.77 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.77 generalize (zenon_H1f2 (n3)). zenon_intro zenon_H2da. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2da); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2db ]. % 27.52/27.77 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2db); [ zenon_intro zenon_H220 | zenon_intro zenon_H2a5 ]. % 27.52/27.77 exact (zenon_H220 zenon_H224). % 27.52/27.77 exact (zenon_H2a2 zenon_H2a5). % 27.52/27.77 apply zenon_H55. apply refl_equal. % 27.52/27.77 apply (zenon_L188_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L189_ *) % 27.52/27.77 assert (zenon_L190_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Hbe zenon_H202 zenon_H6b. % 27.52/27.77 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.77 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.52/27.77 cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H202. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2a5. % 27.52/27.77 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.52/27.77 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.77 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1e0. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H200. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H1dd zenon_H1dc). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H55. apply refl_equal. % 27.52/27.77 apply (zenon_L189_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1dd. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1de. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H1e0 successor_2). % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L190_ *) % 27.52/27.77 assert (zenon_L191_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H284 zenon_H1cf zenon_H63 zenon_H8d zenon_Hbe. % 27.52/27.77 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.52/27.77 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.52/27.77 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.52/27.77 generalize (zenon_H75 (n3)). zenon_intro zenon_H285. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H78 | zenon_intro zenon_H286 ]. % 27.52/27.77 exact (zenon_H78 gt_3_2). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H202 | zenon_intro zenon_H287 ]. % 27.52/27.77 exact (zenon_H202 zenon_H205). % 27.52/27.77 exact (zenon_H284 zenon_H287). % 27.52/27.77 apply (zenon_L190_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L191_ *) % 27.52/27.77 assert (zenon_L192_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Hbe zenon_H20b zenon_H6b. % 27.52/27.77 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.77 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.52/27.77 cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H20b. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2a5. % 27.52/27.77 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 exact (zenon_H88 zenon_H207). % 27.52/27.77 apply (zenon_L189_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H88. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H208. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H20a successor_3). % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L192_ *) % 27.52/27.77 assert (zenon_L193_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (n3))) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H2d3 zenon_H20b zenon_H6b. % 27.52/27.77 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.52/27.77 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.52/27.77 cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H20b. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2a5. % 27.52/27.77 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 exact (zenon_H88 zenon_H207). % 27.52/27.77 apply (zenon_L188_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H88. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H208. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H20a successor_3). % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L193_ *) % 27.52/27.77 assert (zenon_L194_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (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). % 27.52/27.77 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H63 zenon_H1cf zenon_H6b zenon_H1fe. % 27.52/27.77 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.52/27.77 apply (zenon_L170_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1fe. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_2. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.52/27.77 apply zenon_H212. zenon_intro zenon_H213. % 27.52/27.77 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.77 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H210. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H200. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H20f zenon_H213). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H211. zenon_intro zenon_H205. % 27.52/27.77 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.77 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.52/27.77 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.52/27.77 exact (zenon_H202 zenon_H205). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.52/27.77 exact (zenon_H78 gt_3_2). % 27.52/27.77 exact (zenon_H1fe zenon_H217). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L194_ *) % 27.52/27.77 assert (zenon_L195_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H206 zenon_H2d3 zenon_H6b. % 27.52/27.77 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.77 elim (classic (gt (n2) (n2))); [ zenon_intro zenon_H217 | zenon_intro zenon_H1fe ]. % 27.52/27.77 elim (classic (gt (n2) (succ (succ (n0))))); [ zenon_intro zenon_H2c6 | zenon_intro zenon_H2c7 ]. % 27.52/27.77 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.52/27.77 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.77 generalize (zenon_H6d (succ (succ (n0)))). zenon_intro zenon_H2c8. % 27.52/27.77 generalize (zenon_H2c8 (succ (succ (succ (n0))))). zenon_intro zenon_H2c9. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c9); [ zenon_intro zenon_H2c7 | zenon_intro zenon_H2ca ]. % 27.52/27.77 exact (zenon_H2c7 zenon_H2c6). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2ca); [ zenon_intro zenon_H20b | zenon_intro zenon_H20c ]. % 27.52/27.77 exact (zenon_H20b zenon_H219). % 27.52/27.77 exact (zenon_H206 zenon_H20c). % 27.52/27.77 apply (zenon_L193_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n2) (n2)) = (gt (n2) (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2c7. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H217. % 27.52/27.77 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 exact (zenon_H1dd zenon_H1dc). % 27.52/27.77 apply (zenon_L194_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1dd. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1de. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H1e0 successor_2). % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L195_ *) % 27.52/27.77 assert (zenon_L196_ : forall (zenon_TA_dx : 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_TA_dx (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H2d3 zenon_H218 zenon_Hbe zenon_H63 zenon_H8d zenon_Ha5 zenon_H1cf. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.77 elim (classic (gt (n1) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H2bd | zenon_intro zenon_H2be ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.77 generalize (zenon_H1c3 (succ (succ (succ (n0))))). zenon_intro zenon_H2bf. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2bf); [ zenon_intro zenon_H176 | zenon_intro zenon_H2c0 ]. % 27.52/27.77 exact (zenon_H176 zenon_H173). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c0); [ zenon_intro zenon_H2be | zenon_intro zenon_H21d ]. % 27.52/27.77 exact (zenon_H2be zenon_H2bd). % 27.52/27.77 exact (zenon_H218 zenon_H21d). % 27.52/27.77 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.77 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.77 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.77 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.52/27.77 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.77 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.52/27.77 generalize (zenon_H245 (succ (succ (succ (n0))))). zenon_intro zenon_H2c1. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c1); [ zenon_intro zenon_H12f | zenon_intro zenon_H2c2 ]. % 27.52/27.77 exact (zenon_H12f zenon_H12e). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c2); [ zenon_intro zenon_H27e | zenon_intro zenon_H2bd ]. % 27.52/27.77 exact (zenon_H27e zenon_H283). % 27.52/27.77 exact (zenon_H2be zenon_H2bd). % 27.52/27.77 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.77 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.52/27.77 elim (classic (gt (n2) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H20c | zenon_intro zenon_H206 ]. % 27.52/27.77 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.77 generalize (zenon_H11d (n2)). zenon_intro zenon_H2c3. % 27.52/27.77 generalize (zenon_H2c3 (succ (succ (succ (n0))))). zenon_intro zenon_H2c4. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c4); [ zenon_intro zenon_H23f | zenon_intro zenon_H2c5 ]. % 27.52/27.77 exact (zenon_H23f zenon_H244). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2c5); [ zenon_intro zenon_H206 | zenon_intro zenon_H283 ]. % 27.52/27.77 exact (zenon_H206 zenon_H20c). % 27.52/27.77 exact (zenon_H27e zenon_H283). % 27.52/27.77 apply (zenon_L195_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H23f. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2b8. % 27.52/27.77 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.77 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 exact (zenon_H1e0 successor_2). % 27.52/27.77 apply (zenon_L164_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H12f. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H12d. % 27.52/27.77 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.77 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H57. apply refl_equal. % 27.52/27.77 exact (zenon_H5e zenon_H10a). % 27.52/27.77 apply (zenon_L110_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.77 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5e. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H5f. % 27.52/27.77 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.77 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H61 successor_1). % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H176. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hfe. % 27.52/27.77 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 exact (zenon_H61 successor_1). % 27.52/27.77 apply (zenon_L185_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L196_ *) % 27.52/27.77 assert (zenon_L197_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (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). % 27.52/27.77 do 1 intro. intros zenon_Hbe zenon_H8d zenon_H63 zenon_H1cf zenon_H6b zenon_H1fe. % 27.52/27.77 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.52/27.77 apply (zenon_L190_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1fe. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_2. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.52/27.77 apply zenon_H212. zenon_intro zenon_H213. % 27.52/27.77 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.77 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H210. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H200. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H20f zenon_H213). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 apply zenon_H211. zenon_intro zenon_H205. % 27.52/27.77 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.52/27.77 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.52/27.77 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.52/27.77 exact (zenon_H202 zenon_H205). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.52/27.77 exact (zenon_H78 gt_3_2). % 27.52/27.77 exact (zenon_H1fe zenon_H217). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L197_ *) % 27.52/27.77 assert (zenon_L198_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(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). % 27.52/27.77 do 1 intro. intros zenon_Hbe zenon_H8d zenon_H63 zenon_H1cf zenon_H218 zenon_H6b. % 27.52/27.77 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.77 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 (succ (succ (n0)))). zenon_intro zenon_H21a. % 27.52/27.77 generalize (zenon_H21a (succ (succ (succ (n0))))). zenon_intro zenon_H21b. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H21b); [ zenon_intro zenon_H1db | zenon_intro zenon_H21c ]. % 27.52/27.77 exact (zenon_H1db zenon_H1e2). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H21c); [ zenon_intro zenon_H20b | zenon_intro zenon_H21d ]. % 27.52/27.77 exact (zenon_H20b zenon_H219). % 27.52/27.77 exact (zenon_H218 zenon_H21d). % 27.52/27.77 apply (zenon_L192_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1db. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1ce. % 27.52/27.77 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 exact (zenon_H1dd zenon_H1dc). % 27.52/27.77 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.52/27.77 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H220. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H8d. % 27.52/27.77 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 exact (zenon_Ha5 zenon_Had). % 27.52/27.77 elim (classic (gt zenon_TA_dx (n3))); [ zenon_intro zenon_H2d7 | zenon_intro zenon_H2d3 ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.77 generalize (zenon_Hc2 (n3)). zenon_intro zenon_H2d8. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d8); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d9 ]. % 27.52/27.77 exact (zenon_Ha1 zenon_H8d). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d9); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H224 ]. % 27.52/27.77 exact (zenon_H2d3 zenon_H2d7). % 27.52/27.77 exact (zenon_H220 zenon_H224). % 27.52/27.77 apply (zenon_L196_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n2)) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1cb. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_2. % 27.52/27.77 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.77 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.52/27.77 apply zenon_H227. zenon_intro zenon_H228. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H225. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H221 zenon_H228). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H226. zenon_intro zenon_H224. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.77 generalize (zenon_H229 (n2)). zenon_intro zenon_H22a. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H22a); [ zenon_intro zenon_H220 | zenon_intro zenon_H22b ]. % 27.52/27.77 exact (zenon_H220 zenon_H224). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H22b); [ zenon_intro zenon_H78 | zenon_intro zenon_H1ce ]. % 27.52/27.77 exact (zenon_H78 gt_3_2). % 27.52/27.77 exact (zenon_H1cb zenon_H1ce). % 27.52/27.77 apply zenon_H56. apply refl_equal. % 27.52/27.77 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1dd. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1de. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H1e0 successor_2). % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 apply zenon_H1df. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L198_ *) % 27.52/27.77 assert (zenon_L199_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe zenon_H28e zenon_H6b. % 27.52/27.77 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.77 elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 27.52/27.77 cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H28e. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H28f. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.77 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hc7. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc9. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hcb zenon_Hbe). % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H290. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H21d. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.77 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hb3. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hba. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H5a zenon_H59). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 apply (zenon_L198_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5a. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L199_ *) % 27.52/27.77 assert (zenon_L200_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H28c zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28d | zenon_intro zenon_H28e ]. % 27.52/27.77 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H28c. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H28d. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 exact (zenon_H20a successor_3). % 27.52/27.77 apply (zenon_L199_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L200_ *) % 27.52/27.77 assert (zenon_L201_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe zenon_H6b zenon_Hd1. % 27.52/27.77 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n3)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2de. zenon_intro zenon_H28c. % 27.52/27.77 apply (zenon_L200_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n0)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hd1. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_0. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n3) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H2df]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H2dd); [ zenon_intro zenon_H2e1 | zenon_intro zenon_H2e0 ]. % 27.52/27.77 apply zenon_H2e1. zenon_intro zenon_H2e2. % 27.52/27.77 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n3) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2df. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc9. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H2de]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H2de zenon_H2e2). % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_H2e0. zenon_intro zenon_H296. % 27.52/27.77 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.77 generalize (zenon_H194 (n3)). zenon_intro zenon_H2e3. % 27.52/27.77 generalize (zenon_H2e3 (n0)). zenon_intro zenon_H2e4. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2e4); [ zenon_intro zenon_H28c | zenon_intro zenon_H2e5 ]. % 27.52/27.77 exact (zenon_H28c zenon_H296). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2e5); [ zenon_intro zenon_H188 | zenon_intro zenon_Hd0 ]. % 27.52/27.77 exact (zenon_H188 gt_3_0). % 27.52/27.77 exact (zenon_Hd1 zenon_Hd0). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L201_ *) % 27.52/27.77 assert (zenon_L202_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(gt (n0) (succ zenon_TA_dx))) -> (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). % 27.52/27.77 do 1 intro. intros zenon_H63 zenon_H8d zenon_H1cf zenon_H6b zenon_Hcf zenon_Hbe. % 27.52/27.77 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n0))); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hd1 ]. % 27.52/27.77 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n0)) = (gt (n0) (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hcf. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hd0. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.77 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hcb. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hba. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply (zenon_L201_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hc7. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc9. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hcb zenon_Hbe). % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L202_ *) % 27.52/27.77 assert (zenon_L203_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt (succ (tptp_minus_1)) (succ zenon_TA_dx))) -> (~((n0) = zenon_TA_dx)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_Hbe zenon_H63 zenon_H8d zenon_H1cf zenon_H1c6 zenon_Hb8. % 27.52/27.77 generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1ba. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H1bb | zenon_intro zenon_Hf3 ]. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H1bb); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1a6 ]. % 27.52/27.77 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.77 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.52/27.77 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.52/27.77 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.52/27.77 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H220. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H8d. % 27.52/27.77 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 exact (zenon_Ha5 zenon_Had). % 27.52/27.77 elim (classic (gt zenon_TA_dx (n3))); [ zenon_intro zenon_H2d7 | zenon_intro zenon_H2d3 ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.77 generalize (zenon_Hc2 (n3)). zenon_intro zenon_H2d8. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d8); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d9 ]. % 27.52/27.77 exact (zenon_Ha1 zenon_H8d). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2d9); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H224 ]. % 27.52/27.77 exact (zenon_H2d3 zenon_H2d7). % 27.52/27.77 exact (zenon_H220 zenon_H224). % 27.52/27.77 apply (zenon_L186_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n0)) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Haf. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_0. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.52/27.77 apply zenon_H227. zenon_intro zenon_H228. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H225. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H221 zenon_H228). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H226. zenon_intro zenon_H224. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.52/27.77 generalize (zenon_H229 (n0)). zenon_intro zenon_H2e6. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2e6); [ zenon_intro zenon_H220 | zenon_intro zenon_H2e7 ]. % 27.52/27.77 exact (zenon_H220 zenon_H224). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2e7); [ zenon_intro zenon_H188 | zenon_intro zenon_Hb1 ]. % 27.52/27.77 exact (zenon_H188 gt_3_0). % 27.52/27.77 exact (zenon_Haf zenon_Hb1). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 exact (zenon_Hdd zenon_Hdf). % 27.52/27.77 apply (zenon_L66_); trivial. % 27.52/27.77 apply (zenon_L69_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L203_ *) % 27.52/27.77 assert (zenon_L204_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1cf zenon_H27a zenon_H2d3 zenon_H6b. % 27.52/27.77 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.77 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.77 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.77 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.77 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.77 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.52/27.77 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.52/27.77 exact (zenon_H218 zenon_H21d). % 27.52/27.77 exact (zenon_H27a zenon_H27d). % 27.52/27.77 apply (zenon_L196_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hb4. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc8. % 27.52/27.77 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.77 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H97. apply refl_equal. % 27.52/27.77 exact (zenon_H5a zenon_H59). % 27.52/27.77 apply (zenon_L181_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5a. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L204_ *) % 27.52/27.77 assert (zenon_L205_ : forall (zenon_TA_dx : 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_TA_dx (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H2d3 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H1cf. % 27.52/27.77 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.52/27.77 cut ((gt zenon_TA_dx (succ (succ (succ (n0))))) = (gt zenon_TA_dx (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2d3. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H27d. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.77 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H97. apply refl_equal. % 27.52/27.77 exact (zenon_H20a successor_3). % 27.52/27.77 apply (zenon_L204_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L205_ *) % 27.52/27.77 assert (zenon_L206_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TA_dx (n0))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H63 zenon_H8d zenon_Hbe zenon_H1cf zenon_H6b zenon_Hbb. % 27.52/27.77 elim (classic ((~(zenon_TA_dx = (n3)))/\(~(gt zenon_TA_dx (n3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H2e8). zenon_intro zenon_Ha5. zenon_intro zenon_H2d3. % 27.52/27.77 apply (zenon_L205_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n0)) = (gt zenon_TA_dx (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hbb. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_0. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n3) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H2ea]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H2e9); [ zenon_intro zenon_H2ec | zenon_intro zenon_H2eb ]. % 27.52/27.77 apply zenon_H2ec. zenon_intro zenon_Had. % 27.52/27.77 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.77 cut ((zenon_TA_dx = zenon_TA_dx) = ((n3) = zenon_TA_dx)). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2ea. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb9. % 27.52/27.77 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.77 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Ha5 zenon_Had). % 27.52/27.77 apply zenon_H97. apply refl_equal. % 27.52/27.77 apply zenon_H97. apply refl_equal. % 27.52/27.77 apply zenon_H2eb. zenon_intro zenon_H2d7. % 27.52/27.77 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.77 generalize (zenon_H134 (n3)). zenon_intro zenon_H2ed. % 27.52/27.77 generalize (zenon_H2ed (n0)). zenon_intro zenon_H2ee. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2ee); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H2ef ]. % 27.52/27.77 exact (zenon_H2d3 zenon_H2d7). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2ef); [ zenon_intro zenon_H188 | zenon_intro zenon_Hc8 ]. % 27.52/27.77 exact (zenon_H188 gt_3_0). % 27.52/27.77 exact (zenon_Hbb zenon_Hc8). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L206_ *) % 27.52/27.77 assert (zenon_L207_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_Hbe zenon_H8d zenon_H63 zenon_H27a zenon_H6b. % 27.52/27.77 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.77 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.77 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.52/27.77 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.77 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.77 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.52/27.77 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.52/27.77 exact (zenon_H218 zenon_H21d). % 27.52/27.77 exact (zenon_H27a zenon_H27d). % 27.52/27.77 apply (zenon_L198_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hb4. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc8. % 27.52/27.77 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.77 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H97. apply refl_equal. % 27.52/27.77 exact (zenon_H5a zenon_H59). % 27.52/27.77 apply (zenon_L206_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5a. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L207_ *) % 27.52/27.77 assert (zenon_L208_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H2b4 zenon_H1cf zenon_Hbe zenon_H8d zenon_H63. % 27.52/27.77 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.52/27.77 elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 27.52/27.77 elim (classic (gt (n3) (succ (succ (n0))))); [ zenon_intro zenon_H22c | zenon_intro zenon_H201 ]. % 27.52/27.77 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.77 generalize (zenon_H11d (n3)). zenon_intro zenon_H2b5. % 27.52/27.77 generalize (zenon_H2b5 (succ (succ (n0)))). zenon_intro zenon_H2b6. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2b6); [ zenon_intro zenon_H289 | zenon_intro zenon_H2b7 ]. % 27.52/27.77 exact (zenon_H289 zenon_H288). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2b7); [ zenon_intro zenon_H201 | zenon_intro zenon_H2b8 ]. % 27.52/27.77 exact (zenon_H201 zenon_H22c). % 27.52/27.77 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.77 apply (zenon_L87_); trivial. % 27.52/27.77 cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H289. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H283. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.52/27.77 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 exact (zenon_H20a successor_3). % 27.52/27.77 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.77 apply (zenon_L5_); trivial. % 27.52/27.77 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.52/27.77 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.77 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.77 generalize (zenon_Hc2 (succ (succ (succ (n0))))). zenon_intro zenon_H27f. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H280 ]. % 27.52/27.77 exact (zenon_Ha1 zenon_H8d). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H27a | zenon_intro zenon_H21d ]. % 27.52/27.77 exact (zenon_H27a zenon_H27d). % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H27e. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H21d. % 27.52/27.77 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.77 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.77 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.77 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.77 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.77 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.77 generalize (zenon_H16c (succ (succ (succ (n0))))). zenon_intro zenon_H281. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H5b | zenon_intro zenon_H282 ]. % 27.52/27.77 exact (zenon_H5b zenon_H16b). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_H218 | zenon_intro zenon_H283 ]. % 27.52/27.77 exact (zenon_H218 zenon_H21d). % 27.52/27.77 exact (zenon_H27e zenon_H283). % 27.52/27.77 apply zenon_H209. apply refl_equal. % 27.52/27.77 apply (zenon_L207_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L208_ *) % 27.52/27.77 assert (zenon_L209_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (n1))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe zenon_H6b zenon_H191. % 27.52/27.77 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n3)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n3))))); [ zenon_intro zenon_H2dc | zenon_intro zenon_H2dd ]. % 27.52/27.77 apply (zenon_and_s _ _ zenon_H2dc). zenon_intro zenon_H2de. zenon_intro zenon_H28c. % 27.52/27.77 apply (zenon_L200_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n3) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H191. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact gt_3_1. % 27.52/27.77 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.77 cut (((n3) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H2df]. % 27.52/27.77 congruence. % 27.52/27.77 apply (zenon_notand_s _ _ zenon_H2dd); [ zenon_intro zenon_H2e1 | zenon_intro zenon_H2e0 ]. % 27.52/27.77 apply zenon_H2e1. zenon_intro zenon_H2e2. % 27.52/27.77 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n3) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2df. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc9. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H2de]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H2de zenon_H2e2). % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_H2e0. zenon_intro zenon_H296. % 27.52/27.77 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.77 generalize (zenon_H194 (n3)). zenon_intro zenon_H2e3. % 27.52/27.77 generalize (zenon_H2e3 (n1)). zenon_intro zenon_H2f0. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2f0); [ zenon_intro zenon_H28c | zenon_intro zenon_H2f1 ]. % 27.52/27.77 exact (zenon_H28c zenon_H296). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2f1); [ zenon_intro zenon_H164 | zenon_intro zenon_H19f ]. % 27.52/27.77 exact (zenon_H164 gt_3_1). % 27.52/27.77 exact (zenon_H191 zenon_H19f). % 27.52/27.77 apply zenon_H57. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L209_ *) % 27.52/27.77 assert (zenon_L210_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (n0) (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_H123 zenon_H6b zenon_Hbe. % 27.52/27.77 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.77 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.52/27.77 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.52/27.77 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.77 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.52/27.77 generalize (zenon_H1d2 (n1)). zenon_intro zenon_H23d. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H23d); [ zenon_intro zenon_Hce | zenon_intro zenon_H23e ]. % 27.52/27.77 exact (zenon_Hce zenon_Hcd). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H23e); [ zenon_intro zenon_H191 | zenon_intro zenon_H127 ]. % 27.52/27.77 exact (zenon_H191 zenon_H19f). % 27.52/27.77 exact (zenon_H123 zenon_H127). % 27.52/27.77 apply (zenon_L209_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hce. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1a5. % 27.52/27.77 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.77 apply (zenon_L202_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hc7. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hc9. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hcb zenon_Hbe). % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L210_ *) % 27.52/27.77 assert (zenon_L211_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.77 do 1 intro. intros zenon_H6b zenon_H109 zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe. % 27.52/27.77 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.52/27.77 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.77 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.52/27.77 generalize (zenon_H129 (n1)). zenon_intro zenon_H12a. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H12a); [ zenon_intro zenon_H12c | zenon_intro zenon_H12b ]. % 27.52/27.77 exact (zenon_H12c gt_1_0). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H12b); [ zenon_intro zenon_H123 | zenon_intro zenon_H12d ]. % 27.52/27.77 exact (zenon_H123 zenon_H127). % 27.52/27.77 exact (zenon_H109 zenon_H12d). % 27.52/27.77 apply (zenon_L210_ zenon_TA_dx); trivial. % 27.52/27.77 (* end of lemma zenon_L211_ *) % 27.52/27.77 assert (zenon_L212_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n1) (succ zenon_TA_dx))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_Hbe zenon_H1b9 zenon_H6b. % 27.52/27.77 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.77 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.52/27.77 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.52/27.77 cut ((gt (n1) (succ (n0))) = (gt (n1) (succ zenon_TA_dx))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1b9. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H12e. % 27.52/27.77 cut (((succ (n0)) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_Hd3]. % 27.52/27.77 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H57. apply refl_equal. % 27.52/27.77 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.77 elim (classic (gt (succ (tptp_minus_1)) (succ zenon_TA_dx))); [ zenon_intro zenon_H1ca | zenon_intro zenon_H1c6 ]. % 27.52/27.77 cut ((gt (succ (tptp_minus_1)) (succ zenon_TA_dx)) = (gt (n0) (succ zenon_TA_dx))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H1cf. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H1ca. % 27.52/27.77 cut (((succ zenon_TA_dx) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.77 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_Hb3. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hba. % 27.52/27.77 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.77 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H5a zenon_H59). % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H62. apply refl_equal. % 27.52/27.77 apply zenon_H2f2. apply refl_equal. % 27.52/27.77 apply (zenon_L203_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5a. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_Hb2. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.77 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 apply zenon_H5d. apply refl_equal. % 27.52/27.77 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H12f. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H12d. % 27.52/27.77 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.77 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_H57. apply refl_equal. % 27.52/27.77 exact (zenon_H5e zenon_H10a). % 27.52/27.77 apply (zenon_L211_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.77 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5e. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H5f. % 27.52/27.77 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.77 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H61 successor_1). % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L212_ *) % 27.52/27.77 assert (zenon_L213_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> (~(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). % 27.52/27.77 do 1 intro. intros zenon_H63 zenon_H8d zenon_Hbe zenon_H1cf zenon_H2f3 zenon_H6b. % 27.52/27.77 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))); [ zenon_intro zenon_H192 | zenon_intro zenon_H193 ]. % 27.52/27.77 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.77 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.52/27.77 generalize (zenon_H194 (succ (n0))). zenon_intro zenon_H2f4. % 27.52/27.77 generalize (zenon_H2f4 (succ (succ (n0)))). zenon_intro zenon_H2f5. % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2f5); [ zenon_intro zenon_H193 | zenon_intro zenon_H2f6 ]. % 27.52/27.77 exact (zenon_H193 zenon_H192). % 27.52/27.77 apply (zenon_imply_s _ _ zenon_H2f6); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H2f7 ]. % 27.52/27.77 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.77 exact (zenon_H2f3 zenon_H2f7). % 27.52/27.77 apply (zenon_L208_ zenon_TA_dx); trivial. % 27.52/27.77 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H193. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H19f. % 27.52/27.77 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.77 congruence. % 27.52/27.77 apply zenon_Hca. apply refl_equal. % 27.52/27.77 exact (zenon_H5e zenon_H10a). % 27.52/27.77 apply (zenon_L209_ zenon_TA_dx); trivial. % 27.52/27.77 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.77 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H5e. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H5f. % 27.52/27.77 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.77 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.77 congruence. % 27.52/27.77 exact (zenon_H61 successor_1). % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 apply zenon_H60. apply refl_equal. % 27.52/27.77 (* end of lemma zenon_L213_ *) % 27.52/27.77 assert (zenon_L214_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.77 do 1 intro. intros zenon_H1cf zenon_H8d zenon_H63 zenon_H2f8 zenon_H6b zenon_Hbe. % 27.52/27.77 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.52/27.77 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2f7 | zenon_intro zenon_H2f3 ]. % 27.52/27.77 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))). % 27.52/27.77 intro zenon_D_pnotp. % 27.52/27.77 apply zenon_H2f8. % 27.52/27.77 rewrite <- zenon_D_pnotp. % 27.52/27.77 exact zenon_H2f7. % 27.52/27.77 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.77 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.77 congruence. % 27.52/27.77 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.78 cut (((n0) = (n0)) = ((sum (n0) (tptp_minus_1) zenon_E) = (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hcb. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hba. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hc7 zenon_Hc6). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply (zenon_L213_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.52/27.78 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hc7. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hc9. % 27.52/27.78 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.52/27.78 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hcb zenon_Hbe). % 27.52/27.78 apply zenon_Hca. apply refl_equal. % 27.52/27.78 apply zenon_Hca. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L214_ *) % 27.52/27.78 assert (zenon_L215_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.78 do 1 intro. intros zenon_H1cf zenon_Hbe zenon_H8d zenon_H63 zenon_Hb4 zenon_H6b. % 27.52/27.78 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.78 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.78 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hb4. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hc8. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 exact (zenon_H5a zenon_H59). % 27.52/27.78 apply (zenon_L206_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5a. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L215_ *) % 27.52/27.78 assert (zenon_L216_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_Hb0 zenon_H1cf zenon_Hbe zenon_H8d zenon_H63. % 27.52/27.78 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.78 generalize (zenon_Hc2 (succ (tptp_minus_1))). zenon_intro zenon_H278. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H278); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H279 ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H279); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hb5 ]. % 27.52/27.78 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.78 exact (zenon_Hb0 zenon_Hb5). % 27.52/27.78 apply (zenon_L215_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L216_ *) % 27.52/27.78 assert (zenon_L217_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H1db zenon_H63 zenon_H8d zenon_Hbe zenon_H1cf. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.78 elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.78 generalize (zenon_H131 (succ (succ (n0)))). zenon_intro zenon_H2fa. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2fa); [ zenon_intro zenon_Haf | zenon_intro zenon_H2fb ]. % 27.52/27.78 exact (zenon_Haf zenon_Hb1). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2fb); [ zenon_intro zenon_H2f8 | zenon_intro zenon_H1e2 ]. % 27.52/27.78 exact (zenon_H2f8 zenon_H2f9). % 27.52/27.78 exact (zenon_H1db zenon_H1e2). % 27.52/27.78 apply (zenon_L214_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Haf. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb5. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply (zenon_L216_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L217_ *) % 27.52/27.78 assert (zenon_L218_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~(gt (n0) (succ zenon_TA_dx))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_Hfa zenon_H1cf zenon_Hbe zenon_H8d zenon_H63. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.78 elim (classic (gt (n2) (succ (n0)))); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a0 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 (n2)). zenon_intro zenon_H25f. % 27.52/27.78 generalize (zenon_H25f (succ (n0))). zenon_intro zenon_H2fc. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2fc); [ zenon_intro zenon_H1cb | zenon_intro zenon_H2fd ]. % 27.52/27.78 exact (zenon_H1cb zenon_H1ce). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2fd); [ zenon_intro zenon_H2a0 | zenon_intro zenon_Hfe ]. % 27.52/27.78 exact (zenon_H2a0 zenon_H2a1). % 27.52/27.78 exact (zenon_Hfa zenon_Hfe). % 27.52/27.78 apply (zenon_L147_); trivial. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1cb. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1e2. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply (zenon_L217_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L218_ *) % 27.52/27.78 assert (zenon_L219_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n0) (succ zenon_TA_dx))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H1c6 zenon_H63 zenon_H8d zenon_Hbe zenon_H1cf. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.52/27.78 elim (classic (gt (n1) (succ zenon_TA_dx))); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1b9 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.52/27.78 generalize (zenon_H1c3 (succ zenon_TA_dx)). zenon_intro zenon_H1c8. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1c8); [ zenon_intro zenon_H176 | zenon_intro zenon_H1c9 ]. % 27.52/27.78 exact (zenon_H176 zenon_H173). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1c9); [ zenon_intro zenon_H1b9 | zenon_intro zenon_H1ca ]. % 27.52/27.78 exact (zenon_H1b9 zenon_H1c7). % 27.52/27.78 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.78 apply (zenon_L212_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H176. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hfe. % 27.52/27.78 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_H61 successor_1). % 27.52/27.78 apply (zenon_L218_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L219_ *) % 27.52/27.78 assert (zenon_L220_ : forall (zenon_TA_dx : 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_TA_dx))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H1c6 zenon_H63 zenon_H8d zenon_Hbe. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb0 ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (n0))); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Haf ]. % 27.52/27.78 elim (classic (gt (n0) (succ zenon_TA_dx))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1cf ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 (n0)). zenon_intro zenon_H131. % 27.52/27.78 generalize (zenon_H131 (succ zenon_TA_dx)). zenon_intro zenon_H2fe. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2fe); [ zenon_intro zenon_Haf | zenon_intro zenon_H2ff ]. % 27.52/27.78 exact (zenon_Haf zenon_Hb1). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2ff); [ zenon_intro zenon_H1cf | zenon_intro zenon_H1ca ]. % 27.52/27.78 exact (zenon_H1cf zenon_H1d5). % 27.52/27.78 exact (zenon_H1c6 zenon_H1ca). % 27.52/27.78 apply (zenon_L219_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (succ (tptp_minus_1))) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Haf. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb5. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 elim (classic (gt (n0) (succ zenon_TA_dx))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1cf ]. % 27.52/27.78 cut ((gt (n0) (succ zenon_TA_dx)) = (gt (succ (tptp_minus_1)) (succ zenon_TA_dx))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1c6. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1d5. % 27.52/27.78 cut (((succ zenon_TA_dx) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_H2f2]. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 congruence. % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5a. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H2f2. apply refl_equal. % 27.52/27.78 apply (zenon_L216_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L220_ *) % 27.52/27.78 assert (zenon_L221_ : forall (zenon_TA_dx : zenon_U), (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.52/27.78 do 1 intro. intros zenon_H1cb zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_Hb4 zenon_H6b. % 27.52/27.78 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.78 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.78 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hb4. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hc8. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 exact (zenon_H5a zenon_H59). % 27.52/27.78 apply (zenon_L75_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5a. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L221_ *) % 27.52/27.78 assert (zenon_L222_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H1cb zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.78 generalize (irreflexivity_gt zenon_TA_dx). zenon_intro zenon_H300. % 27.52/27.78 elim (classic ((~(zenon_TA_dx = (succ (tptp_minus_1))))/\(~(gt zenon_TA_dx (succ (tptp_minus_1)))))); [ zenon_intro zenon_H301 | zenon_intro zenon_H302 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H301). zenon_intro zenon_H303. zenon_intro zenon_Hb4. % 27.52/27.78 apply (zenon_L221_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt zenon_TA_dx zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H300. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H304]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H302); [ zenon_intro zenon_H306 | zenon_intro zenon_H305 ]. % 27.52/27.78 apply zenon_H306. zenon_intro zenon_H307. % 27.52/27.78 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx) = ((succ (tptp_minus_1)) = zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H304. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb9. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut ((zenon_TA_dx = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H303]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H303 zenon_H307). % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H305. zenon_intro zenon_Hbc. % 27.52/27.78 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.78 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.78 generalize (zenon_H135 zenon_TA_dx). zenon_intro zenon_H308. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H308); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H309 ]. % 27.52/27.78 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H309); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H30a ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 exact (zenon_H300 zenon_H30a). % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L222_ *) % 27.52/27.78 assert (zenon_L223_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5 zenon_Hd8 zenon_H1db zenon_H6b. % 27.52/27.78 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (n2))); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cb ]. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (tptp_minus_1)) (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1db. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1ce. % 27.52/27.78 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_H1dd zenon_H1dc). % 27.52/27.78 apply (zenon_L222_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1dd. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1de. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L223_ *) % 27.52/27.78 assert (zenon_L224_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H1e1 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b. % 27.52/27.78 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.78 elim (classic (gt (n1) (succ (tptp_minus_1)))); [ zenon_intro zenon_H5c | zenon_intro zenon_H58 ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.78 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.52/27.78 generalize (zenon_H128 (succ (tptp_minus_1))). zenon_intro zenon_H1e3. % 27.52/27.78 generalize (zenon_H1e3 (succ (succ (n0)))). zenon_intro zenon_H1e4. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1e4); [ zenon_intro zenon_H58 | zenon_intro zenon_H1e5 ]. % 27.52/27.78 exact (zenon_H58 zenon_H5c). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1e5); [ zenon_intro zenon_H1db | zenon_intro zenon_H1e6 ]. % 27.52/27.78 exact (zenon_H1db zenon_H1e2). % 27.52/27.78 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.78 apply (zenon_L223_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (n1) (n0)) = (gt (n1) (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H58. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact gt_1_0. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H57. apply refl_equal. % 27.52/27.78 exact (zenon_H5a zenon_H59). % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5a. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L224_ *) % 27.52/27.78 assert (zenon_L225_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.78 do 1 intro. intros zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_H6b zenon_H1fe. % 27.52/27.78 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.78 elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H1f6 ]. % 27.52/27.78 cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1fe. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1ff. % 27.52/27.78 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.78 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1e0. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H200. % 27.52/27.78 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.78 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1dd zenon_H1dc). % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 elim (classic (gt (succ (succ (n0))) (succ (succ (n0))))); [ zenon_intro zenon_H1f7 | zenon_intro zenon_H1f8 ]. % 27.52/27.78 cut ((gt (succ (succ (n0))) (succ (succ (n0)))) = (gt (succ (succ (n0))) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1f6. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1f7. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.52/27.78 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.52/27.78 elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e1 ]. % 27.52/27.78 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.78 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.52/27.78 generalize (zenon_H1fb (succ (succ (n0)))). zenon_intro zenon_H1fc. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1fc); [ zenon_intro zenon_H1fa | zenon_intro zenon_H1fd ]. % 27.52/27.78 exact (zenon_H1fa zenon_H1f9). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1fd); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1f7 ]. % 27.52/27.78 exact (zenon_H1e1 zenon_H1e6). % 27.52/27.78 exact (zenon_H1f8 zenon_H1f7). % 27.52/27.78 apply (zenon_L224_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1fa. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1f5. % 27.52/27.78 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 exact (zenon_H61 successor_1). % 27.52/27.78 apply (zenon_L154_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1dd. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1de. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L225_ *) % 27.52/27.78 assert (zenon_L226_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H22f zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63 zenon_Hd8 zenon_H6b. % 27.52/27.78 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.52/27.78 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.52/27.78 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.52/27.78 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.52/27.78 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.78 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.52/27.78 generalize (zenon_H135 (succ (succ (n0)))). zenon_intro zenon_H230. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H230); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H231 ]. % 27.52/27.78 exact (zenon_Hb4 zenon_Hbc). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H1db | zenon_intro zenon_H232 ]. % 27.52/27.78 exact (zenon_H1db zenon_H1e2). % 27.52/27.78 exact (zenon_H22f zenon_H232). % 27.52/27.78 apply (zenon_L223_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hb4. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hc8. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 exact (zenon_H5a zenon_H59). % 27.52/27.78 apply (zenon_L95_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5a. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Hb3 succ_tptp_minus_1). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L226_ *) % 27.52/27.78 assert (zenon_L227_ : forall (zenon_TA_dx : 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_TA_dx (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H233 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.78 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.52/27.78 cut ((gt zenon_TA_dx (succ (succ (n0)))) = (gt zenon_TA_dx (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H233. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H232. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply (zenon_L226_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L227_ *) % 27.52/27.78 assert (zenon_L228_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n2))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H1cb zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8. % 27.52/27.78 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (tptp_minus_1)) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1cb. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 elim (classic (gt zenon_TA_dx (n2))); [ zenon_intro zenon_H239 | zenon_intro zenon_H233 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.78 generalize (zenon_Hc2 (n2)). zenon_intro zenon_H240. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H240); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H241 ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H233 | zenon_intro zenon_H1ce ]. % 27.52/27.78 exact (zenon_H233 zenon_H239). % 27.52/27.78 exact (zenon_H1cb zenon_H1ce). % 27.52/27.78 apply (zenon_L227_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L228_ *) % 27.52/27.78 assert (zenon_L229_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(gt (n0) (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_Hbe zenon_H8d zenon_H123 zenon_H6b zenon_Hcf zenon_H63. % 27.52/27.78 elim (classic ((~((n0) = (succ zenon_TA_dx)))/\(~(gt (n0) (succ zenon_TA_dx))))); [ zenon_intro zenon_H30b | zenon_intro zenon_H30c ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H30b). zenon_intro zenon_H30d. zenon_intro zenon_H1cf. % 27.52/27.78 apply (zenon_L210_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (succ zenon_TA_dx) (n0)) = (gt (n0) (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hcf. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H63. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((succ zenon_TA_dx) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H30e]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H30c); [ zenon_intro zenon_H310 | zenon_intro zenon_H30f ]. % 27.52/27.78 apply zenon_H310. zenon_intro zenon_H311. % 27.52/27.78 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.78 cut (((n0) = (n0)) = ((succ zenon_TA_dx) = (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H30e. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hba. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n0) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H30d zenon_H311). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H30f. zenon_intro zenon_H1d5. % 27.52/27.78 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.78 generalize (zenon_H105 (succ zenon_TA_dx)). zenon_intro zenon_H312. % 27.52/27.78 generalize (zenon_H312 (n0)). zenon_intro zenon_H313. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H313); [ zenon_intro zenon_H1cf | zenon_intro zenon_H314 ]. % 27.52/27.78 exact (zenon_H1cf zenon_H1d5). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H314); [ zenon_intro zenon_H69 | zenon_intro zenon_H1a5 ]. % 27.52/27.78 exact (zenon_H69 zenon_H63). % 27.52/27.78 exact (zenon_Hcf zenon_H1a5). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L229_ *) % 27.52/27.78 assert (zenon_L230_ : forall (zenon_TA_dx : zenon_U), (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H8d zenon_H63 zenon_Hbe zenon_H6b zenon_Hcf. % 27.52/27.78 elim (classic ((~((n0) = (n1)))/\(~(gt (n0) (n1))))); [ zenon_intro zenon_H266 | zenon_intro zenon_H267 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H266). zenon_intro zenon_H268. zenon_intro zenon_H123. % 27.52/27.78 apply (zenon_L229_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (n1) (n0)) = (gt (n0) (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hcf. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact gt_1_0. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n1) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H269]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H267); [ zenon_intro zenon_H26b | zenon_intro zenon_H26a ]. % 27.52/27.78 apply zenon_H26b. zenon_intro zenon_H26c. % 27.52/27.78 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.78 cut (((n0) = (n0)) = ((n1) = (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H269. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hba. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n0) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H268]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H268 zenon_H26c). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H26a. zenon_intro zenon_H127. % 27.52/27.78 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.78 generalize (zenon_H105 (n1)). zenon_intro zenon_H26d. % 27.52/27.78 generalize (zenon_H26d (n0)). zenon_intro zenon_H26e. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H26e); [ zenon_intro zenon_H123 | zenon_intro zenon_H26f ]. % 27.52/27.78 exact (zenon_H123 zenon_H127). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H26f); [ zenon_intro zenon_H12c | zenon_intro zenon_H1a5 ]. % 27.52/27.78 exact (zenon_H12c gt_1_0). % 27.52/27.78 exact (zenon_Hcf zenon_H1a5). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L230_ *) % 27.52/27.78 assert (zenon_L231_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (zenon_TA_dx = (n0)) -> (~(gt zenon_TA_dx zenon_TA_dx)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_Haa zenon_H300 zenon_H8d. % 27.52/27.78 elim (classic (gt (n0) zenon_TA_dx)); [ zenon_intro zenon_H315 | zenon_intro zenon_H316 ]. % 27.52/27.78 cut ((gt (n0) zenon_TA_dx) = (gt zenon_TA_dx zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H300. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H315. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut (((n0) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb8]. % 27.52/27.78 congruence. % 27.52/27.78 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx) = ((n0) = zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hb8. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb9. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut ((zenon_TA_dx = (n0))); [idtac | apply NNPP; zenon_intro zenon_Ha2]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Ha2 zenon_Haa). % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 elim (classic ((~((n0) = (succ (tptp_minus_1))))/\(~(gt (n0) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H317 | zenon_intro zenon_H318 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H317). zenon_intro zenon_H5a. zenon_intro zenon_Hb7. % 27.52/27.78 apply zenon_H5a. apply sym_equal. exact succ_tptp_minus_1. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (n0) zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H316. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H318); [ zenon_intro zenon_H31a | zenon_intro zenon_H319 ]. % 27.52/27.78 apply zenon_H31a. zenon_intro zenon_H59. % 27.52/27.78 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.52/27.78 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hb3. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hba. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H5a zenon_H59). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 apply zenon_H319. zenon_intro zenon_Hb6. % 27.52/27.78 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.52/27.78 generalize (zenon_H105 (succ (tptp_minus_1))). zenon_intro zenon_H293. % 27.52/27.78 generalize (zenon_H293 zenon_TA_dx). zenon_intro zenon_H31b. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H31b); [ zenon_intro zenon_Hb7 | zenon_intro zenon_H31c ]. % 27.52/27.78 exact (zenon_Hb7 zenon_Hb6). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H31c); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H315 ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 exact (zenon_H316 zenon_H315). % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L231_ *) % 27.52/27.78 assert (zenon_L232_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> ((tptp_minus_1) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H63 zenon_Hf3 zenon_H8d. % 27.52/27.78 generalize (finite_domain_0 zenon_TA_dx). zenon_intro zenon_H1b7. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1b7); [ zenon_intro zenon_H1b8 | zenon_intro zenon_Haa ]. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H1b8); [ zenon_intro zenon_H64 | zenon_intro zenon_H1b3 ]. % 27.52/27.78 apply (zenon_L7_ zenon_TA_dx); trivial. % 27.52/27.78 apply (zenon_L68_ zenon_TA_dx); trivial. % 27.52/27.78 generalize (irreflexivity_gt zenon_TA_dx). zenon_intro zenon_H300. % 27.52/27.78 apply (zenon_L231_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L232_ *) % 27.52/27.78 assert (zenon_L233_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.78 generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1ba. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H1bb | zenon_intro zenon_Hf3 ]. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H1bb); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1a6 ]. % 27.52/27.78 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.52/27.78 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.52/27.78 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.52/27.78 elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H258). zenon_intro zenon_H25a. zenon_intro zenon_H1cb. % 27.52/27.78 apply (zenon_L228_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (n2) (n0)) = (gt (succ (tptp_minus_1)) (n0))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Haf. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact gt_2_0. % 27.52/27.78 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.52/27.78 cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H259); [ zenon_intro zenon_H25d | zenon_intro zenon_H25c ]. % 27.52/27.78 apply zenon_H25d. zenon_intro zenon_H25e. % 27.52/27.78 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H25b. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb2. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H25a zenon_H25e). % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H5d. apply refl_equal. % 27.52/27.78 apply zenon_H25c. zenon_intro zenon_H1ce. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 (n2)). zenon_intro zenon_H25f. % 27.52/27.78 generalize (zenon_H25f (n0)). zenon_intro zenon_H260. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H260); [ zenon_intro zenon_H1cb | zenon_intro zenon_H261 ]. % 27.52/27.78 exact (zenon_H1cb zenon_H1ce). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H185 | zenon_intro zenon_Hb1 ]. % 27.52/27.78 exact (zenon_H185 gt_2_0). % 27.52/27.78 exact (zenon_Haf zenon_Hb1). % 27.52/27.78 apply zenon_H62. apply refl_equal. % 27.52/27.78 exact (zenon_Hdd zenon_Hdf). % 27.52/27.78 apply (zenon_L66_); trivial. % 27.52/27.78 apply (zenon_L232_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L233_ *) % 27.52/27.78 assert (zenon_L234_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n3))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H289 zenon_Hd8 zenon_H8d zenon_H63. % 27.52/27.78 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.78 apply (zenon_L5_); trivial. % 27.52/27.78 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n3))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H289. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.78 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.78 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hf8. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H5f. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H167 zenon_H16a). % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.78 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.78 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.78 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.52/27.78 exact (zenon_H5b zenon_H16b). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n3))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H289. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H16f. % 27.52/27.78 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 exact (zenon_Ha5 zenon_Had). % 27.52/27.78 exact (zenon_Ha5 zenon_Had). % 27.52/27.78 apply (zenon_L233_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L234_ *) % 27.52/27.78 assert (zenon_L235_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H6b zenon_H1fe. % 27.52/27.78 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.78 elim (classic (gt (succ (succ (n0))) (n2))); [ zenon_intro zenon_H1ff | zenon_intro zenon_H1f6 ]. % 27.52/27.78 cut ((gt (succ (succ (n0))) (n2)) = (gt (n2) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1fe. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1ff. % 27.52/27.78 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.52/27.78 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1e0. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H200. % 27.52/27.78 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.78 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1dd zenon_H1dc). % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.52/27.78 apply (zenon_L82_); trivial. % 27.52/27.78 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (succ (n0))) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1f6. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.78 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.78 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1ec. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1de. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1eb zenon_H1ef). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.78 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.78 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.78 generalize (zenon_H1f2 zenon_TA_dx). zenon_intro zenon_H2d4. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2d5 ]. % 27.52/27.78 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d6 ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 cut ((gt (succ (succ (n0))) zenon_TA_dx) = (gt (succ (succ (n0))) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1f6. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H2d6. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 elim (classic (gt zenon_TA_dx (n2))); [ zenon_intro zenon_H239 | zenon_intro zenon_H233 ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.78 generalize (zenon_Hc2 (n2)). zenon_intro zenon_H240. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H240); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H241 ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H241); [ zenon_intro zenon_H233 | zenon_intro zenon_H1ce ]. % 27.52/27.78 exact (zenon_H233 zenon_H239). % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (n2)) = (gt (succ (succ (n0))) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1f6. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1ce. % 27.52/27.78 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.52/27.78 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.52/27.78 apply zenon_H1ec. apply sym_equal. exact zenon_H1ef. % 27.52/27.78 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.52/27.78 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.52/27.78 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.52/27.78 generalize (zenon_H1f2 (n2)). zenon_intro zenon_H31d. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H31d); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H31e ]. % 27.52/27.78 exact (zenon_H1e7 zenon_H1f0). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H31e); [ zenon_intro zenon_H1cb | zenon_intro zenon_H1ff ]. % 27.52/27.78 exact (zenon_H1cb zenon_H1ce). % 27.52/27.78 exact (zenon_H1f6 zenon_H1ff). % 27.52/27.78 apply zenon_H56. apply refl_equal. % 27.52/27.78 apply (zenon_L227_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1dd. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1de. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L235_ *) % 27.52/27.78 assert (zenon_L236_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H2b4 zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.78 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.78 apply (zenon_L5_); trivial. % 27.52/27.78 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.52/27.78 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.52/27.78 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.52/27.78 generalize (zenon_Hc2 (succ (succ (n0)))). zenon_intro zenon_H2b9. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2ba ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_H22f | zenon_intro zenon_H1e2 ]. % 27.52/27.78 exact (zenon_H22f zenon_H232). % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (succ (n0)) (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H2b4. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1e2. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.78 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.78 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.52/27.78 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.78 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.78 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.78 generalize (zenon_H16c (succ (succ (n0)))). zenon_intro zenon_H2bb. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2bb); [ zenon_intro zenon_H5b | zenon_intro zenon_H2bc ]. % 27.52/27.78 exact (zenon_H5b zenon_H16b). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H2bc); [ zenon_intro zenon_H1db | zenon_intro zenon_H2b8 ]. % 27.52/27.78 exact (zenon_H1db zenon_H1e2). % 27.52/27.78 exact (zenon_H2b4 zenon_H2b8). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply (zenon_L226_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L236_ *) % 27.52/27.78 assert (zenon_L237_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H23f zenon_Hd8 zenon_Ha5 zenon_Ha4 zenon_H8d zenon_H63. % 27.52/27.78 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.78 cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (succ (n0)) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H23f. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H2b8. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply (zenon_L236_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L237_ *) % 27.52/27.78 assert (zenon_L238_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.52/27.78 do 1 intro. intros zenon_H6b zenon_H23f zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63. % 27.52/27.78 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.52/27.78 apply (zenon_L5_); trivial. % 27.52/27.78 elim (classic (zenon_TA_dx = (n2))); [ zenon_intro zenon_Hae | zenon_intro zenon_Ha4 ]. % 27.52/27.78 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H23f. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H8d. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.52/27.78 apply zenon_H169. zenon_intro zenon_H16a. % 27.52/27.78 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hf8. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H5f. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H167 zenon_H16a). % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 apply zenon_H168. zenon_intro zenon_H16b. % 27.52/27.78 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.52/27.78 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.52/27.78 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.52/27.78 exact (zenon_H5b zenon_H16b). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.52/27.78 exact (zenon_Ha1 zenon_H8d). % 27.52/27.78 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n2))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H23f. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H16f. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 apply (zenon_L237_ zenon_TA_dx); trivial. % 27.52/27.78 (* end of lemma zenon_L238_ *) % 27.52/27.78 assert (zenon_L239_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.52/27.78 do 1 intro. intros zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63 zenon_H2b4 zenon_H6b. % 27.52/27.78 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.52/27.78 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.52/27.78 cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H2b4. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H244. % 27.52/27.78 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 exact (zenon_H1dd zenon_H1dc). % 27.52/27.78 apply (zenon_L238_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1dd. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H1de. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H1e0 successor_2). % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L239_ *) % 27.52/27.78 assert (zenon_L240_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n1) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H1e1 zenon_H6b. % 27.52/27.78 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.78 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.52/27.78 cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (n1) (succ (succ (n0))))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H1e1. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H2b8. % 27.52/27.78 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.52/27.78 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.78 congruence. % 27.52/27.78 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.52/27.78 cut (((n1) = (n1)) = ((succ (n0)) = (n1))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H61. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H10d. % 27.52/27.78 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.78 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H5e zenon_H10a). % 27.52/27.78 apply zenon_H57. apply refl_equal. % 27.52/27.78 apply zenon_H57. apply refl_equal. % 27.52/27.78 apply zenon_H1df. apply refl_equal. % 27.52/27.78 apply (zenon_L239_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5e. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H5f. % 27.52/27.78 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.52/27.78 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_H61 successor_1). % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 apply zenon_H60. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L240_ *) % 27.52/27.78 assert (zenon_L241_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt zenon_TA_dx (n1))) -> False). % 27.52/27.78 do 1 intro. intros zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63 zenon_H6b zenon_H138. % 27.52/27.78 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.52/27.78 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.52/27.78 apply (zenon_L227_ zenon_TA_dx); trivial. % 27.52/27.78 cut ((gt (n2) (n1)) = (gt zenon_TA_dx (n1))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H138. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact gt_2_1. % 27.52/27.78 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.52/27.78 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.52/27.78 congruence. % 27.52/27.78 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.52/27.78 apply zenon_H238. zenon_intro zenon_Hae. % 27.52/27.78 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H236. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_Hb9. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.52/27.78 congruence. % 27.52/27.78 exact (zenon_Ha4 zenon_Hae). % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 apply zenon_H237. zenon_intro zenon_H239. % 27.52/27.78 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.52/27.78 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.52/27.78 generalize (zenon_H23a (n1)). zenon_intro zenon_H23b. % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H23b); [ zenon_intro zenon_H233 | zenon_intro zenon_H23c ]. % 27.52/27.78 exact (zenon_H233 zenon_H239). % 27.52/27.78 apply (zenon_imply_s _ _ zenon_H23c); [ zenon_intro zenon_H71 | zenon_intro zenon_H170 ]. % 27.52/27.78 exact (zenon_H71 gt_2_1). % 27.52/27.78 exact (zenon_H138 zenon_H170). % 27.52/27.78 apply zenon_H57. apply refl_equal. % 27.52/27.78 (* end of lemma zenon_L241_ *) % 27.52/27.78 assert (zenon_L242_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.52/27.78 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_Hf9 zenon_H6b. % 27.52/27.78 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.52/27.78 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.52/27.78 cut ((gt zenon_TA_dx (n1)) = (gt zenon_TA_dx (succ (n0)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_Hf9. % 27.52/27.78 rewrite <- zenon_D_pnotp. % 27.52/27.78 exact zenon_H170. % 27.52/27.78 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.52/27.78 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.52/27.78 congruence. % 27.52/27.78 apply zenon_H97. apply refl_equal. % 27.52/27.78 exact (zenon_H5e zenon_H10a). % 27.52/27.78 apply (zenon_L241_ zenon_TA_dx); trivial. % 27.52/27.78 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.52/27.78 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.52/27.78 intro zenon_D_pnotp. % 27.52/27.78 apply zenon_H5e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H5f. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H61 successor_1). % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L242_ *) % 27.62/27.79 assert (zenon_L243_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_Hfa zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63. % 27.62/27.79 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.62/27.79 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.62/27.79 exact (zenon_Hf9 zenon_Hfb). % 27.62/27.79 exact (zenon_Hfa zenon_Hfe). % 27.62/27.79 apply (zenon_L242_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L243_ *) % 27.62/27.79 assert (zenon_L244_ : forall (zenon_TA_dx : 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_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H1db zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.62/27.79 elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e1 ]. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.62/27.79 generalize (zenon_H1c3 (succ (succ (n0)))). zenon_intro zenon_H2cf. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2cf); [ zenon_intro zenon_H176 | zenon_intro zenon_H2d0 ]. % 27.62/27.79 exact (zenon_H176 zenon_H173). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2d0); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ]. % 27.62/27.79 exact (zenon_H1e1 zenon_H1e6). % 27.62/27.79 exact (zenon_H1db zenon_H1e2). % 27.62/27.79 apply (zenon_L240_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H176. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hfe. % 27.62/27.79 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 exact (zenon_H61 successor_1). % 27.62/27.79 apply (zenon_L243_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L244_ *) % 27.62/27.79 assert (zenon_L245_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H2f3 zenon_H6b. % 27.62/27.79 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.62/27.79 elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ]. % 27.62/27.79 cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2f3. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2f9. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hc7. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc9. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hcb zenon_Hbe). % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2f8. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1e2. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.62/27.79 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hb3. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hba. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H5a zenon_H59). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply (zenon_L244_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5a. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb2. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hb3 succ_tptp_minus_1). % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L245_ *) % 27.62/27.79 assert (zenon_L246_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (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). % 27.62/27.79 do 1 intro. intros zenon_H123 zenon_H8d zenon_H63 zenon_Hd8 zenon_Ha5 zenon_H6b zenon_Hbe. % 27.62/27.79 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.62/27.79 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.62/27.79 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.62/27.79 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.62/27.79 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.62/27.79 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.62/27.79 generalize (zenon_H1d2 (n1)). zenon_intro zenon_H23d. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H23d); [ zenon_intro zenon_Hce | zenon_intro zenon_H23e ]. % 27.62/27.79 exact (zenon_Hce zenon_Hcd). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H23e); [ zenon_intro zenon_H191 | zenon_intro zenon_H127 ]. % 27.62/27.79 exact (zenon_H191 zenon_H19f). % 27.62/27.79 exact (zenon_H123 zenon_H127). % 27.62/27.79 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n2)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n2))))); [ zenon_intro zenon_H31f | zenon_intro zenon_H320 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H31f). zenon_intro zenon_H322. zenon_intro zenon_H321. % 27.62/27.79 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2f7 | zenon_intro zenon_H2f3 ]. % 27.62/27.79 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H321. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2f7. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 apply (zenon_L245_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n2) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H191. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_2_1. % 27.62/27.79 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.62/27.79 cut (((n2) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H323]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H320); [ zenon_intro zenon_H325 | zenon_intro zenon_H324 ]. % 27.62/27.79 apply zenon_H325. zenon_intro zenon_H326. % 27.62/27.79 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n2) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H323. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc9. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H322 zenon_H326). % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_H324. zenon_intro zenon_H327. % 27.62/27.79 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.62/27.79 generalize (zenon_H194 (n2)). zenon_intro zenon_H328. % 27.62/27.79 generalize (zenon_H328 (n1)). zenon_intro zenon_H329. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H329); [ zenon_intro zenon_H321 | zenon_intro zenon_H32a ]. % 27.62/27.79 exact (zenon_H321 zenon_H327). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H32a); [ zenon_intro zenon_H71 | zenon_intro zenon_H19f ]. % 27.62/27.79 exact (zenon_H71 gt_2_1). % 27.62/27.79 exact (zenon_H191 zenon_H19f). % 27.62/27.79 apply zenon_H57. apply refl_equal. % 27.62/27.79 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hce. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1a5. % 27.62/27.79 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 exact (zenon_Hc7 zenon_Hc6). % 27.62/27.79 apply (zenon_L229_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hc7. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc9. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hcb zenon_Hbe). % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L246_ *) % 27.62/27.79 assert (zenon_L247_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H2a2 zenon_Hd8 zenon_H123 zenon_H8d zenon_H63 zenon_Hbe. % 27.62/27.79 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.62/27.79 apply (zenon_L82_); trivial. % 27.62/27.79 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2a2. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H8d. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.62/27.79 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1ec. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1eb zenon_H1ef). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.62/27.79 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.62/27.79 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.62/27.79 generalize (zenon_H1f2 zenon_TA_dx). zenon_intro zenon_H2d4. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2d5 ]. % 27.62/27.79 exact (zenon_H1e7 zenon_H1f0). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d6 ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 cut ((gt (succ (succ (n0))) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2a2. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2d6. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 apply (zenon_L246_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L247_ *) % 27.62/27.79 assert (zenon_L248_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hd8 zenon_H123 zenon_H8d zenon_H63 zenon_Hbe zenon_H202 zenon_H6b. % 27.62/27.79 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.62/27.79 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.62/27.79 cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H202. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2a5. % 27.62/27.79 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.62/27.79 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1e0. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H200. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1dd zenon_H1dc). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H55. apply refl_equal. % 27.62/27.79 apply (zenon_L247_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1dd. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L248_ *) % 27.62/27.79 assert (zenon_L249_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(gt (n0) (n1))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hbe zenon_H63 zenon_H8d zenon_H123 zenon_Hd8 zenon_H6b zenon_H1fe. % 27.62/27.79 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.62/27.79 apply (zenon_L248_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1fe. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_3_2. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.62/27.79 apply zenon_H212. zenon_intro zenon_H213. % 27.62/27.79 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.62/27.79 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H210. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H200. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H20f zenon_H213). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H211. zenon_intro zenon_H205. % 27.62/27.79 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.62/27.79 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.62/27.79 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.62/27.79 exact (zenon_H202 zenon_H205). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.62/27.79 exact (zenon_H78 gt_3_2). % 27.62/27.79 exact (zenon_H1fe zenon_H217). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L249_ *) % 27.62/27.79 assert (zenon_L250_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H109 zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63 zenon_Hbe. % 27.62/27.79 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.62/27.79 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.62/27.79 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.62/27.79 generalize (zenon_H129 (n1)). zenon_intro zenon_H12a. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H12a); [ zenon_intro zenon_H12c | zenon_intro zenon_H12b ]. % 27.62/27.79 exact (zenon_H12c gt_1_0). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H12b); [ zenon_intro zenon_H123 | zenon_intro zenon_H12d ]. % 27.62/27.79 exact (zenon_H123 zenon_H127). % 27.62/27.79 exact (zenon_H109 zenon_H12d). % 27.62/27.79 apply (zenon_L246_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L250_ *) % 27.62/27.79 assert (zenon_L251_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H1db zenon_H6b. % 27.62/27.79 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.62/27.79 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 (succ (n0))). zenon_intro zenon_H32b. % 27.62/27.79 generalize (zenon_H32b (succ (succ (n0)))). zenon_intro zenon_H32c. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H32c); [ zenon_intro zenon_Hfa | zenon_intro zenon_H32d ]. % 27.62/27.79 exact (zenon_Hfa zenon_Hfe). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H32d); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H1e2 ]. % 27.62/27.79 exact (zenon_H2b4 zenon_H2b8). % 27.62/27.79 exact (zenon_H1db zenon_H1e2). % 27.62/27.79 apply (zenon_L239_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) (n1)) = (gt (succ (tptp_minus_1)) (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hfa. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H173. % 27.62/27.79 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 exact (zenon_H5e zenon_H10a). % 27.62/27.79 elim (classic ((~((succ (tptp_minus_1)) = (n2)))/\(~(gt (succ (tptp_minus_1)) (n2))))); [ zenon_intro zenon_H258 | zenon_intro zenon_H259 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H258). zenon_intro zenon_H25a. zenon_intro zenon_H1cb. % 27.62/27.79 apply (zenon_L228_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n2) (n1)) = (gt (succ (tptp_minus_1)) (n1))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H176. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_2_1. % 27.62/27.79 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.62/27.79 cut (((n2) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H25b]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H259); [ zenon_intro zenon_H25d | zenon_intro zenon_H25c ]. % 27.62/27.79 apply zenon_H25d. zenon_intro zenon_H25e. % 27.62/27.79 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n2) = (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H25b. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb2. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H25a]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H25a zenon_H25e). % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H25c. zenon_intro zenon_H1ce. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 (n2)). zenon_intro zenon_H25f. % 27.62/27.79 generalize (zenon_H25f (n1)). zenon_intro zenon_H262. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H1cb | zenon_intro zenon_H263 ]. % 27.62/27.79 exact (zenon_H1cb zenon_H1ce). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H263); [ zenon_intro zenon_H71 | zenon_intro zenon_H173 ]. % 27.62/27.79 exact (zenon_H71 gt_2_1). % 27.62/27.79 exact (zenon_H176 zenon_H173). % 27.62/27.79 apply zenon_H57. apply refl_equal. % 27.62/27.79 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H5f. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H61 successor_1). % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L251_ *) % 27.62/27.79 assert (zenon_L252_ : forall (zenon_TA_dx : zenon_U), (~(zenon_TA_dx = (n3))) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n1))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (n1))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Ha5 zenon_Ha4 zenon_Ha3 zenon_H8d zenon_H63 zenon_H27a zenon_H138 zenon_H6b. % 27.62/27.79 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.62/27.79 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.62/27.79 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.62/27.79 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.62/27.79 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.62/27.79 generalize (zenon_H135 (succ (succ (succ (n0))))). zenon_intro zenon_H27b. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H27b); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H27c ]. % 27.62/27.79 exact (zenon_Hb4 zenon_Hbc). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H27c); [ zenon_intro zenon_H218 | zenon_intro zenon_H27d ]. % 27.62/27.79 exact (zenon_H218 zenon_H21d). % 27.62/27.79 exact (zenon_H27a zenon_H27d). % 27.62/27.79 apply (zenon_L92_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hb4. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc8. % 27.62/27.79 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 exact (zenon_H5a zenon_H59). % 27.62/27.79 apply (zenon_L18_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5a. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb2. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hb3 succ_tptp_minus_1). % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L252_ *) % 27.62/27.79 assert (zenon_L253_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (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_TA_dx (n0))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n2))) -> (~(zenon_TA_dx = (n3))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H27a zenon_H6b zenon_Hbb zenon_H63 zenon_H8d zenon_Ha4 zenon_Ha5. % 27.62/27.79 elim (classic ((~(zenon_TA_dx = (n1)))/\(~(gt zenon_TA_dx (n1))))); [ zenon_intro zenon_H189 | zenon_intro zenon_H18a ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H189). zenon_intro zenon_Ha3. zenon_intro zenon_H138. % 27.62/27.79 apply (zenon_L252_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n1) (n0)) = (gt zenon_TA_dx (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hbb. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_1_0. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n1) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H18b]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18d | zenon_intro zenon_H18c ]. % 27.62/27.79 apply zenon_H18d. zenon_intro zenon_Hac. % 27.62/27.79 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx) = ((n1) = zenon_TA_dx)). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H18b. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb9. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 cut ((zenon_TA_dx = (n1))); [idtac | apply NNPP; zenon_intro zenon_Ha3]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Ha3 zenon_Hac). % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H18c. zenon_intro zenon_H170. % 27.62/27.79 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.62/27.79 generalize (zenon_H134 (n1)). zenon_intro zenon_H18e. % 27.62/27.79 generalize (zenon_H18e (n0)). zenon_intro zenon_H18f. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H18f); [ zenon_intro zenon_H138 | zenon_intro zenon_H190 ]. % 27.62/27.79 exact (zenon_H138 zenon_H170). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H190); [ zenon_intro zenon_H12c | zenon_intro zenon_Hc8 ]. % 27.62/27.79 exact (zenon_H12c gt_1_0). % 27.62/27.79 exact (zenon_Hbb zenon_Hc8). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L253_ *) % 27.62/27.79 assert (zenon_L254_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(gt (n1) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n0))) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hbe zenon_Ha5 zenon_H8d zenon_H155 zenon_H6b zenon_Hcf zenon_H63. % 27.62/27.79 elim (classic ((~((n0) = (succ zenon_TA_dx)))/\(~(gt (n0) (succ zenon_TA_dx))))); [ zenon_intro zenon_H30b | zenon_intro zenon_H30c ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H30b). zenon_intro zenon_H30d. zenon_intro zenon_H1cf. % 27.62/27.79 apply (zenon_L107_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (succ zenon_TA_dx) (n0)) = (gt (n0) (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hcf. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H63. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((succ zenon_TA_dx) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H30e]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H30c); [ zenon_intro zenon_H310 | zenon_intro zenon_H30f ]. % 27.62/27.79 apply zenon_H310. zenon_intro zenon_H311. % 27.62/27.79 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.62/27.79 cut (((n0) = (n0)) = ((succ zenon_TA_dx) = (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H30e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hba. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n0) = (succ zenon_TA_dx))); [idtac | apply NNPP; zenon_intro zenon_H30d]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H30d zenon_H311). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H30f. zenon_intro zenon_H1d5. % 27.62/27.79 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.62/27.79 generalize (zenon_H105 (succ zenon_TA_dx)). zenon_intro zenon_H312. % 27.62/27.79 generalize (zenon_H312 (n0)). zenon_intro zenon_H313. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H313); [ zenon_intro zenon_H1cf | zenon_intro zenon_H314 ]. % 27.62/27.79 exact (zenon_H1cf zenon_H1d5). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H314); [ zenon_intro zenon_H69 | zenon_intro zenon_H1a5 ]. % 27.62/27.79 exact (zenon_H69 zenon_H63). % 27.62/27.79 exact (zenon_Hcf zenon_H1a5). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L254_ *) % 27.62/27.79 assert (zenon_L255_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (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). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H27a zenon_H22f zenon_H6b. % 27.62/27.79 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.62/27.79 elim (classic (gt zenon_TA_dx (n0))); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hbb ]. % 27.62/27.79 elim (classic (gt zenon_TA_dx (succ (tptp_minus_1)))); [ zenon_intro zenon_Hbc | zenon_intro zenon_Hb4 ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.62/27.79 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.62/27.79 generalize (zenon_H134 (succ (tptp_minus_1))). zenon_intro zenon_H135. % 27.62/27.79 generalize (zenon_H135 (succ (succ (n0)))). zenon_intro zenon_H230. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H230); [ zenon_intro zenon_Hb4 | zenon_intro zenon_H231 ]. % 27.62/27.79 exact (zenon_Hb4 zenon_Hbc). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H1db | zenon_intro zenon_H232 ]. % 27.62/27.79 exact (zenon_H1db zenon_H1e2). % 27.62/27.79 exact (zenon_H22f zenon_H232). % 27.62/27.79 apply (zenon_L251_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt zenon_TA_dx (n0)) = (gt zenon_TA_dx (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hb4. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc8. % 27.62/27.79 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 exact (zenon_H5a zenon_H59). % 27.62/27.79 elim (classic ((~(zenon_TA_dx = (n2)))/\(~(gt zenon_TA_dx (n2))))); [ zenon_intro zenon_H234 | zenon_intro zenon_H235 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H234). zenon_intro zenon_Ha4. zenon_intro zenon_H233. % 27.62/27.79 apply (zenon_L253_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n2) (n0)) = (gt zenon_TA_dx (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hbb. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_2_0. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n2) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H236]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H235); [ zenon_intro zenon_H238 | zenon_intro zenon_H237 ]. % 27.62/27.79 apply zenon_H238. zenon_intro zenon_Hae. % 27.62/27.79 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx) = ((n2) = zenon_TA_dx)). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H236. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb9. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 cut ((zenon_TA_dx = (n2))); [idtac | apply NNPP; zenon_intro zenon_Ha4]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Ha4 zenon_Hae). % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H237. zenon_intro zenon_H239. % 27.62/27.79 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.62/27.79 generalize (zenon_H134 (n2)). zenon_intro zenon_H23a. % 27.62/27.79 generalize (zenon_H23a (n0)). zenon_intro zenon_H270. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H270); [ zenon_intro zenon_H233 | zenon_intro zenon_H271 ]. % 27.62/27.79 exact (zenon_H233 zenon_H239). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H271); [ zenon_intro zenon_H185 | zenon_intro zenon_Hc8 ]. % 27.62/27.79 exact (zenon_H185 gt_2_0). % 27.62/27.79 exact (zenon_Hbb zenon_Hc8). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5a. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb2. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hb3 succ_tptp_minus_1). % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L255_ *) % 27.62/27.79 assert (zenon_L256_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (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). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8 zenon_H27a zenon_H22f zenon_H6b. % 27.62/27.79 apply (zenon_L255_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L256_ *) % 27.62/27.79 assert (zenon_L257_ : forall (zenon_TA_dx : 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_TA_dx (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H22f zenon_Hd8 zenon_H63 zenon_H8d zenon_Ha5 zenon_H27a. % 27.62/27.79 apply (zenon_L256_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L257_ *) % 27.62/27.79 assert (zenon_L258_ : forall (zenon_TA_dx : 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_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H27a zenon_H22f zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63. % 27.62/27.79 apply (zenon_L257_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L258_ *) % 27.62/27.79 assert (zenon_L259_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n0))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H32e. % 27.62/27.79 elim (classic ((~((succ (succ (n0))) = (n2)))/\(~(gt (succ (succ (n0))) (n2))))); [ zenon_intro zenon_H32f | zenon_intro zenon_H330 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H32f). zenon_intro zenon_H1e0. zenon_intro zenon_H1f6. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 cut ((gt (n2) (n0)) = (gt (succ (succ (n0))) (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H32e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_2_0. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H330); [ zenon_intro zenon_H332 | zenon_intro zenon_H331 ]. % 27.62/27.79 apply zenon_H332. zenon_intro successor_2. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1dd. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H331. zenon_intro zenon_H1ff. % 27.62/27.79 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.62/27.79 generalize (zenon_H1f1 (n2)). zenon_intro zenon_H333. % 27.62/27.79 generalize (zenon_H333 (n0)). zenon_intro zenon_H334. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H334); [ zenon_intro zenon_H1f6 | zenon_intro zenon_H335 ]. % 27.62/27.79 exact (zenon_H1f6 zenon_H1ff). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H335); [ zenon_intro zenon_H185 | zenon_intro zenon_H336 ]. % 27.62/27.79 exact (zenon_H185 gt_2_0). % 27.62/27.79 exact (zenon_H32e zenon_H336). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L259_ *) % 27.62/27.79 assert (zenon_L260_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(gt zenon_TA_dx (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). % 27.62/27.79 do 1 intro. intros zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63 zenon_H27a zenon_H22f zenon_H6b. % 27.62/27.79 apply (zenon_L258_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L260_ *) % 27.62/27.79 assert (zenon_L261_ : forall (zenon_TA_dx : zenon_U), (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~(gt zenon_TA_dx (succ (succ (succ (n0)))))) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H8d zenon_H63 zenon_H22f zenon_H27a zenon_Ha5 zenon_Hd8 zenon_H6b. % 27.62/27.79 apply (zenon_L260_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L261_ *) % 27.62/27.79 assert (zenon_L262_ : forall (zenon_TA_dx : 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_TA_dx (succ (succ (n0))))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~((tptp_minus_1) = (n3))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H27e zenon_H22f zenon_H63 zenon_H8d zenon_Ha5 zenon_Hd8. % 27.62/27.79 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.62/27.79 apply (zenon_L5_); trivial. % 27.62/27.79 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.62/27.79 generalize (zenon_Hc2 (succ (succ (succ (n0))))). zenon_intro zenon_H27f. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H280 ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H27a | zenon_intro zenon_H21d ]. % 27.62/27.79 exact (zenon_H27a zenon_H27d). % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (succ (succ (succ (n0)))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H27e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H21d. % 27.62/27.79 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.62/27.79 apply zenon_H169. zenon_intro zenon_H16a. % 27.62/27.79 apply zenon_Hf8. apply sym_equal. exact zenon_H16a. % 27.62/27.79 apply zenon_H168. zenon_intro zenon_H16b. % 27.62/27.79 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.62/27.79 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.62/27.79 generalize (zenon_H16c (succ (succ (succ (n0))))). zenon_intro zenon_H281. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H281); [ zenon_intro zenon_H5b | zenon_intro zenon_H282 ]. % 27.62/27.79 exact (zenon_H5b zenon_H16b). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H282); [ zenon_intro zenon_H218 | zenon_intro zenon_H283 ]. % 27.62/27.79 exact (zenon_H218 zenon_H21d). % 27.62/27.79 exact (zenon_H27e zenon_H283). % 27.62/27.79 apply zenon_H209. apply refl_equal. % 27.62/27.79 apply (zenon_L261_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L262_ *) % 27.62/27.79 assert (zenon_L263_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n3))) -> (~((tptp_minus_1) = (n3))) -> (~(zenon_TA_dx = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H289 zenon_Hd8 zenon_Ha5 zenon_H8d zenon_H63 zenon_H22f. % 27.62/27.79 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.62/27.79 cut ((gt (succ (n0)) (succ (succ (succ (n0))))) = (gt (succ (n0)) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H289. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H283. % 27.62/27.79 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 exact (zenon_H20a successor_3). % 27.62/27.79 apply (zenon_L262_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L263_ *) % 27.62/27.79 assert (zenon_L264_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_Hd8 zenon_H2f3 zenon_H6b. % 27.62/27.79 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.62/27.79 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.62/27.79 elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ]. % 27.62/27.79 cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2f3. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2f9. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hc7. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc9. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hcb zenon_Hbe). % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2f8. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1e2. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.62/27.79 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hb3. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hba. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H5a zenon_H59). % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply (zenon_L251_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5a. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb2. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hb3 succ_tptp_minus_1). % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 apply zenon_H5d. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L264_ *) % 27.62/27.79 assert (zenon_L265_ : forall (zenon_TA_dx : zenon_U), (~(gt (n1) (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H155 zenon_H63 zenon_H8d zenon_Ha5 zenon_H2f8 zenon_Hd8 zenon_H6b zenon_Hbe. % 27.62/27.79 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.62/27.79 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.62/27.79 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.62/27.79 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2f7 | zenon_intro zenon_H2f3 ]. % 27.62/27.79 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.62/27.79 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.62/27.79 generalize (zenon_H1d2 (succ (succ (n0)))). zenon_intro zenon_H337. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H337); [ zenon_intro zenon_Hce | zenon_intro zenon_H338 ]. % 27.62/27.79 exact (zenon_Hce zenon_Hcd). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H338); [ zenon_intro zenon_H2f3 | zenon_intro zenon_H2f9 ]. % 27.62/27.79 exact (zenon_H2f3 zenon_H2f7). % 27.62/27.79 exact (zenon_H2f8 zenon_H2f9). % 27.62/27.79 apply (zenon_L264_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hce. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1a5. % 27.62/27.79 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.62/27.79 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H62. apply refl_equal. % 27.62/27.79 exact (zenon_Hc7 zenon_Hc6). % 27.62/27.79 apply (zenon_L254_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hc7. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hc9. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.62/27.79 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Hcb zenon_Hbe). % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 apply zenon_Hca. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L265_ *) % 27.62/27.79 assert (zenon_L266_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~(zenon_TA_dx = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~(gt (succ (succ (n0))) (n3))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H2f8 zenon_Hd8 zenon_H63 zenon_H8d zenon_Ha5 zenon_Hbe zenon_H2a2. % 27.62/27.79 elim (classic (gt (succ (succ (n0))) (succ (n0)))); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1e8 ]. % 27.62/27.79 elim (classic (gt (succ (succ (n0))) (n1))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ]. % 27.62/27.79 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.62/27.79 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.62/27.79 generalize (zenon_H1f1 (n1)). zenon_intro zenon_H1fb. % 27.62/27.79 generalize (zenon_H1fb (n3)). zenon_intro zenon_H2a3. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2a3); [ zenon_intro zenon_H1fa | zenon_intro zenon_H2a4 ]. % 27.62/27.79 exact (zenon_H1fa zenon_H1f9). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2a4); [ zenon_intro zenon_H155 | zenon_intro zenon_H2a5 ]. % 27.62/27.79 exact (zenon_H155 zenon_H159). % 27.62/27.79 exact (zenon_H2a2 zenon_H2a5). % 27.62/27.79 apply (zenon_L265_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (succ (succ (n0))) (succ (n0))) = (gt (succ (succ (n0))) (n1))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1fa. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1f5. % 27.62/27.79 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 exact (zenon_H61 successor_1). % 27.62/27.79 apply (zenon_L148_); trivial. % 27.62/27.79 (* end of lemma zenon_L266_ *) % 27.62/27.79 assert (zenon_L267_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_H2a2 zenon_Hbe zenon_H8d zenon_H63 zenon_Hd8 zenon_H2f8. % 27.62/27.79 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.62/27.79 apply (zenon_L82_); trivial. % 27.62/27.79 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2a2. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H8d. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.62/27.79 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1ec. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1eb zenon_H1ef). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.62/27.79 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.62/27.79 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.62/27.79 generalize (zenon_H1f2 zenon_TA_dx). zenon_intro zenon_H2d4. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2d5 ]. % 27.62/27.79 exact (zenon_H1e7 zenon_H1f0). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d6 ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 cut ((gt (succ (succ (n0))) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2a2. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2d6. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 apply (zenon_L266_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L267_ *) % 27.62/27.79 assert (zenon_L268_ : forall (zenon_TA_dx : zenon_U), ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((tptp_minus_1) = (n3))) -> (~(gt (n0) (succ (succ (n0))))) -> (~(gt (n2) (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hbe zenon_H8d zenon_H63 zenon_Hd8 zenon_H2f8 zenon_H202 zenon_H6b. % 27.62/27.79 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.62/27.79 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.62/27.79 cut ((gt (succ (succ (n0))) (n3)) = (gt (n2) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H202. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H2a5. % 27.62/27.79 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.62/27.79 cut (((n2) = (n2)) = ((succ (succ (n0))) = (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1e0. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H200. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1dd zenon_H1dc). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H55. apply refl_equal. % 27.62/27.79 apply (zenon_L267_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1dd. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L268_ *) % 27.62/27.79 assert (zenon_L269_ : forall (zenon_TA_dx : zenon_U), (~(gt (n0) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> ((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). % 27.62/27.79 do 1 intro. intros zenon_H2f8 zenon_Hd8 zenon_H63 zenon_H8d zenon_Hbe zenon_H6b zenon_H1fe. % 27.62/27.79 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.62/27.79 apply (zenon_L268_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1fe. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_3_2. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.62/27.79 apply zenon_H212. zenon_intro zenon_H213. % 27.62/27.79 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.62/27.79 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H210. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H200. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H20f zenon_H213). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 apply zenon_H211. zenon_intro zenon_H205. % 27.62/27.79 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.62/27.79 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.62/27.79 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.62/27.79 exact (zenon_H202 zenon_H205). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.62/27.79 exact (zenon_H78 gt_3_2). % 27.62/27.79 exact (zenon_H1fe zenon_H217). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L269_ *) % 27.62/27.79 assert (zenon_L270_ : forall (zenon_TA_dx : zenon_U), (~(gt zenon_TA_dx (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.62/27.79 do 1 intro. intros zenon_H22f zenon_H6b zenon_H23f zenon_Hd8 zenon_H63 zenon_H8d. % 27.62/27.79 elim (classic ((~((succ (n0)) = (n3)))/\(~(gt (succ (n0)) (n3))))); [ zenon_intro zenon_H339 | zenon_intro zenon_H33a ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H339). zenon_intro zenon_H33b. zenon_intro zenon_H289. % 27.62/27.79 elim (classic ((~((succ (n0)) = (succ (tptp_minus_1))))/\(~(gt (succ (n0)) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H165 | zenon_intro zenon_H166 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H167. zenon_intro zenon_H5b. % 27.62/27.79 apply (zenon_L5_); trivial. % 27.62/27.79 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.62/27.79 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (n0)) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H289. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H8d. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (tptp_minus_1)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_Hf8]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H169 | zenon_intro zenon_H168 ]. % 27.62/27.79 apply zenon_H169. zenon_intro zenon_H16a. % 27.62/27.79 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0))) = ((succ (tptp_minus_1)) = (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hf8. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H5f. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 cut (((succ (n0)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H167]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H167 zenon_H16a). % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H168. zenon_intro zenon_H16b. % 27.62/27.79 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.62/27.79 generalize (zenon_H11d (succ (tptp_minus_1))). zenon_intro zenon_H16c. % 27.62/27.79 generalize (zenon_H16c zenon_TA_dx). zenon_intro zenon_H16d. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H5b | zenon_intro zenon_H16e ]. % 27.62/27.79 exact (zenon_H5b zenon_H16b). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H16f ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 cut ((gt (succ (n0)) zenon_TA_dx) = (gt (succ (n0)) (n3))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H289. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H16f. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 apply (zenon_L263_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n3) (n2)) = (gt (succ (n0)) (n2))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H23f. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_3_2. % 27.62/27.79 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.62/27.79 cut (((n3) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H33c]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H33a); [ zenon_intro zenon_H33e | zenon_intro zenon_H33d ]. % 27.62/27.79 apply zenon_H33e. zenon_intro zenon_H33f. % 27.62/27.79 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0))) = ((n3) = (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H33c. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H5f. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 cut (((succ (n0)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H33b]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H33b zenon_H33f). % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H33d. zenon_intro zenon_H288. % 27.62/27.79 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.62/27.79 generalize (zenon_H11d (n3)). zenon_intro zenon_H2b5. % 27.62/27.79 generalize (zenon_H2b5 (n2)). zenon_intro zenon_H340. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H340); [ zenon_intro zenon_H289 | zenon_intro zenon_H341 ]. % 27.62/27.79 exact (zenon_H289 zenon_H288). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H341); [ zenon_intro zenon_H78 | zenon_intro zenon_H244 ]. % 27.62/27.79 exact (zenon_H78 gt_3_2). % 27.62/27.79 exact (zenon_H23f zenon_H244). % 27.62/27.79 apply zenon_H56. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L270_ *) % 27.62/27.79 assert (zenon_L271_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (succ (n0))))) -> (~(gt (succ (n0)) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hd8 zenon_H8d zenon_H63 zenon_H22f zenon_H2b4 zenon_H6b. % 27.62/27.79 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.62/27.79 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.62/27.79 cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2b4. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H244. % 27.62/27.79 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 exact (zenon_H1dd zenon_H1dc). % 27.62/27.79 apply (zenon_L270_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H1dd. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H1de. % 27.62/27.79 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.62/27.79 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H1e0 successor_2). % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 apply zenon_H1df. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L271_ *) % 27.62/27.79 assert (zenon_L272_ : forall (zenon_TA_dx : zenon_U), (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~((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_TA_dx (n1))) -> False). % 27.62/27.79 do 1 intro. intros zenon_H63 zenon_H8d zenon_Hd8 zenon_H6b zenon_H138. % 27.62/27.79 elim (classic ((~(zenon_TA_dx = (n3)))/\(~(gt zenon_TA_dx (n3))))); [ zenon_intro zenon_H2e8 | zenon_intro zenon_H2e9 ]. % 27.62/27.79 apply (zenon_and_s _ _ zenon_H2e8). zenon_intro zenon_Ha5. zenon_intro zenon_H2d3. % 27.62/27.79 apply (zenon_L241_ zenon_TA_dx); trivial. % 27.62/27.79 cut ((gt (n3) (n1)) = (gt zenon_TA_dx (n1))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H138. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact gt_3_1. % 27.62/27.79 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.62/27.79 cut (((n3) = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H2ea]. % 27.62/27.79 congruence. % 27.62/27.79 apply (zenon_notand_s _ _ zenon_H2e9); [ zenon_intro zenon_H2ec | zenon_intro zenon_H2eb ]. % 27.62/27.79 apply zenon_H2ec. zenon_intro zenon_Had. % 27.62/27.79 elim (classic (zenon_TA_dx = zenon_TA_dx)); [ zenon_intro zenon_Hb9 | zenon_intro zenon_H97 ]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx) = ((n3) = zenon_TA_dx)). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H2ea. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_Hb9. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_Ha5 zenon_Had). % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 apply zenon_H2eb. zenon_intro zenon_H2d7. % 27.62/27.79 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.62/27.79 generalize (zenon_H134 (n3)). zenon_intro zenon_H2ed. % 27.62/27.79 generalize (zenon_H2ed (n1)). zenon_intro zenon_H342. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H342); [ zenon_intro zenon_H2d3 | zenon_intro zenon_H343 ]. % 27.62/27.79 exact (zenon_H2d3 zenon_H2d7). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_H343); [ zenon_intro zenon_H164 | zenon_intro zenon_H170 ]. % 27.62/27.79 exact (zenon_H164 gt_3_1). % 27.62/27.79 exact (zenon_H138 zenon_H170). % 27.62/27.79 apply zenon_H57. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L272_ *) % 27.62/27.79 assert (zenon_L273_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (succ (n0)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.62/27.79 do 1 intro. intros zenon_Hd8 zenon_H8d zenon_H63 zenon_Hf9 zenon_H6b. % 27.62/27.79 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.62/27.79 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.62/27.79 cut ((gt zenon_TA_dx (n1)) = (gt zenon_TA_dx (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_Hf9. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H170. % 27.62/27.79 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.62/27.79 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.62/27.79 congruence. % 27.62/27.79 apply zenon_H97. apply refl_equal. % 27.62/27.79 exact (zenon_H5e zenon_H10a). % 27.62/27.79 apply (zenon_L272_ zenon_TA_dx); trivial. % 27.62/27.79 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.62/27.79 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.62/27.79 intro zenon_D_pnotp. % 27.62/27.79 apply zenon_H5e. % 27.62/27.79 rewrite <- zenon_D_pnotp. % 27.62/27.79 exact zenon_H5f. % 27.62/27.79 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.62/27.79 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.62/27.79 congruence. % 27.62/27.79 exact (zenon_H61 successor_1). % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 apply zenon_H60. apply refl_equal. % 27.62/27.79 (* end of lemma zenon_L273_ *) % 27.62/27.79 assert (zenon_L274_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (n0)))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.62/27.79 do 1 intro. intros zenon_H6b zenon_Hfa zenon_Hd8 zenon_H8d zenon_H63. % 27.62/27.79 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.62/27.79 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.79 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.62/27.79 generalize (zenon_Hc2 (succ (n0))). zenon_intro zenon_Hfc. % 27.62/27.79 apply (zenon_imply_s _ _ zenon_Hfc); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hfd ]. % 27.62/27.79 exact (zenon_Ha1 zenon_H8d). % 27.62/27.79 apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_Hf9 | zenon_intro zenon_Hfe ]. % 27.62/27.79 exact (zenon_Hf9 zenon_Hfb). % 27.62/27.79 exact (zenon_Hfa zenon_Hfe). % 27.62/27.79 apply (zenon_L273_ zenon_TA_dx); trivial. % 27.62/27.79 (* end of lemma zenon_L274_ *) % 27.62/27.79 assert (zenon_L275_ : forall (zenon_TA_dx : 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_TA_dx (succ (succ (n0))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (~((tptp_minus_1) = (n3))) -> False). % 27.62/27.80 do 1 intro. intros zenon_H6b zenon_H22f zenon_H1db zenon_H63 zenon_H8d zenon_Hd8. % 27.62/27.80 elim (classic (gt (succ (tptp_minus_1)) (succ (n0)))); [ zenon_intro zenon_Hfe | zenon_intro zenon_Hfa ]. % 27.62/27.80 elim (classic (gt (succ (tptp_minus_1)) (n1))); [ zenon_intro zenon_H173 | zenon_intro zenon_H176 ]. % 27.62/27.80 elim (classic (gt (n1) (succ (succ (n0))))); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e1 ]. % 27.62/27.80 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.62/27.80 generalize (zenon_Hc1 (n1)). zenon_intro zenon_H1c3. % 27.62/27.80 generalize (zenon_H1c3 (succ (succ (n0)))). zenon_intro zenon_H2cf. % 27.62/27.80 apply (zenon_imply_s _ _ zenon_H2cf); [ zenon_intro zenon_H176 | zenon_intro zenon_H2d0 ]. % 27.62/27.80 exact (zenon_H176 zenon_H173). % 27.62/27.80 apply (zenon_imply_s _ _ zenon_H2d0); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ]. % 27.62/27.80 exact (zenon_H1e1 zenon_H1e6). % 27.62/27.80 exact (zenon_H1db zenon_H1e2). % 27.62/27.80 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.64/27.80 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.64/27.80 cut ((gt (succ (n0)) (succ (succ (n0)))) = (gt (n1) (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H1e1. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H2b8. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((n1) = (n1))); [ zenon_intro zenon_H10d | zenon_intro zenon_H57 ]. % 27.64/27.80 cut (((n1) = (n1)) = ((succ (n0)) = (n1))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H61. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H10d. % 27.64/27.80 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.64/27.80 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H5e zenon_H10a). % 27.64/27.80 apply zenon_H57. apply refl_equal. % 27.64/27.80 apply zenon_H57. apply refl_equal. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 apply (zenon_L271_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.64/27.80 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H5e. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H5f. % 27.64/27.80 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.64/27.80 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H61 successor_1). % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 cut ((gt (succ (tptp_minus_1)) (succ (n0))) = (gt (succ (tptp_minus_1)) (n1))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H176. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hfe. % 27.64/27.80 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 exact (zenon_H61 successor_1). % 27.64/27.80 apply (zenon_L274_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L275_ *) % 27.64/27.80 assert (zenon_L276_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (n0))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H1db zenon_Hd8 zenon_H8d zenon_H63. % 27.64/27.80 elim (classic (gt zenon_TA_dx (succ (succ (n0))))); [ zenon_intro zenon_H232 | zenon_intro zenon_H22f ]. % 27.64/27.80 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.64/27.80 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.64/27.80 generalize (zenon_Hc2 (succ (succ (n0)))). zenon_intro zenon_H2b9. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2b9); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2ba ]. % 27.64/27.80 exact (zenon_Ha1 zenon_H8d). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2ba); [ zenon_intro zenon_H22f | zenon_intro zenon_H1e2 ]. % 27.64/27.80 exact (zenon_H22f zenon_H232). % 27.64/27.80 exact (zenon_H1db zenon_H1e2). % 27.64/27.80 apply (zenon_L275_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L276_ *) % 27.64/27.80 assert (zenon_L277_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.64/27.80 do 1 intro. intros zenon_Hd8 zenon_Hbe zenon_H8d zenon_H63 zenon_H2f3 zenon_H6b. % 27.64/27.80 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.64/27.80 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (n0))))); [ zenon_intro zenon_H1e2 | zenon_intro zenon_H1db ]. % 27.64/27.80 elim (classic (gt (n0) (succ (succ (n0))))); [ zenon_intro zenon_H2f9 | zenon_intro zenon_H2f8 ]. % 27.64/27.80 cut ((gt (n0) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H2f3. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H2f9. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 cut ((gt (succ (tptp_minus_1)) (succ (succ (n0)))) = (gt (n0) (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H2f8. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1e2. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.64/27.80 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hb3. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hba. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H5a zenon_H59). % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 apply (zenon_L276_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H5a. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hb2. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hb3 succ_tptp_minus_1). % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L277_ *) % 27.64/27.80 assert (zenon_L278_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (sum (n0) (tptp_minus_1) zenon_E) (sum (n0) (tptp_minus_1) zenon_E))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_Hcc zenon_Hbe zenon_H63 zenon_H8d. % 27.64/27.80 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.64/27.80 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))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hcc. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hcd. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.64/27.80 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.64/27.80 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hce. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1a5. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 exact (zenon_Hc7 zenon_Hc6). % 27.64/27.80 apply (zenon_L230_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L278_ *) % 27.64/27.80 assert (zenon_L279_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H109 zenon_Hd8 zenon_Hbe zenon_H63 zenon_H8d. % 27.64/27.80 elim (classic (gt (n0) (n1))); [ zenon_intro zenon_H127 | zenon_intro zenon_H123 ]. % 27.64/27.80 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.64/27.80 generalize (zenon_H128 (n0)). zenon_intro zenon_H129. % 27.64/27.80 generalize (zenon_H129 (n1)). zenon_intro zenon_H12a. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H12a); [ zenon_intro zenon_H12c | zenon_intro zenon_H12b ]. % 27.64/27.80 exact (zenon_H12c gt_1_0). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H12b); [ zenon_intro zenon_H123 | zenon_intro zenon_H12d ]. % 27.64/27.80 exact (zenon_H123 zenon_H127). % 27.64/27.80 exact (zenon_H109 zenon_H12d). % 27.64/27.80 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.64/27.80 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.64/27.80 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.64/27.80 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))); [ zenon_intro zenon_H19f | zenon_intro zenon_H191 ]. % 27.64/27.80 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.64/27.80 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.64/27.80 generalize (zenon_H1d2 (n1)). zenon_intro zenon_H23d. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H23d); [ zenon_intro zenon_Hce | zenon_intro zenon_H23e ]. % 27.64/27.80 exact (zenon_Hce zenon_Hcd). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H23e); [ zenon_intro zenon_H191 | zenon_intro zenon_H127 ]. % 27.64/27.80 exact (zenon_H191 zenon_H19f). % 27.64/27.80 exact (zenon_H123 zenon_H127). % 27.64/27.80 elim (classic ((~((sum (n0) (tptp_minus_1) zenon_E) = (n2)))/\(~(gt (sum (n0) (tptp_minus_1) zenon_E) (n2))))); [ zenon_intro zenon_H31f | zenon_intro zenon_H320 ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H31f). zenon_intro zenon_H322. zenon_intro zenon_H321. % 27.64/27.80 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0))))); [ zenon_intro zenon_H2f7 | zenon_intro zenon_H2f3 ]. % 27.64/27.80 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (n0)))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n2))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H321. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H2f7. % 27.64/27.80 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 exact (zenon_H1e0 successor_2). % 27.64/27.80 apply (zenon_L277_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n2) (n1)) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n1))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H191. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact gt_2_1. % 27.64/27.80 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.64/27.80 cut (((n2) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_H323]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H320); [ zenon_intro zenon_H325 | zenon_intro zenon_H324 ]. % 27.64/27.80 apply zenon_H325. zenon_intro zenon_H326. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n2) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H323. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H322]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H322 zenon_H326). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_H324. zenon_intro zenon_H327. % 27.64/27.80 generalize (zenon_H6b (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H194. % 27.64/27.80 generalize (zenon_H194 (n2)). zenon_intro zenon_H328. % 27.64/27.80 generalize (zenon_H328 (n1)). zenon_intro zenon_H329. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H329); [ zenon_intro zenon_H321 | zenon_intro zenon_H32a ]. % 27.64/27.80 exact (zenon_H321 zenon_H327). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H32a); [ zenon_intro zenon_H71 | zenon_intro zenon_H19f ]. % 27.64/27.80 exact (zenon_H71 gt_2_1). % 27.64/27.80 exact (zenon_H191 zenon_H19f). % 27.64/27.80 apply zenon_H57. apply refl_equal. % 27.64/27.80 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hce. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1a5. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 exact (zenon_Hc7 zenon_Hc6). % 27.64/27.80 apply (zenon_L230_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L279_ *) % 27.64/27.80 assert (zenon_L280_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n1) (n1))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H109 zenon_Hd8 zenon_Hbe zenon_H63 zenon_H8d. % 27.64/27.80 apply (zenon_L279_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L280_ *) % 27.64/27.80 assert (zenon_L281_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H202 zenon_H8d zenon_H63 zenon_Hbe zenon_Hd8. % 27.64/27.80 elim (classic (gt (n1) (n3))); [ zenon_intro zenon_H159 | zenon_intro zenon_H155 ]. % 27.64/27.80 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.64/27.80 generalize (zenon_H6d (n1)). zenon_intro zenon_H6e. % 27.64/27.80 generalize (zenon_H6e (n3)). zenon_intro zenon_H203. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H203); [ zenon_intro zenon_H71 | zenon_intro zenon_H204 ]. % 27.64/27.80 exact (zenon_H71 gt_2_1). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H204); [ zenon_intro zenon_H155 | zenon_intro zenon_H205 ]. % 27.64/27.80 exact (zenon_H155 zenon_H159). % 27.64/27.80 exact (zenon_H202 zenon_H205). % 27.64/27.80 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.64/27.80 elim (classic (gt (n1) (n1))); [ zenon_intro zenon_H12d | zenon_intro zenon_H109 ]. % 27.64/27.80 elim (classic (gt (n1) (succ (n0)))); [ zenon_intro zenon_H12e | zenon_intro zenon_H12f ]. % 27.64/27.80 elim (classic (gt (succ (n0)) (n3))); [ zenon_intro zenon_H288 | zenon_intro zenon_H289 ]. % 27.64/27.80 generalize (zenon_H6b (n1)). zenon_intro zenon_H128. % 27.64/27.80 generalize (zenon_H128 (succ (n0))). zenon_intro zenon_H245. % 27.64/27.80 generalize (zenon_H245 (n3)). zenon_intro zenon_H28a. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H28a); [ zenon_intro zenon_H12f | zenon_intro zenon_H28b ]. % 27.64/27.80 exact (zenon_H12f zenon_H12e). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H28b); [ zenon_intro zenon_H289 | zenon_intro zenon_H159 ]. % 27.64/27.80 exact (zenon_H289 zenon_H288). % 27.64/27.80 exact (zenon_H155 zenon_H159). % 27.64/27.80 apply (zenon_L234_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n1) (n1)) = (gt (n1) (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H12f. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H12d. % 27.64/27.80 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.64/27.80 cut (((n1) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H57]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H57. apply refl_equal. % 27.64/27.80 exact (zenon_H5e zenon_H10a). % 27.64/27.80 apply (zenon_L280_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.64/27.80 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H5e. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H5f. % 27.64/27.80 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.64/27.80 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H61 successor_1). % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L281_ *) % 27.64/27.80 assert (zenon_L282_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n3) (n3))) -> (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H284 zenon_Hd8 zenon_Hbe zenon_H63 zenon_H8d. % 27.64/27.80 elim (classic (gt (n2) (n3))); [ zenon_intro zenon_H205 | zenon_intro zenon_H202 ]. % 27.64/27.80 generalize (zenon_H6b (n3)). zenon_intro zenon_H74. % 27.64/27.80 generalize (zenon_H74 (n2)). zenon_intro zenon_H75. % 27.64/27.80 generalize (zenon_H75 (n3)). zenon_intro zenon_H285. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H78 | zenon_intro zenon_H286 ]. % 27.64/27.80 exact (zenon_H78 gt_3_2). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H202 | zenon_intro zenon_H287 ]. % 27.64/27.80 exact (zenon_H202 zenon_H205). % 27.64/27.80 exact (zenon_H284 zenon_H287). % 27.64/27.80 apply (zenon_L281_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L282_ *) % 27.64/27.80 assert (zenon_L283_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (succ (n0))) (n3))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H2a2 zenon_Hd8 zenon_H8d zenon_H63. % 27.64/27.80 elim (classic ((~((succ (succ (n0))) = (succ (tptp_minus_1))))/\(~(gt (succ (succ (n0))) (succ (tptp_minus_1)))))); [ zenon_intro zenon_H1e9 | zenon_intro zenon_H1ea ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H1e9). zenon_intro zenon_H1eb. zenon_intro zenon_H1e7. % 27.64/27.80 apply (zenon_L82_); trivial. % 27.64/27.80 elim (classic (zenon_TA_dx = (n3))); [ zenon_intro zenon_Had | zenon_intro zenon_Ha5 ]. % 27.64/27.80 cut ((gt (succ (tptp_minus_1)) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H2a2. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H8d. % 27.64/27.80 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1ec]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H1ea); [ zenon_intro zenon_H1ee | zenon_intro zenon_H1ed ]. % 27.64/27.80 apply zenon_H1ee. zenon_intro zenon_H1ef. % 27.64/27.80 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((succ (tptp_minus_1)) = (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H1ec. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1de. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H1eb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H1eb zenon_H1ef). % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 apply zenon_H1ed. zenon_intro zenon_H1f0. % 27.64/27.80 generalize (zenon_H6b (succ (succ (n0)))). zenon_intro zenon_H1f1. % 27.64/27.80 generalize (zenon_H1f1 (succ (tptp_minus_1))). zenon_intro zenon_H1f2. % 27.64/27.80 generalize (zenon_H1f2 zenon_TA_dx). zenon_intro zenon_H2d4. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2d4); [ zenon_intro zenon_H1e7 | zenon_intro zenon_H2d5 ]. % 27.64/27.80 exact (zenon_H1e7 zenon_H1f0). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H2d6 ]. % 27.64/27.80 exact (zenon_Ha1 zenon_H8d). % 27.64/27.80 cut ((gt (succ (succ (n0))) zenon_TA_dx) = (gt (succ (succ (n0))) (n3))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H2a2. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H2d6. % 27.64/27.80 cut ((zenon_TA_dx = (n3))); [idtac | apply NNPP; zenon_intro zenon_Ha5]. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 exact (zenon_Ha5 zenon_Had). % 27.64/27.80 exact (zenon_Ha5 zenon_Had). % 27.64/27.80 apply (zenon_L233_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L283_ *) % 27.64/27.80 assert (zenon_L284_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt (succ (succ (n0))) (succ (succ (succ (n0)))))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> False). % 27.64/27.80 do 1 intro. intros zenon_Hd8 zenon_H8d zenon_H63 zenon_H20b zenon_H6b. % 27.64/27.80 elim (classic ((n3) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H207 | zenon_intro zenon_H88 ]. % 27.64/27.80 elim (classic (gt (succ (succ (n0))) (n3))); [ zenon_intro zenon_H2a5 | zenon_intro zenon_H2a2 ]. % 27.64/27.80 cut ((gt (succ (succ (n0))) (n3)) = (gt (succ (succ (n0))) (succ (succ (succ (n0)))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H20b. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H2a5. % 27.64/27.80 cut (((n3) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H88]. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 exact (zenon_H88 zenon_H207). % 27.64/27.80 apply (zenon_L283_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [ zenon_intro zenon_H208 | zenon_intro zenon_H209 ]. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0))))) = ((n3) = (succ (succ (succ (n0)))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H88. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H208. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H20a successor_3). % 27.64/27.80 apply zenon_H209. apply refl_equal. % 27.64/27.80 apply zenon_H209. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L284_ *) % 27.64/27.80 assert (zenon_L285_ : forall (zenon_TA_dx : zenon_U), (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (~((tptp_minus_1) = (n3))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n2) (n2))) -> False). % 27.64/27.80 do 1 intro. intros zenon_H8d zenon_H63 zenon_Hbe zenon_Hd8 zenon_H6b zenon_H1fe. % 27.64/27.80 elim (classic ((~((n2) = (n3)))/\(~(gt (n2) (n3))))); [ zenon_intro zenon_H20d | zenon_intro zenon_H20e ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H20d). zenon_intro zenon_H20f. zenon_intro zenon_H202. % 27.64/27.80 apply (zenon_L281_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n3) (n2)) = (gt (n2) (n2))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H1fe. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact gt_3_2. % 27.64/27.80 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.64/27.80 cut (((n3) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H210]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H20e); [ zenon_intro zenon_H212 | zenon_intro zenon_H211 ]. % 27.64/27.80 apply zenon_H212. zenon_intro zenon_H213. % 27.64/27.80 elim (classic ((n2) = (n2))); [ zenon_intro zenon_H200 | zenon_intro zenon_H56 ]. % 27.64/27.80 cut (((n2) = (n2)) = ((n3) = (n2))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H210. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H200. % 27.64/27.80 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.64/27.80 cut (((n2) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20f]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H20f zenon_H213). % 27.64/27.80 apply zenon_H56. apply refl_equal. % 27.64/27.80 apply zenon_H56. apply refl_equal. % 27.64/27.80 apply zenon_H211. zenon_intro zenon_H205. % 27.64/27.80 generalize (zenon_H6b (n2)). zenon_intro zenon_H6d. % 27.64/27.80 generalize (zenon_H6d (n3)). zenon_intro zenon_H214. % 27.64/27.80 generalize (zenon_H214 (n2)). zenon_intro zenon_H215. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H215); [ zenon_intro zenon_H202 | zenon_intro zenon_H216 ]. % 27.64/27.80 exact (zenon_H202 zenon_H205). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H216); [ zenon_intro zenon_H78 | zenon_intro zenon_H217 ]. % 27.64/27.80 exact (zenon_H78 gt_3_2). % 27.64/27.80 exact (zenon_H1fe zenon_H217). % 27.64/27.80 apply zenon_H56. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L285_ *) % 27.64/27.80 assert (zenon_L286_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (n0)) (n2))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~((tptp_minus_1) = (n3))) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H23f zenon_H8d zenon_H63 zenon_Hd8. % 27.64/27.80 elim (classic ((~((succ (n0)) = (n3)))/\(~(gt (succ (n0)) (n3))))); [ zenon_intro zenon_H339 | zenon_intro zenon_H33a ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H339). zenon_intro zenon_H33b. zenon_intro zenon_H289. % 27.64/27.80 apply (zenon_L234_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n3) (n2)) = (gt (succ (n0)) (n2))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H23f. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact gt_3_2. % 27.64/27.80 cut (((n2) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H56]. % 27.64/27.80 cut (((n3) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H33c]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H33a); [ zenon_intro zenon_H33e | zenon_intro zenon_H33d ]. % 27.64/27.80 apply zenon_H33e. zenon_intro zenon_H33f. % 27.64/27.80 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.64/27.80 cut (((succ (n0)) = (succ (n0))) = ((n3) = (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H33c. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H5f. % 27.64/27.80 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.64/27.80 cut (((succ (n0)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H33b]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H33b zenon_H33f). % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 apply zenon_H33d. zenon_intro zenon_H288. % 27.64/27.80 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.64/27.80 generalize (zenon_H11d (n3)). zenon_intro zenon_H2b5. % 27.64/27.80 generalize (zenon_H2b5 (n2)). zenon_intro zenon_H340. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H340); [ zenon_intro zenon_H289 | zenon_intro zenon_H341 ]. % 27.64/27.80 exact (zenon_H289 zenon_H288). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H341); [ zenon_intro zenon_H78 | zenon_intro zenon_H244 ]. % 27.64/27.80 exact (zenon_H78 gt_3_2). % 27.64/27.80 exact (zenon_H23f zenon_H244). % 27.64/27.80 apply zenon_H56. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L286_ *) % 27.64/27.80 assert (zenon_L287_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> (~(gt zenon_TA_dx (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). % 27.64/27.80 do 1 intro. intros zenon_Hd8 zenon_H8d zenon_H63 zenon_H27a zenon_H6b. % 27.64/27.80 elim (classic ((n1) = (succ (n0)))); [ zenon_intro zenon_H10a | zenon_intro zenon_H5e ]. % 27.64/27.80 elim (classic (gt zenon_TA_dx (n1))); [ zenon_intro zenon_H170 | zenon_intro zenon_H138 ]. % 27.64/27.80 elim (classic (gt zenon_TA_dx (succ (n0)))); [ zenon_intro zenon_Hfb | zenon_intro zenon_Hf9 ]. % 27.64/27.80 elim (classic (gt (succ (n0)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H283 | zenon_intro zenon_H27e ]. % 27.64/27.80 generalize (zenon_H6b zenon_TA_dx). zenon_intro zenon_H134. % 27.64/27.80 generalize (zenon_H134 (succ (n0))). zenon_intro zenon_H344. % 27.64/27.80 generalize (zenon_H344 (succ (succ (succ (n0))))). zenon_intro zenon_H345. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H345); [ zenon_intro zenon_Hf9 | zenon_intro zenon_H346 ]. % 27.64/27.80 exact (zenon_Hf9 zenon_Hfb). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H346); [ zenon_intro zenon_H27e | zenon_intro zenon_H27d ]. % 27.64/27.80 exact (zenon_H27e zenon_H283). % 27.64/27.80 exact (zenon_H27a zenon_H27d). % 27.64/27.80 elim (classic ((n2) = (succ (succ (n0))))); [ zenon_intro zenon_H1dc | zenon_intro zenon_H1dd ]. % 27.64/27.80 elim (classic (gt (succ (n0)) (n2))); [ zenon_intro zenon_H244 | zenon_intro zenon_H23f ]. % 27.64/27.80 elim (classic (gt (succ (n0)) (succ (succ (n0))))); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b4 ]. % 27.64/27.80 elim (classic (gt (succ (succ (n0))) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H219 | zenon_intro zenon_H20b ]. % 27.64/27.80 generalize (zenon_H6b (succ (n0))). zenon_intro zenon_H11d. % 27.64/27.80 generalize (zenon_H11d (succ (succ (n0)))). zenon_intro zenon_H347. % 27.64/27.80 generalize (zenon_H347 (succ (succ (succ (n0))))). zenon_intro zenon_H348. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H348); [ zenon_intro zenon_H2b4 | zenon_intro zenon_H349 ]. % 27.64/27.80 exact (zenon_H2b4 zenon_H2b8). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H349); [ zenon_intro zenon_H20b | zenon_intro zenon_H283 ]. % 27.64/27.80 exact (zenon_H20b zenon_H219). % 27.64/27.80 exact (zenon_H27e zenon_H283). % 27.64/27.80 apply (zenon_L284_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (succ (n0)) (n2)) = (gt (succ (n0)) (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H2b4. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H244. % 27.64/27.80 cut (((n2) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1dd]. % 27.64/27.80 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 exact (zenon_H1dd zenon_H1dc). % 27.64/27.80 apply (zenon_L286_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (succ (n0))) = (succ (succ (n0))))); [ zenon_intro zenon_H1de | zenon_intro zenon_H1df ]. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0)))) = ((n2) = (succ (succ (n0))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H1dd. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1de. % 27.64/27.80 cut (((succ (succ (n0))) = (succ (succ (n0))))); [idtac | apply NNPP; zenon_intro zenon_H1df]. % 27.64/27.80 cut (((succ (succ (n0))) = (n2))); [idtac | apply NNPP; zenon_intro zenon_H1e0]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H1e0 successor_2). % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 apply zenon_H1df. apply refl_equal. % 27.64/27.80 cut ((gt zenon_TA_dx (n1)) = (gt zenon_TA_dx (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hf9. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H170. % 27.64/27.80 cut (((n1) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H5e]. % 27.64/27.80 cut ((zenon_TA_dx = zenon_TA_dx)); [idtac | apply NNPP; zenon_intro zenon_H97]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H97. apply refl_equal. % 27.64/27.80 exact (zenon_H5e zenon_H10a). % 27.64/27.80 apply (zenon_L272_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (n0)) = (succ (n0)))); [ zenon_intro zenon_H5f | zenon_intro zenon_H60 ]. % 27.64/27.80 cut (((succ (n0)) = (succ (n0))) = ((n1) = (succ (n0)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H5e. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H5f. % 27.64/27.80 cut (((succ (n0)) = (succ (n0)))); [idtac | apply NNPP; zenon_intro zenon_H60]. % 27.64/27.80 cut (((succ (n0)) = (n1))); [idtac | apply NNPP; zenon_intro zenon_H61]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H61 successor_1). % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 apply zenon_H60. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L287_ *) % 27.64/27.80 assert (zenon_L288_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))) -> (~((tptp_minus_1) = (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H218 zenon_Hd8 zenon_H8d zenon_H63. % 27.64/27.80 elim (classic (gt zenon_TA_dx (succ (succ (succ (n0)))))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27a ]. % 27.64/27.80 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.64/27.80 generalize (zenon_Hc1 zenon_TA_dx). zenon_intro zenon_Hc2. % 27.64/27.80 generalize (zenon_Hc2 (succ (succ (succ (n0))))). zenon_intro zenon_H27f. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H27f); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H280 ]. % 27.64/27.80 exact (zenon_Ha1 zenon_H8d). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H280); [ zenon_intro zenon_H27a | zenon_intro zenon_H21d ]. % 27.64/27.80 exact (zenon_H27a zenon_H27d). % 27.64/27.80 exact (zenon_H218 zenon_H21d). % 27.64/27.80 apply (zenon_L287_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L288_ *) % 27.64/27.80 assert (zenon_L289_ : forall (zenon_TA_dx : zenon_U), (~((tptp_minus_1) = (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (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). % 27.64/27.80 do 1 intro. intros zenon_Hd8 zenon_Hbe zenon_H8d zenon_H63 zenon_H28e zenon_H6b. % 27.64/27.80 elim (classic ((n0) = (succ (tptp_minus_1)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ]. % 27.64/27.80 elim (classic (gt (succ (tptp_minus_1)) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H21d | zenon_intro zenon_H218 ]. % 27.64/27.80 elim (classic (gt (n0) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28f | zenon_intro zenon_H290 ]. % 27.64/27.80 cut ((gt (n0) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H28e. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H28f. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_H209. apply refl_equal. % 27.64/27.80 cut ((gt (succ (tptp_minus_1)) (succ (succ (succ (n0))))) = (gt (n0) (succ (succ (succ (n0)))))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H290. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H21d. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (succ (succ (succ (n0)))))); [idtac | apply NNPP; zenon_intro zenon_H209]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.64/27.80 congruence. % 27.64/27.80 elim (classic ((n0) = (n0))); [ zenon_intro zenon_Hba | zenon_intro zenon_H62 ]. % 27.64/27.80 cut (((n0) = (n0)) = ((succ (tptp_minus_1)) = (n0))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hb3. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hba. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 cut (((n0) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5a]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H5a zenon_H59). % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 apply zenon_H209. apply refl_equal. % 27.64/27.80 apply (zenon_L288_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n0) = (succ (tptp_minus_1)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H5a. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hb2. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hb3]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hb3 succ_tptp_minus_1). % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L289_ *) % 27.64/27.80 assert (zenon_L290_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (n0) (n3))) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> (gt (succ zenon_TA_dx) (n0)) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H154 zenon_Hbe zenon_H63 zenon_H8d. % 27.64/27.80 elim (classic ((tptp_minus_1) = (n3))); [ zenon_intro zenon_Hf6 | zenon_intro zenon_Hd8 ]. % 27.64/27.80 cut ((gt (n0) (tptp_minus_1)) = (gt (n0) (n3))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H154. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact gt_0_tptp_minus_1. % 27.64/27.80 cut (((tptp_minus_1) = (n3))); [idtac | apply NNPP; zenon_intro zenon_Hd8]. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 exact (zenon_Hd8 zenon_Hf6). % 27.64/27.80 elim (classic ((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hc7 ]. % 27.64/27.80 elim (classic (gt (n0) (n0))); [ zenon_intro zenon_H1a5 | zenon_intro zenon_Hcf ]. % 27.64/27.80 elim (classic (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hcd | zenon_intro zenon_Hce ]. % 27.64/27.80 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))); [ zenon_intro zenon_H296 | zenon_intro zenon_H28c ]. % 27.64/27.80 generalize (zenon_H6b (n0)). zenon_intro zenon_H105. % 27.64/27.80 generalize (zenon_H105 (sum (n0) (tptp_minus_1) zenon_E)). zenon_intro zenon_H1d2. % 27.64/27.80 generalize (zenon_H1d2 (n3)). zenon_intro zenon_H2cb. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2cb); [ zenon_intro zenon_Hce | zenon_intro zenon_H2cc ]. % 27.64/27.80 exact (zenon_Hce zenon_Hcd). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2cc); [ zenon_intro zenon_H28c | zenon_intro zenon_H156 ]. % 27.64/27.80 exact (zenon_H28c zenon_H296). % 27.64/27.80 exact (zenon_H154 zenon_H156). % 27.64/27.80 elim (classic (gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0)))))); [ zenon_intro zenon_H28d | zenon_intro zenon_H28e ]. % 27.64/27.80 cut ((gt (sum (n0) (tptp_minus_1) zenon_E) (succ (succ (succ (n0))))) = (gt (sum (n0) (tptp_minus_1) zenon_E) (n3))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H28c. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H28d. % 27.64/27.80 cut (((succ (succ (succ (n0)))) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H20a]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 exact (zenon_H20a successor_3). % 27.64/27.80 apply (zenon_L289_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n0) (n0)) = (gt (n0) (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hce. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H1a5. % 27.64/27.80 cut (((n0) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hc7]. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 congruence. % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 exact (zenon_Hc7 zenon_Hc6). % 27.64/27.80 apply (zenon_L230_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic ((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hca ]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E)) = ((n0) = (sum (n0) (tptp_minus_1) zenon_E))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Hc7. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hc9. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (sum (n0) (tptp_minus_1) zenon_E))); [idtac | apply NNPP; zenon_intro zenon_Hca]. % 27.64/27.80 cut (((sum (n0) (tptp_minus_1) zenon_E) = (n0))); [idtac | apply NNPP; zenon_intro zenon_Hcb]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_Hcb zenon_Hbe). % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 apply zenon_Hca. apply refl_equal. % 27.64/27.80 (* end of lemma zenon_L290_ *) % 27.64/27.80 assert (zenon_L291_ : forall (zenon_TA_dx : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((gt x y)->((gt y z)->(gt x z)))))) -> (~(gt (succ (tptp_minus_1)) (n3))) -> (gt (succ (tptp_minus_1)) zenon_TA_dx) -> (gt (succ zenon_TA_dx) (n0)) -> ((sum (n0) (tptp_minus_1) zenon_E) = (n0)) -> False). % 27.64/27.80 do 1 intro. intros zenon_H6b zenon_H220 zenon_H8d zenon_H63 zenon_Hbe. % 27.64/27.80 elim (classic ((~((succ (tptp_minus_1)) = (succ zenon_TA_dx)))/\(~(gt (succ (tptp_minus_1)) (succ zenon_TA_dx))))); [ zenon_intro zenon_H24a | zenon_intro zenon_H24b ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H24a). zenon_intro zenon_H24c. zenon_intro zenon_H1c6. % 27.64/27.80 apply (zenon_L220_ zenon_TA_dx); trivial. % 27.64/27.80 elim (classic (gt (n0) (n3))); [ zenon_intro zenon_H156 | zenon_intro zenon_H154 ]. % 27.64/27.80 generalize (zenon_H6b (succ zenon_TA_dx)). zenon_intro zenon_H113. % 27.64/27.80 generalize (zenon_H113 (n0)). zenon_intro zenon_H114. % 27.64/27.80 generalize (zenon_H114 (n3)). zenon_intro zenon_H24d. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H24d); [ zenon_intro zenon_H69 | zenon_intro zenon_H24e ]. % 27.64/27.80 exact (zenon_H69 zenon_H63). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H24e); [ zenon_intro zenon_H154 | zenon_intro zenon_H24f ]. % 27.64/27.80 exact (zenon_H154 zenon_H156). % 27.64/27.80 cut ((gt (succ zenon_TA_dx) (n3)) = (gt (succ (tptp_minus_1)) (n3))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H220. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_H24f. % 27.64/27.80 cut (((n3) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H55]. % 27.64/27.80 cut (((succ zenon_TA_dx) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H250]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H24b); [ zenon_intro zenon_H252 | zenon_intro zenon_H251 ]. % 27.64/27.80 apply zenon_H252. zenon_intro zenon_H253. % 27.64/27.80 apply zenon_H250. apply sym_equal. exact zenon_H253. % 27.64/27.80 apply zenon_H251. zenon_intro zenon_H1ca. % 27.64/27.80 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.64/27.80 generalize (zenon_Hc1 (succ zenon_TA_dx)). zenon_intro zenon_H254. % 27.64/27.80 generalize (zenon_H254 (n3)). zenon_intro zenon_H255. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H1c6 | zenon_intro zenon_H256 ]. % 27.64/27.80 exact (zenon_H1c6 zenon_H1ca). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H256); [ zenon_intro zenon_H257 | zenon_intro zenon_H224 ]. % 27.64/27.80 exact (zenon_H257 zenon_H24f). % 27.64/27.80 exact (zenon_H220 zenon_H224). % 27.64/27.80 apply zenon_H55. apply refl_equal. % 27.64/27.80 apply (zenon_L290_ zenon_TA_dx); trivial. % 27.64/27.80 (* end of lemma zenon_L291_ *) % 27.64/27.80 apply NNPP. intro zenon_G. % 27.64/27.80 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_H6b | zenon_intro zenon_H34a ]. % 27.64/27.80 apply (zenon_notallex_s (fun A : zenon_U => (((leq (n0) A)/\(leq A (tptp_minus_1)))->((sum (n0) (n4) (a_select3 (q) A (tptp_sum_index))) = (n1)))) zenon_G); [ zenon_intro zenon_H34b; idtac ]. % 27.64/27.80 elim zenon_H34b. zenon_intro zenon_TA_dx. zenon_intro zenon_H34c. % 27.64/27.80 apply (zenon_notimply_s _ _ zenon_H34c). zenon_intro zenon_H34e. zenon_intro zenon_H34d. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H34e). zenon_intro zenon_H68. zenon_intro zenon_H34f. % 27.64/27.80 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.64/27.80 generalize (zenon_H66 zenon_TA_dx). zenon_intro zenon_H67. % 27.64/27.80 apply (zenon_equiv_s _ _ zenon_H67); [ zenon_intro zenon_H64; zenon_intro zenon_H69 | zenon_intro zenon_H68; zenon_intro zenon_H63 ]. % 27.64/27.80 exact (zenon_H64 zenon_H68). % 27.64/27.80 generalize (leq_succ_gt_equiv zenon_TA_dx). zenon_intro zenon_H8f. % 27.64/27.80 generalize (zenon_H8f (tptp_minus_1)). zenon_intro zenon_H350. % 27.64/27.80 apply (zenon_equiv_s _ _ zenon_H350); [ zenon_intro zenon_H351; zenon_intro zenon_Ha1 | zenon_intro zenon_H34f; zenon_intro zenon_H8d ]. % 27.64/27.80 exact (zenon_H351 zenon_H34f). % 27.64/27.80 generalize (sum_plus_base zenon_E). zenon_intro zenon_Hbe. % 27.64/27.80 generalize (finite_domain_0 (tptp_minus_1)). zenon_intro zenon_H1ba. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H1bb | zenon_intro zenon_Hf3 ]. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H1bb); [ zenon_intro zenon_Hdd | zenon_intro zenon_H1a6 ]. % 27.64/27.80 generalize (leq_succ_gt_equiv (n0)). zenon_intro zenon_H66. % 27.64/27.80 generalize (zenon_H66 (tptp_minus_1)). zenon_intro zenon_Hde. % 27.64/27.80 apply (zenon_equiv_s _ _ zenon_Hde); [ zenon_intro zenon_Hdd; zenon_intro zenon_Haf | zenon_intro zenon_Hdf; zenon_intro zenon_Hb1 ]. % 27.64/27.80 elim (classic ((~((succ (tptp_minus_1)) = (n3)))/\(~(gt (succ (tptp_minus_1)) (n3))))); [ zenon_intro zenon_H21e | zenon_intro zenon_H21f ]. % 27.64/27.80 apply (zenon_and_s _ _ zenon_H21e). zenon_intro zenon_H221. zenon_intro zenon_H220. % 27.64/27.80 apply (zenon_L291_ zenon_TA_dx); trivial. % 27.64/27.80 cut ((gt (n3) (n0)) = (gt (succ (tptp_minus_1)) (n0))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_Haf. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact gt_3_0. % 27.64/27.80 cut (((n0) = (n0))); [idtac | apply NNPP; zenon_intro zenon_H62]. % 27.64/27.80 cut (((n3) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H225]. % 27.64/27.80 congruence. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H21f); [ zenon_intro zenon_H227 | zenon_intro zenon_H226 ]. % 27.64/27.80 apply zenon_H227. zenon_intro zenon_H228. % 27.64/27.80 elim (classic ((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [ zenon_intro zenon_Hb2 | zenon_intro zenon_H5d ]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1))) = ((n3) = (succ (tptp_minus_1)))). % 27.64/27.80 intro zenon_D_pnotp. % 27.64/27.80 apply zenon_H225. % 27.64/27.80 rewrite <- zenon_D_pnotp. % 27.64/27.80 exact zenon_Hb2. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (succ (tptp_minus_1)))); [idtac | apply NNPP; zenon_intro zenon_H5d]. % 27.64/27.80 cut (((succ (tptp_minus_1)) = (n3))); [idtac | apply NNPP; zenon_intro zenon_H221]. % 27.64/27.80 congruence. % 27.64/27.80 exact (zenon_H221 zenon_H228). % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 apply zenon_H5d. apply refl_equal. % 27.64/27.80 apply zenon_H226. zenon_intro zenon_H224. % 27.64/27.80 generalize (zenon_H6b (succ (tptp_minus_1))). zenon_intro zenon_Hc1. % 27.64/27.80 generalize (zenon_Hc1 (n3)). zenon_intro zenon_H229. % 27.64/27.80 generalize (zenon_H229 (n0)). zenon_intro zenon_H2e6. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2e6); [ zenon_intro zenon_H220 | zenon_intro zenon_H2e7 ]. % 27.64/27.80 exact (zenon_H220 zenon_H224). % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H2e7); [ zenon_intro zenon_H188 | zenon_intro zenon_Hb1 ]. % 27.64/27.80 exact (zenon_H188 gt_3_0). % 27.64/27.80 exact (zenon_Haf zenon_Hb1). % 27.64/27.80 apply zenon_H62. apply refl_equal. % 27.64/27.80 exact (zenon_Hdd zenon_Hdf). % 27.64/27.80 apply (zenon_L66_); trivial. % 27.64/27.80 apply (zenon_L232_ zenon_TA_dx); trivial. % 27.64/27.80 apply zenon_H34a. zenon_intro zenon_Tx_bgs. apply NNPP. zenon_intro zenon_H353. % 27.64/27.80 apply zenon_H353. zenon_intro zenon_Ty_bgu. apply NNPP. zenon_intro zenon_H355. % 27.64/27.80 apply zenon_H355. zenon_intro zenon_Tz_bgw. apply NNPP. zenon_intro zenon_H357. % 27.64/27.80 apply (zenon_notimply_s _ _ zenon_H357). zenon_intro zenon_H359. zenon_intro zenon_H358. % 27.64/27.80 apply (zenon_notimply_s _ _ zenon_H358). zenon_intro zenon_H35b. zenon_intro zenon_H35a. % 27.64/27.80 generalize (transitivity_gt zenon_Tx_bgs). zenon_intro zenon_H35c. % 27.64/27.80 generalize (zenon_H35c zenon_Ty_bgu). zenon_intro zenon_H35d. % 27.64/27.80 generalize (zenon_H35d zenon_Tz_bgw). zenon_intro zenon_H35e. % 27.64/27.80 apply (zenon_imply_s _ _ zenon_H35e); [ zenon_intro zenon_H360 | zenon_intro zenon_H35f ]. % 27.64/27.80 apply (zenon_notand_s _ _ zenon_H360); [ zenon_intro zenon_H362 | zenon_intro zenon_H361 ]. % 27.64/27.80 exact (zenon_H362 zenon_H359). % 27.64/27.80 exact (zenon_H361 zenon_H35b). % 27.64/27.80 exact (zenon_H35a zenon_H35f). % 27.64/27.80 Qed. % 27.64/27.80 % SZS output end Proof % 27.64/27.80 (* END-PROOF *) % 27.64/27.80 nodes searched: 1981170 % 27.64/27.80 max branch formulas: 6471 % 27.64/27.80 proof nodes created: 4374 % 27.64/27.80 formulas created: 729906 % 27.64/27.80 %------------------------------------------------------------------------------