TSTP Solution File: MGT039+2 by Zenon---0.7.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : MGT039+2 : TPTP v8.1.0. Released v2.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n021.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 : Sun Jul 17 22:31:07 EDT 2022

% Result   : Theorem 76.79s 76.99s
% Output   : Proof 76.79s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.08/0.13  % Problem  : MGT039+2 : TPTP v8.1.0. Released v2.0.0.
% 0.08/0.13  % Command  : run_zenon %s %d
% 0.13/0.35  % Computer : n021.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit : 300
% 0.13/0.35  % WCLimit  : 600
% 0.13/0.35  % DateTime : Thu Jun  9 12:03:38 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 76.79/76.99  (* PROOF-FOUND *)
% 76.79/76.99  % SZS status Theorem
% 76.79/76.99  (* BEGIN-PROOF *)
% 76.79/76.99  % SZS output start Proof
% 76.79/76.99  Theorem prove_t8 : (forall P : zenon_U, (((observational_period P)/\(slow_change P))->(selection_favors (efficient_producers) (first_movers) P))).
% 76.79/76.99  Proof.
% 76.79/76.99  assert (zenon_L1_ : forall (zenon_TT_z : zenon_U) (zenon_TE_ba : zenon_U), (in_environment zenon_TE_ba zenon_TT_z) -> (environment zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (~(greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))) -> (greater zenon_TT_z (critical_point zenon_TE_ba)) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H13 zenon_H14 zenon_H15 zenon_H16 zenon_H17 zenon_H18.
% 76.79/76.99  elim (classic ((~((end_time zenon_TE_ba) = zenon_TT_z))/\(~(greater (end_time zenon_TE_ba) zenon_TT_z)))); [ zenon_intro zenon_H1b | zenon_intro zenon_H1c ].
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H1b). zenon_intro zenon_H1e. zenon_intro zenon_H1d.
% 76.79/76.99  generalize (zenon_H15 zenon_TT_z). zenon_intro zenon_H1f.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H1f); [ zenon_intro zenon_H21 | zenon_intro zenon_H20 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H21); [ zenon_intro zenon_H23 | zenon_intro zenon_H22 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  exact (zenon_H22 zenon_H13).
% 76.79/76.99  generalize (mp_greater_or_equal (end_time zenon_TE_ba)). zenon_intro zenon_H24.
% 76.79/76.99  generalize (zenon_H24 zenon_TT_z). zenon_intro zenon_H25.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H25); [ zenon_intro zenon_H28; zenon_intro zenon_H27 | zenon_intro zenon_H20; zenon_intro zenon_H26 ].
% 76.79/76.99  exact (zenon_H28 zenon_H20).
% 76.79/76.99  apply (zenon_or_s _ _ zenon_H26); [ zenon_intro zenon_H2a | zenon_intro zenon_H29 ].
% 76.79/76.99  exact (zenon_H1d zenon_H2a).
% 76.79/76.99  exact (zenon_H1e zenon_H29).
% 76.79/76.99  cut ((greater zenon_TT_z (critical_point zenon_TE_ba)) = (greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H17.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H18.
% 76.79/76.99  cut (((critical_point zenon_TE_ba) = (critical_point zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H2b].
% 76.79/76.99  cut ((zenon_TT_z = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 76.79/76.99  congruence.
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H1c); [ zenon_intro zenon_H2e | zenon_intro zenon_H2d ].
% 76.79/76.99  apply zenon_H2e. zenon_intro zenon_H29.
% 76.79/76.99  elim (classic ((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba)) = (zenon_TT_z = (end_time zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H2c.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H2f.
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = zenon_TT_z)); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 76.79/76.99  congruence.
% 76.79/76.99  exact (zenon_H1e zenon_H29).
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H2d. zenon_intro zenon_H2a.
% 76.79/76.99  generalize (zenon_H16 (end_time zenon_TE_ba)). zenon_intro zenon_H31.
% 76.79/76.99  generalize (zenon_H31 zenon_TT_z). zenon_intro zenon_H32.
% 76.79/76.99  generalize (zenon_H32 (critical_point zenon_TE_ba)). zenon_intro zenon_H33.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H33); [ zenon_intro zenon_H1d | zenon_intro zenon_H34 ].
% 76.79/76.99  exact (zenon_H1d zenon_H2a).
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H34); [ zenon_intro zenon_H36 | zenon_intro zenon_H35 ].
% 76.79/76.99  exact (zenon_H36 zenon_H18).
% 76.79/76.99  exact (zenon_H17 zenon_H35).
% 76.79/76.99  apply zenon_H2b. apply refl_equal.
% 76.79/76.99  (* end of lemma zenon_L1_ *)
% 76.79/76.99  assert (zenon_L2_ : forall (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (exists T : zenon_U, ((in_environment zenon_TE_ba T)/\(greater T (critical_point zenon_TE_ba)))) -> (~(greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))) -> (environment zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> False).
% 76.79/76.99  do 1 intro. intros zenon_H16 zenon_H37 zenon_H17 zenon_H14 zenon_H15.
% 76.79/76.99  elim zenon_H37. zenon_intro zenon_TT_z. zenon_intro zenon_H38.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H38). zenon_intro zenon_H13. zenon_intro zenon_H18.
% 76.79/76.99  apply (zenon_L1_ zenon_TT_z zenon_TE_ba); trivial.
% 76.79/76.99  (* end of lemma zenon_L2_ *)
% 76.79/76.99  assert (zenon_L3_ : forall (zenon_TE_ba : zenon_U) (zenon_TP_ci : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (observational_period zenon_TP_ci) -> (slow_change zenon_TP_ci) -> (environment zenon_TE_ba) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (~(greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H39 zenon_H3a zenon_H14 zenon_H3b zenon_H17 zenon_H15.
% 76.79/76.99  generalize (mp4_critical_point zenon_TP_ci). zenon_intro zenon_H3d.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H3d); [ zenon_intro zenon_H3f | zenon_intro zenon_H3e ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H3f); [ zenon_intro zenon_H41 | zenon_intro zenon_H40 ].
% 76.79/76.99  exact (zenon_H41 zenon_H39).
% 76.79/76.99  exact (zenon_H40 zenon_H3a).
% 76.79/76.99  generalize (zenon_H3e zenon_TE_ba). zenon_intro zenon_H42.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H42); [ zenon_intro zenon_H43 | zenon_intro zenon_H37 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H43); [ zenon_intro zenon_H23 | zenon_intro zenon_H44 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  exact (zenon_H44 zenon_H3b).
% 76.79/76.99  apply (zenon_L2_ zenon_TE_ba); trivial.
% 76.79/76.99  (* end of lemma zenon_L3_ *)
% 76.79/76.99  assert (zenon_L4_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (environment zenon_TE_ba) -> (~(greater (end_time zenon_TE_ba) (start_time zenon_TE_ba))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H14 zenon_H45 zenon_H15 zenon_H3b zenon_H3a zenon_H39.
% 76.79/76.99  generalize (mp_time_of_critical_point zenon_TE_ba). zenon_intro zenon_H46.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H46); [ zenon_intro zenon_H23 | zenon_intro zenon_H47 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  generalize (mp_greater_or_equal (critical_point zenon_TE_ba)). zenon_intro zenon_H48.
% 76.79/76.99  generalize (zenon_H48 (start_time zenon_TE_ba)). zenon_intro zenon_H49.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H49); [ zenon_intro zenon_H4c; zenon_intro zenon_H4b | zenon_intro zenon_H47; zenon_intro zenon_H4a ].
% 76.79/76.99  exact (zenon_H4c zenon_H47).
% 76.79/76.99  apply (zenon_or_s _ _ zenon_H4a); [ zenon_intro zenon_H4e | zenon_intro zenon_H4d ].
% 76.79/76.99  elim (classic ((~((end_time zenon_TE_ba) = (critical_point zenon_TE_ba)))/\(~(greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))))); [ zenon_intro zenon_H4f | zenon_intro zenon_H50 ].
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H4f). zenon_intro zenon_H51. zenon_intro zenon_H17.
% 76.79/76.99  apply (zenon_L3_ zenon_TE_ba zenon_TP_ci); trivial.
% 76.79/76.99  cut ((greater (critical_point zenon_TE_ba) (start_time zenon_TE_ba)) = (greater (end_time zenon_TE_ba) (start_time zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H45.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H4e.
% 76.79/76.99  cut (((start_time zenon_TE_ba) = (start_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 76.79/76.99  cut (((critical_point zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 76.79/76.99  congruence.
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H50); [ zenon_intro zenon_H55 | zenon_intro zenon_H54 ].
% 76.79/76.99  apply zenon_H55. zenon_intro zenon_H56.
% 76.79/76.99  elim (classic ((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba)) = ((critical_point zenon_TE_ba) = (end_time zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H53.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H2f.
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (critical_point zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 76.79/76.99  congruence.
% 76.79/76.99  exact (zenon_H51 zenon_H56).
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H54. zenon_intro zenon_H35.
% 76.79/76.99  generalize (zenon_H16 (end_time zenon_TE_ba)). zenon_intro zenon_H31.
% 76.79/76.99  generalize (zenon_H31 (critical_point zenon_TE_ba)). zenon_intro zenon_H57.
% 76.79/76.99  generalize (zenon_H57 (start_time zenon_TE_ba)). zenon_intro zenon_H58.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H58); [ zenon_intro zenon_H17 | zenon_intro zenon_H59 ].
% 76.79/76.99  exact (zenon_H17 zenon_H35).
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H59); [ zenon_intro zenon_H5b | zenon_intro zenon_H5a ].
% 76.79/76.99  exact (zenon_H5b zenon_H4e).
% 76.79/76.99  exact (zenon_H45 zenon_H5a).
% 76.79/76.99  apply zenon_H52. apply refl_equal.
% 76.79/76.99  elim (classic (greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))); [ zenon_intro zenon_H35 | zenon_intro zenon_H17 ].
% 76.79/76.99  cut ((greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba)) = (greater (end_time zenon_TE_ba) (start_time zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H45.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H35.
% 76.79/76.99  cut (((critical_point zenon_TE_ba) = (start_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H5c].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 76.79/76.99  congruence.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  exact (zenon_H5c zenon_H4d).
% 76.79/76.99  apply (zenon_L3_ zenon_TE_ba zenon_TP_ci); trivial.
% 76.79/76.99  (* end of lemma zenon_L4_ *)
% 76.79/76.99  assert (zenon_L5_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (environment zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> (~(greater_or_equal (end_time zenon_TE_ba) (start_time zenon_TE_ba))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H14 zenon_H15 zenon_H3b zenon_H3a zenon_H39 zenon_H5d.
% 76.79/76.99  generalize (mp_greater_or_equal (end_time zenon_TE_ba)). zenon_intro zenon_H24.
% 76.79/76.99  generalize (zenon_H24 (start_time zenon_TE_ba)). zenon_intro zenon_H5e.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H5e); [ zenon_intro zenon_H5d; zenon_intro zenon_H61 | zenon_intro zenon_H60; zenon_intro zenon_H5f ].
% 76.79/76.99  apply (zenon_notor_s _ _ zenon_H61). zenon_intro zenon_H45. zenon_intro zenon_H62.
% 76.79/76.99  apply (zenon_L4_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H5d zenon_H60).
% 76.79/76.99  (* end of lemma zenon_L5_ *)
% 76.79/76.99  assert (zenon_L6_ : forall (zenon_TE_ba : zenon_U), (~(greater_or_equal (end_time zenon_TE_ba) (end_time zenon_TE_ba))) -> False).
% 76.79/76.99  do 1 intro. intros zenon_H63.
% 76.79/76.99  generalize (mp_greater_or_equal (end_time zenon_TE_ba)). zenon_intro zenon_H24.
% 76.79/76.99  generalize (zenon_H24 (end_time zenon_TE_ba)). zenon_intro zenon_H64.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H64); [ zenon_intro zenon_H63; zenon_intro zenon_H67 | zenon_intro zenon_H66; zenon_intro zenon_H65 ].
% 76.79/76.99  apply (zenon_notor_s _ _ zenon_H67). zenon_intro zenon_H68. zenon_intro zenon_H30.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  exact (zenon_H63 zenon_H66).
% 76.79/76.99  (* end of lemma zenon_L6_ *)
% 76.79/76.99  assert (zenon_L7_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((greater_or_equal T (start_time zenon_TE_ba))/\(greater_or_equal (end_time zenon_TE_ba) T)))->(in_environment zenon_TE_ba T))) -> (environment zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> (~(in_environment zenon_TE_ba (end_time zenon_TE_ba))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H69 zenon_H14 zenon_H15 zenon_H3b zenon_H3a zenon_H39 zenon_H6a.
% 76.79/76.99  generalize (zenon_H69 (end_time zenon_TE_ba)). zenon_intro zenon_H6b.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H6d | zenon_intro zenon_H6c ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H23 | zenon_intro zenon_H6e ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6e); [ zenon_intro zenon_H5d | zenon_intro zenon_H63 ].
% 76.79/76.99  apply (zenon_L5_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L6_ zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H6a zenon_H6c).
% 76.79/76.99  (* end of lemma zenon_L7_ *)
% 76.79/76.99  assert (zenon_L8_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (environment zenon_TE_ba) -> (~(greater (end_time zenon_TE_ba) (appear (efficient_producers) zenon_TE_ba))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H14 zenon_H6f zenon_H15 zenon_H3b zenon_H3a zenon_H39.
% 76.79/76.99  generalize (mp_critical_point_after_EP zenon_TE_ba). zenon_intro zenon_H70.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H70); [ zenon_intro zenon_H23 | zenon_intro zenon_H71 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  generalize (mp_greater_or_equal (critical_point zenon_TE_ba)). zenon_intro zenon_H48.
% 76.79/76.99  generalize (zenon_H48 (appear (efficient_producers) zenon_TE_ba)). zenon_intro zenon_H72.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H72); [ zenon_intro zenon_H75; zenon_intro zenon_H74 | zenon_intro zenon_H71; zenon_intro zenon_H73 ].
% 76.79/76.99  exact (zenon_H75 zenon_H71).
% 76.79/76.99  apply (zenon_or_s _ _ zenon_H73); [ zenon_intro zenon_H77 | zenon_intro zenon_H76 ].
% 76.79/76.99  elim (classic ((~((end_time zenon_TE_ba) = (critical_point zenon_TE_ba)))/\(~(greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))))); [ zenon_intro zenon_H4f | zenon_intro zenon_H50 ].
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H4f). zenon_intro zenon_H51. zenon_intro zenon_H17.
% 76.79/76.99  apply (zenon_L3_ zenon_TE_ba zenon_TP_ci); trivial.
% 76.79/76.99  cut ((greater (critical_point zenon_TE_ba) (appear (efficient_producers) zenon_TE_ba)) = (greater (end_time zenon_TE_ba) (appear (efficient_producers) zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H6f.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H77.
% 76.79/76.99  cut (((appear (efficient_producers) zenon_TE_ba) = (appear (efficient_producers) zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 76.79/76.99  cut (((critical_point zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 76.79/76.99  congruence.
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H50); [ zenon_intro zenon_H55 | zenon_intro zenon_H54 ].
% 76.79/76.99  apply zenon_H55. zenon_intro zenon_H56.
% 76.79/76.99  elim (classic ((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [ zenon_intro zenon_H2f | zenon_intro zenon_H30 ].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba)) = ((critical_point zenon_TE_ba) = (end_time zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H53.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H2f.
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (critical_point zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H51].
% 76.79/76.99  congruence.
% 76.79/76.99  exact (zenon_H51 zenon_H56).
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  apply zenon_H54. zenon_intro zenon_H35.
% 76.79/76.99  generalize (zenon_H16 (end_time zenon_TE_ba)). zenon_intro zenon_H31.
% 76.79/76.99  generalize (zenon_H31 (critical_point zenon_TE_ba)). zenon_intro zenon_H57.
% 76.79/76.99  generalize (zenon_H57 (appear (efficient_producers) zenon_TE_ba)). zenon_intro zenon_H79.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H79); [ zenon_intro zenon_H17 | zenon_intro zenon_H7a ].
% 76.79/76.99  exact (zenon_H17 zenon_H35).
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H7a); [ zenon_intro zenon_H7c | zenon_intro zenon_H7b ].
% 76.79/76.99  exact (zenon_H7c zenon_H77).
% 76.79/76.99  exact (zenon_H6f zenon_H7b).
% 76.79/76.99  apply zenon_H78. apply refl_equal.
% 76.79/76.99  elim (classic (greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba))); [ zenon_intro zenon_H35 | zenon_intro zenon_H17 ].
% 76.79/76.99  cut ((greater (end_time zenon_TE_ba) (critical_point zenon_TE_ba)) = (greater (end_time zenon_TE_ba) (appear (efficient_producers) zenon_TE_ba))).
% 76.79/76.99  intro zenon_D_pnotp.
% 76.79/76.99  apply zenon_H6f.
% 76.79/76.99  rewrite <- zenon_D_pnotp.
% 76.79/76.99  exact zenon_H35.
% 76.79/76.99  cut (((critical_point zenon_TE_ba) = (appear (efficient_producers) zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H7d].
% 76.79/76.99  cut (((end_time zenon_TE_ba) = (end_time zenon_TE_ba))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 76.79/76.99  congruence.
% 76.79/76.99  apply zenon_H30. apply refl_equal.
% 76.79/76.99  exact (zenon_H7d zenon_H76).
% 76.79/76.99  apply (zenon_L3_ zenon_TE_ba zenon_TP_ci); trivial.
% 76.79/76.99  (* end of lemma zenon_L8_ *)
% 76.79/76.99  assert (zenon_L9_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((in_environment zenon_TE_ba T)/\(greater_or_equal T (appear (efficient_producers) zenon_TE_ba))))->(greater (cardinality_at_time (efficient_producers) T) (zero)))) -> (environment zenon_TE_ba) -> (in_environment zenon_TE_ba (end_time zenon_TE_ba)) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> (~(greater (cardinality_at_time (efficient_producers) (end_time zenon_TE_ba)) (zero))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H7e zenon_H14 zenon_H6c zenon_H15 zenon_H3b zenon_H3a zenon_H39 zenon_H7f.
% 76.79/76.99  generalize (zenon_H7e (end_time zenon_TE_ba)). zenon_intro zenon_H80.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H82 | zenon_intro zenon_H81 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H82); [ zenon_intro zenon_H23 | zenon_intro zenon_H83 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H83); [ zenon_intro zenon_H6a | zenon_intro zenon_H84 ].
% 76.79/76.99  exact (zenon_H6a zenon_H6c).
% 76.79/76.99  generalize (mp_greater_or_equal (end_time zenon_TE_ba)). zenon_intro zenon_H24.
% 76.79/76.99  generalize (zenon_H24 (appear (efficient_producers) zenon_TE_ba)). zenon_intro zenon_H85.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_H85); [ zenon_intro zenon_H84; zenon_intro zenon_H88 | zenon_intro zenon_H87; zenon_intro zenon_H86 ].
% 76.79/76.99  apply (zenon_notor_s _ _ zenon_H88). zenon_intro zenon_H6f. zenon_intro zenon_H89.
% 76.79/76.99  apply (zenon_L8_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H84 zenon_H87).
% 76.79/76.99  exact (zenon_H7f zenon_H81).
% 76.79/76.99  (* end of lemma zenon_L9_ *)
% 76.79/76.99  assert (zenon_L10_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((in_environment zenon_TE_ba T)/\((greater (cardinality_at_time (first_movers) T) (zero))/\(greater (cardinality_at_time (efficient_producers) T) (zero)))))->(subpopulations (first_movers) (efficient_producers) zenon_TE_ba T))) -> (environment zenon_TE_ba) -> (in_environment zenon_TE_ba (end_time zenon_TE_ba)) -> (greater (cardinality_at_time (first_movers) (end_time zenon_TE_ba)) (zero)) -> (observational_period zenon_TP_ci) -> (slow_change zenon_TP_ci) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (~(subpopulations (first_movers) (efficient_producers) zenon_TE_ba (end_time zenon_TE_ba))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H8a zenon_H14 zenon_H6c zenon_H8b zenon_H39 zenon_H3a zenon_H3b zenon_H15 zenon_H8c.
% 76.79/76.99  generalize (zenon_H8a (end_time zenon_TE_ba)). zenon_intro zenon_H8d.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H8d); [ zenon_intro zenon_H8f | zenon_intro zenon_H8e ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H8f); [ zenon_intro zenon_H23 | zenon_intro zenon_H90 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H90); [ zenon_intro zenon_H6a | zenon_intro zenon_H91 ].
% 76.79/76.99  exact (zenon_H6a zenon_H6c).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H91); [ zenon_intro zenon_H92 | zenon_intro zenon_H7f ].
% 76.79/76.99  exact (zenon_H92 zenon_H8b).
% 76.79/76.99  generalize (t6 zenon_TE_ba). zenon_intro zenon_H7e.
% 76.79/76.99  apply (zenon_L9_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H8c zenon_H8e).
% 76.79/76.99  (* end of lemma zenon_L10_ *)
% 76.79/76.99  assert (zenon_L11_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (exists T : zenon_U, ((in_environment zenon_TE_ba T)/\(greater T (critical_point zenon_TE_ba)))) -> (forall Tc : zenon_U, (((environment zenon_TE_ba)/\(Tc = (critical_point zenon_TE_ba)))->((~(greater (growth_rate (efficient_producers) Tc) (growth_rate (first_movers) Tc)))/\(forall T : zenon_U, (((subpopulations (first_movers) (efficient_producers) zenon_TE_ba T)/\(greater T Tc))->(greater (growth_rate (efficient_producers) T) (growth_rate (first_movers) T))))))) -> (environment zenon_TE_ba) -> (~(greater (growth_rate (efficient_producers) (end_time zenon_TE_ba)) (growth_rate (first_movers) (end_time zenon_TE_ba)))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (slow_change zenon_TP_ci) -> (observational_period zenon_TP_ci) -> (greater (cardinality_at_time (first_movers) (end_time zenon_TE_ba)) (zero)) -> (in_environment zenon_TE_ba (end_time zenon_TE_ba)) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((in_environment zenon_TE_ba T)/\((greater (cardinality_at_time (first_movers) T) (zero))/\(greater (cardinality_at_time (efficient_producers) T) (zero)))))->(subpopulations (first_movers) (efficient_producers) zenon_TE_ba T))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H37 zenon_H93 zenon_H14 zenon_H94 zenon_H15 zenon_H3b zenon_H3a zenon_H39 zenon_H8b zenon_H6c zenon_H8a.
% 76.79/76.99  elim zenon_H37. zenon_intro zenon_TT_z. zenon_intro zenon_H38.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H38). zenon_intro zenon_H13. zenon_intro zenon_H18.
% 76.79/76.99  generalize (zenon_H93 (critical_point zenon_TE_ba)). zenon_intro zenon_H95.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H95); [ zenon_intro zenon_H97 | zenon_intro zenon_H96 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H97); [ zenon_intro zenon_H23 | zenon_intro zenon_H2b ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply zenon_H2b. apply refl_equal.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_H96). zenon_intro zenon_H99. zenon_intro zenon_H98.
% 76.79/76.99  generalize (zenon_H98 (end_time zenon_TE_ba)). zenon_intro zenon_H9a.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H9a); [ zenon_intro zenon_H9c | zenon_intro zenon_H9b ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H9c); [ zenon_intro zenon_H8c | zenon_intro zenon_H17 ].
% 76.79/76.99  apply (zenon_L10_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L1_ zenon_TT_z zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H94 zenon_H9b).
% 76.79/76.99  (* end of lemma zenon_L11_ *)
% 76.79/76.99  assert (zenon_L12_ : forall (zenon_TP_ci : zenon_U) (zenon_TE_ba : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z)))))) -> (greater_or_equal (cardinality_at_time (first_movers) (end_time zenon_TE_ba)) (zero)) -> (~((cardinality_at_time (first_movers) (end_time zenon_TE_ba)) = (zero))) -> (~(selection_favors (efficient_producers) (first_movers) (end_time zenon_TE_ba))) -> (forall Tc : zenon_U, (((environment zenon_TE_ba)/\(Tc = (critical_point zenon_TE_ba)))->((~(greater (growth_rate (efficient_producers) Tc) (growth_rate (first_movers) Tc)))/\(forall T : zenon_U, (((subpopulations (first_movers) (efficient_producers) zenon_TE_ba T)/\(greater T Tc))->(greater (growth_rate (efficient_producers) T) (growth_rate (first_movers) T))))))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((in_environment zenon_TE_ba T)/\((greater (cardinality_at_time (first_movers) T) (zero))/\(greater (cardinality_at_time (efficient_producers) T) (zero)))))->(subpopulations (first_movers) (efficient_producers) zenon_TE_ba T))) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((subpopulations (first_movers) (efficient_producers) zenon_TE_ba T)/\(greater (growth_rate (efficient_producers) T) (growth_rate (first_movers) T))))->(selection_favors (efficient_producers) (first_movers) T))) -> (observational_period zenon_TP_ci) -> (slow_change zenon_TP_ci) -> (in_environment zenon_TP_ci zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\(in_environment zenon_TE_ba T))->(greater_or_equal (end_time zenon_TE_ba) T))) -> (environment zenon_TE_ba) -> (forall T : zenon_U, (((environment zenon_TE_ba)/\((greater_or_equal T (start_time zenon_TE_ba))/\(greater_or_equal (end_time zenon_TE_ba) T)))->(in_environment zenon_TE_ba T))) -> False).
% 76.79/76.99  do 2 intro. intros zenon_H16 zenon_H9d zenon_H9e zenon_H9f zenon_H93 zenon_H8a zenon_Ha0 zenon_H39 zenon_H3a zenon_H3b zenon_H15 zenon_H14 zenon_H69.
% 76.79/76.99  generalize (mp_greater_or_equal (cardinality_at_time (first_movers) (end_time zenon_TE_ba))). zenon_intro zenon_Ha1.
% 76.79/76.99  generalize (zenon_Ha1 (zero)). zenon_intro zenon_Ha2.
% 76.79/76.99  apply (zenon_equiv_s _ _ zenon_Ha2); [ zenon_intro zenon_Ha5; zenon_intro zenon_Ha4 | zenon_intro zenon_H9d; zenon_intro zenon_Ha3 ].
% 76.79/76.99  exact (zenon_Ha5 zenon_H9d).
% 76.79/76.99  apply (zenon_or_s _ _ zenon_Ha3); [ zenon_intro zenon_H8b | zenon_intro zenon_Ha6 ].
% 76.79/76.99  generalize (zenon_H69 (end_time zenon_TE_ba)). zenon_intro zenon_H6b.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H6d | zenon_intro zenon_H6c ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H23 | zenon_intro zenon_H6e ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6e); [ zenon_intro zenon_H5d | zenon_intro zenon_H63 ].
% 76.79/76.99  apply (zenon_L5_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L6_ zenon_TE_ba); trivial.
% 76.79/76.99  generalize (zenon_Ha0 (end_time zenon_TE_ba)). zenon_intro zenon_Ha7.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Ha7); [ zenon_intro zenon_Ha9 | zenon_intro zenon_Ha8 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Ha9); [ zenon_intro zenon_H23 | zenon_intro zenon_Haa ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Haa); [ zenon_intro zenon_H8c | zenon_intro zenon_H94 ].
% 76.79/76.99  apply (zenon_L10_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  generalize (mp4_critical_point zenon_TP_ci). zenon_intro zenon_H3d.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H3d); [ zenon_intro zenon_H3f | zenon_intro zenon_H3e ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H3f); [ zenon_intro zenon_H41 | zenon_intro zenon_H40 ].
% 76.79/76.99  exact (zenon_H41 zenon_H39).
% 76.79/76.99  exact (zenon_H40 zenon_H3a).
% 76.79/76.99  generalize (zenon_H3e zenon_TE_ba). zenon_intro zenon_H42.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H42); [ zenon_intro zenon_H43 | zenon_intro zenon_H37 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H43); [ zenon_intro zenon_H23 | zenon_intro zenon_H44 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  exact (zenon_H44 zenon_H3b).
% 76.79/76.99  apply (zenon_L11_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H9f zenon_Ha8).
% 76.79/76.99  exact (zenon_H9e zenon_Ha6).
% 76.79/76.99  (* end of lemma zenon_L12_ *)
% 76.79/76.99  apply NNPP. intro zenon_G.
% 76.79/76.99  elim (classic (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((greater x y)->((greater y z)->(greater x z))))))); [ zenon_intro zenon_H16 | zenon_intro zenon_Hab ].
% 76.79/76.99  apply (zenon_notallex_s (fun P : zenon_U => (((observational_period P)/\(slow_change P))->(selection_favors (efficient_producers) (first_movers) P))) zenon_G); [ zenon_intro zenon_Hac; idtac ].
% 76.79/76.99  elim zenon_Hac. zenon_intro zenon_TP_ci. zenon_intro zenon_Had.
% 76.79/76.99  apply (zenon_notimply_s _ _ zenon_Had). zenon_intro zenon_Haf. zenon_intro zenon_Hae.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_Haf). zenon_intro zenon_H39. zenon_intro zenon_H3a.
% 76.79/76.99  generalize (mp3_favoured_trategy zenon_TP_ci). zenon_intro zenon_Hb0.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Hb0); [ zenon_intro zenon_Hb2 | zenon_intro zenon_Hb1 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hb2); [ zenon_intro zenon_H41 | zenon_intro zenon_Hb3 ].
% 76.79/76.99  exact (zenon_H41 zenon_H39).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hb3); [ zenon_intro zenon_Hb5 | zenon_intro zenon_Hb4 ].
% 76.79/76.99  exact (zenon_Hb5 mp_organizational_sets1).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hb4); [ zenon_intro zenon_Hb7 | zenon_intro zenon_Hb6 ].
% 76.79/76.99  exact (zenon_Hb7 mp_organizational_sets2).
% 76.79/76.99  apply (zenon_notallex_s (fun E : zenon_U => (((environment E)/\(in_environment zenon_TP_ci E))->(selection_favors (efficient_producers) (first_movers) (end_time E)))) zenon_Hb6); [ zenon_intro zenon_Hb8; idtac ].
% 76.79/76.99  elim zenon_Hb8. zenon_intro zenon_TE_ba. zenon_intro zenon_Hb9.
% 76.79/76.99  apply (zenon_notimply_s _ _ zenon_Hb9). zenon_intro zenon_Hba. zenon_intro zenon_H9f.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_H14. zenon_intro zenon_H3b.
% 76.79/76.99  generalize (mp_environment_end_point zenon_TE_ba). zenon_intro zenon_H15.
% 76.79/76.99  generalize (mp_time_in_environment zenon_TE_ba). zenon_intro zenon_H69.
% 76.79/76.99  generalize (mp2_favour_members zenon_TE_ba). zenon_intro zenon_Hbb.
% 76.79/76.99  generalize (zenon_Hbb (efficient_producers)). zenon_intro zenon_Hbc.
% 76.79/76.99  generalize (mp1_high_growth_rates zenon_TE_ba). zenon_intro zenon_Hbd.
% 76.79/76.99  generalize (zenon_Hbc (first_movers)). zenon_intro zenon_Hbe.
% 76.79/76.99  generalize (zenon_Hbd (first_movers)). zenon_intro zenon_Hbf.
% 76.79/76.99  generalize (mp_subpopulations zenon_TE_ba). zenon_intro zenon_Hc0.
% 76.79/76.99  generalize (zenon_Hbf (efficient_producers)). zenon_intro zenon_Ha0.
% 76.79/76.99  generalize (d1 zenon_TE_ba). zenon_intro zenon_H93.
% 76.79/76.99  generalize (mp_contains_FM_and_EP zenon_TE_ba). zenon_intro zenon_H8a.
% 76.79/76.99  generalize (zenon_Hbe (end_time zenon_TE_ba)). zenon_intro zenon_Hc1.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Ha8 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc2); [ zenon_intro zenon_H23 | zenon_intro zenon_Hc3 ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc3); [ zenon_intro zenon_Hc5 | zenon_intro zenon_Hc4 ].
% 76.79/76.99  generalize (zenon_Hc0 (end_time zenon_TE_ba)). zenon_intro zenon_Hc6.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc8); [ zenon_intro zenon_H23 | zenon_intro zenon_H6a ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_L7_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_Hc7). zenon_intro zenon_Hca. zenon_intro zenon_Hc9.
% 76.79/76.99  exact (zenon_Hc5 zenon_Hc9).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc4); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hcb ].
% 76.79/76.99  generalize (zenon_Hc0 (end_time zenon_TE_ba)). zenon_intro zenon_Hc6.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Hc6); [ zenon_intro zenon_Hc8 | zenon_intro zenon_Hc7 ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc8); [ zenon_intro zenon_H23 | zenon_intro zenon_H6a ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_L7_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_and_s _ _ zenon_Hc7). zenon_intro zenon_Hca. zenon_intro zenon_Hc9.
% 76.79/76.99  exact (zenon_Hcc zenon_Hca).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hcb); [ zenon_intro zenon_H7f | zenon_intro zenon_H9e ].
% 76.79/76.99  generalize (t6 zenon_TE_ba). zenon_intro zenon_H7e.
% 76.79/76.99  generalize (zenon_H69 (end_time zenon_TE_ba)). zenon_intro zenon_H6b.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H6d | zenon_intro zenon_H6c ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H23 | zenon_intro zenon_H6e ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6e); [ zenon_intro zenon_H5d | zenon_intro zenon_H63 ].
% 76.79/76.99  apply (zenon_L5_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L6_ zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L9_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  generalize (mp_first_movers_exist zenon_TE_ba). zenon_intro zenon_Hcd.
% 76.79/76.99  generalize (zenon_H69 (end_time zenon_TE_ba)). zenon_intro zenon_H6b.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H6d | zenon_intro zenon_H6c ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H23 | zenon_intro zenon_H6e ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_H6e); [ zenon_intro zenon_H5d | zenon_intro zenon_H63 ].
% 76.79/76.99  apply (zenon_L5_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  apply (zenon_L6_ zenon_TE_ba); trivial.
% 76.79/76.99  generalize (zenon_Hcd (end_time zenon_TE_ba)). zenon_intro zenon_Hce.
% 76.79/76.99  apply (zenon_imply_s _ _ zenon_Hce); [ zenon_intro zenon_Hc8 | zenon_intro zenon_H9d ].
% 76.79/76.99  apply (zenon_notand_s _ _ zenon_Hc8); [ zenon_intro zenon_H23 | zenon_intro zenon_H6a ].
% 76.79/76.99  exact (zenon_H23 zenon_H14).
% 76.79/76.99  exact (zenon_H6a zenon_H6c).
% 76.79/76.99  apply (zenon_L12_ zenon_TP_ci zenon_TE_ba); trivial.
% 76.79/76.99  exact (zenon_H9f zenon_Ha8).
% 76.79/76.99  exact (zenon_Hae zenon_Hb1).
% 76.79/76.99  apply zenon_Hab. zenon_intro zenon_Tx_hz. apply NNPP. zenon_intro zenon_Hd0.
% 76.79/76.99  apply zenon_Hd0. zenon_intro zenon_Ty_ib. apply NNPP. zenon_intro zenon_Hd2.
% 76.79/76.99  apply zenon_Hd2. zenon_intro zenon_Tz_id. apply NNPP. zenon_intro zenon_Hd4.
% 76.79/76.99  apply (zenon_notimply_s _ _ zenon_Hd4). zenon_intro zenon_Hd6. zenon_intro zenon_Hd5.
% 76.79/76.99  apply (zenon_notimply_s _ _ zenon_Hd5). zenon_intro zenon_Hd8. zenon_intro zenon_Hd7.
% 76.79/77.01  generalize (mp_greater_transitivity zenon_Tx_hz). zenon_intro zenon_Hd9.
% 76.79/77.01  generalize (zenon_Hd9 zenon_Ty_ib). zenon_intro zenon_Hda.
% 76.79/77.01  generalize (zenon_Hda zenon_Tz_id). zenon_intro zenon_Hdb.
% 76.79/77.01  apply (zenon_imply_s _ _ zenon_Hdb); [ zenon_intro zenon_Hdd | zenon_intro zenon_Hdc ].
% 76.79/77.01  apply (zenon_notand_s _ _ zenon_Hdd); [ zenon_intro zenon_Hdf | zenon_intro zenon_Hde ].
% 76.79/77.01  exact (zenon_Hdf zenon_Hd6).
% 76.79/77.01  exact (zenon_Hde zenon_Hd8).
% 76.79/77.01  exact (zenon_Hd7 zenon_Hdc).
% 76.79/77.01  Qed.
% 76.79/77.01  % SZS output end Proof
% 76.79/77.01  (* END-PROOF *)
% 76.79/77.01  nodes searched: 6178547
% 76.79/77.01  max branch formulas: 25139
% 76.79/77.01  proof nodes created: 18748
% 76.79/77.01  formulas created: 2866939
% 76.79/77.01  
%------------------------------------------------------------------------------