↑ Up

Zenon---0.7.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : SYN550+1 : TPTP v8.1.0. Released v2.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n005.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 : Thu Jul 21 13:54:16 EDT 2022

% Result   : Theorem 0.85s 1.02s
% Output   : Proof 0.85s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SYN550+1 : TPTP v8.1.0. Released v2.2.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n005.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 600
% 0.12/0.33  % DateTime : Tue Jul 12 03:55:36 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 0.85/1.02  (* PROOF-FOUND *)
% 0.85/1.02  % SZS status Theorem
% 0.85/1.02  (* BEGIN-PROOF *)
% 0.85/1.02  % SZS output start Proof
% 0.85/1.02  Theorem prove_this : ((exists X : zenon_U, ((reachable (initial_world) X)/\(forall Y : zenon_U, ((reachable X Y)->(p Y)))))<->(exists X : zenon_U, ((reachable (initial_world) X)/\(forall Y : zenon_U, ((reachable X Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W)))))))))).
% 0.85/1.02  Proof.
% 0.85/1.02  assert (zenon_L1_ : forall (zenon_TZ_h : zenon_U) (zenon_TZ_i : zenon_U) (zenon_TX_j : zenon_U), (reachable zenon_TX_j zenon_TZ_i) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_j zenon_TZ_h)) -> (reachable zenon_TZ_i zenon_TZ_h) -> False).
% 0.85/1.02  do 3 intro. intros zenon_H3 zenon_H4 zenon_H5 zenon_H6.
% 0.85/1.02  elim (classic ((~(zenon_TX_j = zenon_TZ_i))/\(~(reachable zenon_TX_j zenon_TZ_i)))); [ zenon_intro zenon_Ha | zenon_intro zenon_Hb ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Ha). zenon_intro zenon_Hd. zenon_intro zenon_Hc.
% 0.85/1.02  exact (zenon_Hc zenon_H3).
% 0.85/1.02  cut ((reachable zenon_TZ_i zenon_TZ_h) = (reachable zenon_TX_j zenon_TZ_h)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H5.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H6.
% 0.85/1.02  cut ((zenon_TZ_h = zenon_TZ_h)); [idtac | apply NNPP; zenon_intro zenon_He].
% 0.85/1.02  cut ((zenon_TZ_i = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Hb); [ zenon_intro zenon_H11 | zenon_intro zenon_H10 ].
% 0.85/1.02  apply zenon_H11. zenon_intro zenon_H12.
% 0.85/1.02  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_i = zenon_TX_j)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hf.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H13.
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TZ_i)); [idtac | apply NNPP; zenon_intro zenon_Hd].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Hd zenon_H12).
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H10. zenon_intro zenon_H3.
% 0.85/1.02  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.02  generalize (zenon_H15 zenon_TZ_i). zenon_intro zenon_H16.
% 0.85/1.02  generalize (zenon_H16 zenon_TZ_h). zenon_intro zenon_H17.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H17); [ zenon_intro zenon_Hc | zenon_intro zenon_H18 ].
% 0.85/1.02  exact (zenon_Hc zenon_H3).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H18); [ zenon_intro zenon_H1a | zenon_intro zenon_H19 ].
% 0.85/1.02  exact (zenon_H1a zenon_H6).
% 0.85/1.02  exact (zenon_H5 zenon_H19).
% 0.85/1.02  apply zenon_He. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L1_ *)
% 0.85/1.02  assert (zenon_L2_ : forall (zenon_TZ_bd : zenon_U) (zenon_TZ_h : zenon_U) (zenon_TZ_i : zenon_U) (zenon_TX_j : zenon_U), (reachable zenon_TX_j zenon_TZ_i) -> (reachable zenon_TZ_i zenon_TZ_h) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_j zenon_TZ_bd)) -> (reachable zenon_TZ_h zenon_TZ_bd) -> False).
% 0.85/1.02  do 4 intro. intros zenon_H3 zenon_H6 zenon_H4 zenon_H1b zenon_H1c.
% 0.85/1.02  elim (classic ((~(zenon_TX_j = zenon_TZ_h))/\(~(reachable zenon_TX_j zenon_TZ_h)))); [ zenon_intro zenon_H1e | zenon_intro zenon_H1f ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H1e). zenon_intro zenon_H20. zenon_intro zenon_H5.
% 0.85/1.02  apply (zenon_L1_ zenon_TZ_h zenon_TZ_i zenon_TX_j); trivial.
% 0.85/1.02  cut ((reachable zenon_TZ_h zenon_TZ_bd) = (reachable zenon_TX_j zenon_TZ_bd)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H1b.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H1c.
% 0.85/1.02  cut ((zenon_TZ_bd = zenon_TZ_bd)); [idtac | apply NNPP; zenon_intro zenon_H21].
% 0.85/1.02  cut ((zenon_TZ_h = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H22].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H1f); [ zenon_intro zenon_H24 | zenon_intro zenon_H23 ].
% 0.85/1.02  apply zenon_H24. zenon_intro zenon_H25.
% 0.85/1.02  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_h = zenon_TX_j)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H22.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H13.
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TZ_h)); [idtac | apply NNPP; zenon_intro zenon_H20].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H20 zenon_H25).
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H23. zenon_intro zenon_H19.
% 0.85/1.02  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.02  generalize (zenon_H15 zenon_TZ_h). zenon_intro zenon_H26.
% 0.85/1.02  generalize (zenon_H26 zenon_TZ_bd). zenon_intro zenon_H27.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H27); [ zenon_intro zenon_H5 | zenon_intro zenon_H28 ].
% 0.85/1.02  exact (zenon_H5 zenon_H19).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H28); [ zenon_intro zenon_H2a | zenon_intro zenon_H29 ].
% 0.85/1.02  exact (zenon_H2a zenon_H1c).
% 0.85/1.02  exact (zenon_H1b zenon_H29).
% 0.85/1.02  apply zenon_H21. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L2_ *)
% 0.85/1.02  assert (zenon_L3_ : forall (zenon_TZ_bt : zenon_U) (zenon_TZ_bd : zenon_U) (zenon_TX_j : zenon_U) (zenon_TZ_h : zenon_U) (zenon_TZ_i : zenon_U), (reachable zenon_TZ_i zenon_TZ_h) -> (reachable zenon_TX_j zenon_TZ_i) -> (reachable zenon_TZ_h zenon_TZ_bd) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_j zenon_TZ_bt)) -> (reachable zenon_TZ_bd zenon_TZ_bt) -> False).
% 0.85/1.02  do 5 intro. intros zenon_H6 zenon_H3 zenon_H1c zenon_H4 zenon_H2b zenon_H2c.
% 0.85/1.02  elim (classic ((~(zenon_TX_j = zenon_TZ_bd))/\(~(reachable zenon_TX_j zenon_TZ_bd)))); [ zenon_intro zenon_H2e | zenon_intro zenon_H2f ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H2e). zenon_intro zenon_H30. zenon_intro zenon_H1b.
% 0.85/1.02  apply (zenon_L2_ zenon_TZ_bd zenon_TZ_h zenon_TZ_i zenon_TX_j); trivial.
% 0.85/1.02  cut ((reachable zenon_TZ_bd zenon_TZ_bt) = (reachable zenon_TX_j zenon_TZ_bt)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H2b.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H2c.
% 0.85/1.02  cut ((zenon_TZ_bt = zenon_TZ_bt)); [idtac | apply NNPP; zenon_intro zenon_H31].
% 0.85/1.02  cut ((zenon_TZ_bd = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H32].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H34 | zenon_intro zenon_H33 ].
% 0.85/1.02  apply zenon_H34. zenon_intro zenon_H35.
% 0.85/1.02  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_bd = zenon_TX_j)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H32.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H13.
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TZ_bd)); [idtac | apply NNPP; zenon_intro zenon_H30].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H30 zenon_H35).
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H33. zenon_intro zenon_H29.
% 0.85/1.02  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.02  generalize (zenon_H15 zenon_TZ_bd). zenon_intro zenon_H36.
% 0.85/1.02  generalize (zenon_H36 zenon_TZ_bt). zenon_intro zenon_H37.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H37); [ zenon_intro zenon_H1b | zenon_intro zenon_H38 ].
% 0.85/1.02  exact (zenon_H1b zenon_H29).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H38); [ zenon_intro zenon_H3a | zenon_intro zenon_H39 ].
% 0.85/1.02  exact (zenon_H3a zenon_H2c).
% 0.85/1.02  exact (zenon_H2b zenon_H39).
% 0.85/1.02  apply zenon_H31. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L3_ *)
% 0.85/1.02  assert (zenon_L4_ : forall (zenon_TZ_cj : zenon_U) (zenon_TZ_bt : zenon_U) (zenon_TZ_i : zenon_U) (zenon_TX_j : zenon_U) (zenon_TZ_bd : zenon_U) (zenon_TZ_h : zenon_U), (reachable zenon_TZ_h zenon_TZ_bd) -> (reachable zenon_TX_j zenon_TZ_i) -> (reachable zenon_TZ_i zenon_TZ_h) -> (reachable zenon_TZ_bd zenon_TZ_bt) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_j zenon_TZ_cj)) -> (reachable zenon_TZ_bt zenon_TZ_cj) -> False).
% 0.85/1.02  do 6 intro. intros zenon_H1c zenon_H3 zenon_H6 zenon_H2c zenon_H4 zenon_H3b zenon_H3c.
% 0.85/1.02  elim (classic ((~(zenon_TX_j = zenon_TZ_bt))/\(~(reachable zenon_TX_j zenon_TZ_bt)))); [ zenon_intro zenon_H3e | zenon_intro zenon_H3f ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H3e). zenon_intro zenon_H40. zenon_intro zenon_H2b.
% 0.85/1.02  apply (zenon_L3_ zenon_TZ_bt zenon_TZ_bd zenon_TX_j zenon_TZ_h zenon_TZ_i); trivial.
% 0.85/1.02  cut ((reachable zenon_TZ_bt zenon_TZ_cj) = (reachable zenon_TX_j zenon_TZ_cj)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H3b.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H3c.
% 0.85/1.02  cut ((zenon_TZ_cj = zenon_TZ_cj)); [idtac | apply NNPP; zenon_intro zenon_H41].
% 0.85/1.02  cut ((zenon_TZ_bt = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H42].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H3f); [ zenon_intro zenon_H44 | zenon_intro zenon_H43 ].
% 0.85/1.02  apply zenon_H44. zenon_intro zenon_H45.
% 0.85/1.02  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_bt = zenon_TX_j)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H42.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H13.
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TZ_bt)); [idtac | apply NNPP; zenon_intro zenon_H40].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H40 zenon_H45).
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H43. zenon_intro zenon_H39.
% 0.85/1.02  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.02  generalize (zenon_H15 zenon_TZ_bt). zenon_intro zenon_H46.
% 0.85/1.02  generalize (zenon_H46 zenon_TZ_cj). zenon_intro zenon_H47.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H47); [ zenon_intro zenon_H2b | zenon_intro zenon_H48 ].
% 0.85/1.02  exact (zenon_H2b zenon_H39).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H48); [ zenon_intro zenon_H4a | zenon_intro zenon_H49 ].
% 0.85/1.02  exact (zenon_H4a zenon_H3c).
% 0.85/1.02  exact (zenon_H3b zenon_H49).
% 0.85/1.02  apply zenon_H41. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L4_ *)
% 0.85/1.02  assert (zenon_L5_ : forall (zenon_TZ_cz : zenon_U) (zenon_TZ_cj : zenon_U) (zenon_TX_j : zenon_U) (zenon_TZ_h : zenon_U) (zenon_TZ_i : zenon_U) (zenon_TZ_bt : zenon_U) (zenon_TZ_bd : zenon_U), (reachable zenon_TZ_bd zenon_TZ_bt) -> (reachable zenon_TZ_i zenon_TZ_h) -> (reachable zenon_TX_j zenon_TZ_i) -> (reachable zenon_TZ_h zenon_TZ_bd) -> (reachable zenon_TZ_bt zenon_TZ_cj) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_j zenon_TZ_cz)) -> (reachable zenon_TZ_cj zenon_TZ_cz) -> False).
% 0.85/1.02  do 7 intro. intros zenon_H2c zenon_H6 zenon_H3 zenon_H1c zenon_H3c zenon_H4 zenon_H4b zenon_H4c.
% 0.85/1.02  elim (classic ((~(zenon_TX_j = zenon_TZ_cj))/\(~(reachable zenon_TX_j zenon_TZ_cj)))); [ zenon_intro zenon_H4e | zenon_intro zenon_H4f ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H4e). zenon_intro zenon_H50. zenon_intro zenon_H3b.
% 0.85/1.02  apply (zenon_L4_ zenon_TZ_cj zenon_TZ_bt zenon_TZ_i zenon_TX_j zenon_TZ_bd zenon_TZ_h); trivial.
% 0.85/1.02  cut ((reachable zenon_TZ_cj zenon_TZ_cz) = (reachable zenon_TX_j zenon_TZ_cz)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H4b.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H4c.
% 0.85/1.02  cut ((zenon_TZ_cz = zenon_TZ_cz)); [idtac | apply NNPP; zenon_intro zenon_H51].
% 0.85/1.02  cut ((zenon_TZ_cj = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H52].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H4f); [ zenon_intro zenon_H54 | zenon_intro zenon_H53 ].
% 0.85/1.02  apply zenon_H54. zenon_intro zenon_H55.
% 0.85/1.02  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_cj = zenon_TX_j)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H52.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H13.
% 0.85/1.02  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.02  cut ((zenon_TX_j = zenon_TZ_cj)); [idtac | apply NNPP; zenon_intro zenon_H50].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H50 zenon_H55).
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H14. apply refl_equal.
% 0.85/1.02  apply zenon_H53. zenon_intro zenon_H49.
% 0.85/1.02  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.02  generalize (zenon_H15 zenon_TZ_cj). zenon_intro zenon_H56.
% 0.85/1.02  generalize (zenon_H56 zenon_TZ_cz). zenon_intro zenon_H57.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H57); [ zenon_intro zenon_H3b | zenon_intro zenon_H58 ].
% 0.85/1.02  exact (zenon_H3b zenon_H49).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H58); [ zenon_intro zenon_H5a | zenon_intro zenon_H59 ].
% 0.85/1.02  exact (zenon_H5a zenon_H4c).
% 0.85/1.02  exact (zenon_H4b zenon_H59).
% 0.85/1.02  apply zenon_H51. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L5_ *)
% 0.85/1.02  assert (zenon_L6_ : forall (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U), (reachable (initial_world) zenon_TX_dr) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_dq)) -> (reachable zenon_TX_dr zenon_TY_dq) -> False).
% 0.85/1.02  do 2 intro. intros zenon_H5b zenon_H4 zenon_H5c zenon_H5d.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TX_dr))/\(~(reachable (initial_world) zenon_TX_dr)))); [ zenon_intro zenon_H60 | zenon_intro zenon_H61 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H60). zenon_intro zenon_H63. zenon_intro zenon_H62.
% 0.85/1.02  exact (zenon_H62 zenon_H5b).
% 0.85/1.02  cut ((reachable zenon_TX_dr zenon_TY_dq) = (reachable (initial_world) zenon_TY_dq)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H5c.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H5d.
% 0.85/1.02  cut ((zenon_TY_dq = zenon_TY_dq)); [idtac | apply NNPP; zenon_intro zenon_H64].
% 0.85/1.02  cut ((zenon_TX_dr = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H61); [ zenon_intro zenon_H67 | zenon_intro zenon_H66 ].
% 0.85/1.02  apply zenon_H67. zenon_intro zenon_H68.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TX_dr = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H65.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H63].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H63 zenon_H68).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H66. zenon_intro zenon_H5b.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TX_dr). zenon_intro zenon_H6c.
% 0.85/1.02  generalize (zenon_H6c zenon_TY_dq). zenon_intro zenon_H6d.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H6d); [ zenon_intro zenon_H62 | zenon_intro zenon_H6e ].
% 0.85/1.02  exact (zenon_H62 zenon_H5b).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H6e); [ zenon_intro zenon_H70 | zenon_intro zenon_H6f ].
% 0.85/1.02  exact (zenon_H70 zenon_H5d).
% 0.85/1.02  exact (zenon_H5c zenon_H6f).
% 0.85/1.02  apply zenon_H64. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L6_ *)
% 0.85/1.02  assert (zenon_L7_ : forall (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U), (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_el)) -> (reachable zenon_TY_dq zenon_TY_el) -> False).
% 0.85/1.02  do 3 intro. intros zenon_H5b zenon_H5d zenon_H4 zenon_H71 zenon_H72.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_dq))/\(~(reachable (initial_world) zenon_TY_dq)))); [ zenon_intro zenon_H74 | zenon_intro zenon_H75 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H74). zenon_intro zenon_H76. zenon_intro zenon_H5c.
% 0.85/1.02  apply (zenon_L6_ zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_dq zenon_TY_el) = (reachable (initial_world) zenon_TY_el)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H71.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H72.
% 0.85/1.02  cut ((zenon_TY_el = zenon_TY_el)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 0.85/1.02  cut ((zenon_TY_dq = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H78].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H7a | zenon_intro zenon_H79 ].
% 0.85/1.02  apply zenon_H7a. zenon_intro zenon_H7b.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_dq = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H78.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_dq)); [idtac | apply NNPP; zenon_intro zenon_H76].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H76 zenon_H7b).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H79. zenon_intro zenon_H6f.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_dq). zenon_intro zenon_H7c.
% 0.85/1.02  generalize (zenon_H7c zenon_TY_el). zenon_intro zenon_H7d.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H7d); [ zenon_intro zenon_H5c | zenon_intro zenon_H7e ].
% 0.85/1.02  exact (zenon_H5c zenon_H6f).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H7e); [ zenon_intro zenon_H80 | zenon_intro zenon_H7f ].
% 0.85/1.02  exact (zenon_H80 zenon_H72).
% 0.85/1.02  exact (zenon_H71 zenon_H7f).
% 0.85/1.02  apply zenon_H77. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L7_ *)
% 0.85/1.02  assert (zenon_L8_ : forall (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U), (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_fb)) -> (reachable zenon_TY_el zenon_TY_fb) -> False).
% 0.85/1.02  do 4 intro. intros zenon_H5d zenon_H5b zenon_H72 zenon_H4 zenon_H81 zenon_H82.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_el))/\(~(reachable (initial_world) zenon_TY_el)))); [ zenon_intro zenon_H84 | zenon_intro zenon_H85 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H84). zenon_intro zenon_H86. zenon_intro zenon_H71.
% 0.85/1.02  apply (zenon_L7_ zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_el zenon_TY_fb) = (reachable (initial_world) zenon_TY_fb)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H81.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H82.
% 0.85/1.02  cut ((zenon_TY_fb = zenon_TY_fb)); [idtac | apply NNPP; zenon_intro zenon_H87].
% 0.85/1.02  cut ((zenon_TY_el = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H88].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H8a | zenon_intro zenon_H89 ].
% 0.85/1.02  apply zenon_H8a. zenon_intro zenon_H8b.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_el = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H88.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_el)); [idtac | apply NNPP; zenon_intro zenon_H86].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H86 zenon_H8b).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H89. zenon_intro zenon_H7f.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_el). zenon_intro zenon_H8c.
% 0.85/1.02  generalize (zenon_H8c zenon_TY_fb). zenon_intro zenon_H8d.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H8d); [ zenon_intro zenon_H71 | zenon_intro zenon_H8e ].
% 0.85/1.02  exact (zenon_H71 zenon_H7f).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H8e); [ zenon_intro zenon_H90 | zenon_intro zenon_H8f ].
% 0.85/1.02  exact (zenon_H90 zenon_H82).
% 0.85/1.02  exact (zenon_H81 zenon_H8f).
% 0.85/1.02  apply zenon_H87. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L8_ *)
% 0.85/1.02  assert (zenon_L9_ : forall (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U), (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_fr)) -> (reachable zenon_TY_fb zenon_TY_fr) -> False).
% 0.85/1.02  do 5 intro. intros zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_H4 zenon_H91 zenon_H92.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_fb))/\(~(reachable (initial_world) zenon_TY_fb)))); [ zenon_intro zenon_H94 | zenon_intro zenon_H95 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H94). zenon_intro zenon_H96. zenon_intro zenon_H81.
% 0.85/1.02  apply (zenon_L8_ zenon_TY_fb zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_fb zenon_TY_fr) = (reachable (initial_world) zenon_TY_fr)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H91.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H92.
% 0.85/1.02  cut ((zenon_TY_fr = zenon_TY_fr)); [idtac | apply NNPP; zenon_intro zenon_H97].
% 0.85/1.02  cut ((zenon_TY_fb = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H98].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H95); [ zenon_intro zenon_H9a | zenon_intro zenon_H99 ].
% 0.85/1.02  apply zenon_H9a. zenon_intro zenon_H9b.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_fb = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H98.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_fb)); [idtac | apply NNPP; zenon_intro zenon_H96].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H96 zenon_H9b).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H99. zenon_intro zenon_H8f.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_fb). zenon_intro zenon_H9c.
% 0.85/1.02  generalize (zenon_H9c zenon_TY_fr). zenon_intro zenon_H9d.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H9d); [ zenon_intro zenon_H81 | zenon_intro zenon_H9e ].
% 0.85/1.02  exact (zenon_H81 zenon_H8f).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H9e); [ zenon_intro zenon_Ha0 | zenon_intro zenon_H9f ].
% 0.85/1.02  exact (zenon_Ha0 zenon_H92).
% 0.85/1.02  exact (zenon_H91 zenon_H9f).
% 0.85/1.02  apply zenon_H97. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L9_ *)
% 0.85/1.02  assert (zenon_L10_ : forall (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U), (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_gh)) -> (reachable zenon_TY_fr zenon_TY_gh) -> False).
% 0.85/1.02  do 6 intro. intros zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_H4 zenon_Ha1 zenon_Ha2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_fr))/\(~(reachable (initial_world) zenon_TY_fr)))); [ zenon_intro zenon_Ha4 | zenon_intro zenon_Ha5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Ha4). zenon_intro zenon_Ha6. zenon_intro zenon_H91.
% 0.85/1.02  apply (zenon_L9_ zenon_TY_fr zenon_TY_fb zenon_TX_dr zenon_TY_el zenon_TY_dq); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_fr zenon_TY_gh) = (reachable (initial_world) zenon_TY_gh)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Ha1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_Ha2.
% 0.85/1.02  cut ((zenon_TY_gh = zenon_TY_gh)); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 0.85/1.02  cut ((zenon_TY_fr = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_Ha8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Ha5); [ zenon_intro zenon_Haa | zenon_intro zenon_Ha9 ].
% 0.85/1.02  apply zenon_Haa. zenon_intro zenon_Hab.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_fr = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Ha8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_fr)); [idtac | apply NNPP; zenon_intro zenon_Ha6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Ha6 zenon_Hab).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_Ha9. zenon_intro zenon_H9f.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_fr). zenon_intro zenon_Hac.
% 0.85/1.02  generalize (zenon_Hac zenon_TY_gh). zenon_intro zenon_Had.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Had); [ zenon_intro zenon_H91 | zenon_intro zenon_Hae ].
% 0.85/1.02  exact (zenon_H91 zenon_H9f).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hae); [ zenon_intro zenon_Hb0 | zenon_intro zenon_Haf ].
% 0.85/1.02  exact (zenon_Hb0 zenon_Ha2).
% 0.85/1.02  exact (zenon_Ha1 zenon_Haf).
% 0.85/1.02  apply zenon_Ha7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L10_ *)
% 0.85/1.02  assert (zenon_L11_ : forall (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U), (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_gx)) -> (reachable zenon_TY_gh zenon_TY_gx) -> False).
% 0.85/1.02  do 7 intro. intros zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_H4 zenon_Hb1 zenon_Hb2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_gh))/\(~(reachable (initial_world) zenon_TY_gh)))); [ zenon_intro zenon_Hb4 | zenon_intro zenon_Hb5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Hb4). zenon_intro zenon_Hb6. zenon_intro zenon_Ha1.
% 0.85/1.02  apply (zenon_L10_ zenon_TY_gh zenon_TY_fr zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_gh zenon_TY_gx) = (reachable (initial_world) zenon_TY_gx)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hb1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_Hb2.
% 0.85/1.02  cut ((zenon_TY_gx = zenon_TY_gx)); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 0.85/1.02  cut ((zenon_TY_gh = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_Hb8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Hb5); [ zenon_intro zenon_Hba | zenon_intro zenon_Hb9 ].
% 0.85/1.02  apply zenon_Hba. zenon_intro zenon_Hbb.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_gh = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hb8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_gh)); [idtac | apply NNPP; zenon_intro zenon_Hb6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Hb6 zenon_Hbb).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_Hb9. zenon_intro zenon_Haf.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_gh). zenon_intro zenon_Hbc.
% 0.85/1.02  generalize (zenon_Hbc zenon_TY_gx). zenon_intro zenon_Hbd.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hbd); [ zenon_intro zenon_Ha1 | zenon_intro zenon_Hbe ].
% 0.85/1.02  exact (zenon_Ha1 zenon_Haf).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hbe); [ zenon_intro zenon_Hc0 | zenon_intro zenon_Hbf ].
% 0.85/1.02  exact (zenon_Hc0 zenon_Hb2).
% 0.85/1.02  exact (zenon_Hb1 zenon_Hbf).
% 0.85/1.02  apply zenon_Hb7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L11_ *)
% 0.85/1.02  assert (zenon_L12_ : forall (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U), (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_hn)) -> (reachable zenon_TY_gx zenon_TY_hn) -> False).
% 0.85/1.02  do 8 intro. intros zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_H4 zenon_Hc1 zenon_Hc2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_gx))/\(~(reachable (initial_world) zenon_TY_gx)))); [ zenon_intro zenon_Hc4 | zenon_intro zenon_Hc5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Hc4). zenon_intro zenon_Hc6. zenon_intro zenon_Hb1.
% 0.85/1.02  apply (zenon_L11_ zenon_TY_gx zenon_TY_gh zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_gx zenon_TY_hn) = (reachable (initial_world) zenon_TY_hn)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hc1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_Hc2.
% 0.85/1.02  cut ((zenon_TY_hn = zenon_TY_hn)); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 0.85/1.02  cut ((zenon_TY_gx = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_Hc8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Hc5); [ zenon_intro zenon_Hca | zenon_intro zenon_Hc9 ].
% 0.85/1.02  apply zenon_Hca. zenon_intro zenon_Hcb.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_gx = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hc8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_gx)); [idtac | apply NNPP; zenon_intro zenon_Hc6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Hc6 zenon_Hcb).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_Hc9. zenon_intro zenon_Hbf.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_gx). zenon_intro zenon_Hcc.
% 0.85/1.02  generalize (zenon_Hcc zenon_TY_hn). zenon_intro zenon_Hcd.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hcd); [ zenon_intro zenon_Hb1 | zenon_intro zenon_Hce ].
% 0.85/1.02  exact (zenon_Hb1 zenon_Hbf).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hce); [ zenon_intro zenon_Hd0 | zenon_intro zenon_Hcf ].
% 0.85/1.02  exact (zenon_Hd0 zenon_Hc2).
% 0.85/1.02  exact (zenon_Hc1 zenon_Hcf).
% 0.85/1.02  apply zenon_Hc7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L12_ *)
% 0.85/1.02  assert (zenon_L13_ : forall (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U), (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_id)) -> (reachable zenon_TY_hn zenon_TY_id) -> False).
% 0.85/1.02  do 9 intro. intros zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_H4 zenon_Hd1 zenon_Hd2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_hn))/\(~(reachable (initial_world) zenon_TY_hn)))); [ zenon_intro zenon_Hd4 | zenon_intro zenon_Hd5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Hd4). zenon_intro zenon_Hd6. zenon_intro zenon_Hc1.
% 0.85/1.02  apply (zenon_L12_ zenon_TY_hn zenon_TY_gx zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_hn zenon_TY_id) = (reachable (initial_world) zenon_TY_id)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hd1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_Hd2.
% 0.85/1.02  cut ((zenon_TY_id = zenon_TY_id)); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 0.85/1.02  cut ((zenon_TY_hn = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_Hd8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Hd5); [ zenon_intro zenon_Hda | zenon_intro zenon_Hd9 ].
% 0.85/1.02  apply zenon_Hda. zenon_intro zenon_Hdb.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_hn = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hd8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_hn)); [idtac | apply NNPP; zenon_intro zenon_Hd6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Hd6 zenon_Hdb).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_Hd9. zenon_intro zenon_Hcf.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_hn). zenon_intro zenon_Hdc.
% 0.85/1.02  generalize (zenon_Hdc zenon_TY_id). zenon_intro zenon_Hdd.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hde ].
% 0.85/1.02  exact (zenon_Hc1 zenon_Hcf).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hde); [ zenon_intro zenon_He0 | zenon_intro zenon_Hdf ].
% 0.85/1.02  exact (zenon_He0 zenon_Hd2).
% 0.85/1.02  exact (zenon_Hd1 zenon_Hdf).
% 0.85/1.02  apply zenon_Hd7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L13_ *)
% 0.85/1.02  assert (zenon_L14_ : forall (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U), (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_it)) -> (reachable zenon_TY_id zenon_TY_it) -> False).
% 0.85/1.02  do 10 intro. intros zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_H4 zenon_He1 zenon_He2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_id))/\(~(reachable (initial_world) zenon_TY_id)))); [ zenon_intro zenon_He4 | zenon_intro zenon_He5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_He4). zenon_intro zenon_He6. zenon_intro zenon_Hd1.
% 0.85/1.02  apply (zenon_L13_ zenon_TY_id zenon_TY_hn zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_id zenon_TY_it) = (reachable (initial_world) zenon_TY_it)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_He1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_He2.
% 0.85/1.02  cut ((zenon_TY_it = zenon_TY_it)); [idtac | apply NNPP; zenon_intro zenon_He7].
% 0.85/1.02  cut ((zenon_TY_id = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_He8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_He5); [ zenon_intro zenon_Hea | zenon_intro zenon_He9 ].
% 0.85/1.02  apply zenon_Hea. zenon_intro zenon_Heb.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_id = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_He8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_id)); [idtac | apply NNPP; zenon_intro zenon_He6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_He6 zenon_Heb).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_He9. zenon_intro zenon_Hdf.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_id). zenon_intro zenon_Hec.
% 0.85/1.02  generalize (zenon_Hec zenon_TY_it). zenon_intro zenon_Hed.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hed); [ zenon_intro zenon_Hd1 | zenon_intro zenon_Hee ].
% 0.85/1.02  exact (zenon_Hd1 zenon_Hdf).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hee); [ zenon_intro zenon_Hf0 | zenon_intro zenon_Hef ].
% 0.85/1.02  exact (zenon_Hf0 zenon_He2).
% 0.85/1.02  exact (zenon_He1 zenon_Hef).
% 0.85/1.02  apply zenon_He7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L14_ *)
% 0.85/1.02  assert (zenon_L15_ : forall (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U), (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_jj)) -> (reachable zenon_TY_it zenon_TY_jj) -> False).
% 0.85/1.02  do 11 intro. intros zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H4 zenon_Hf1 zenon_Hf2.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_it))/\(~(reachable (initial_world) zenon_TY_it)))); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hf5 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_Hf4). zenon_intro zenon_Hf6. zenon_intro zenon_He1.
% 0.85/1.02  apply (zenon_L14_ zenon_TY_it zenon_TY_id zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_it zenon_TY_jj) = (reachable (initial_world) zenon_TY_jj)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hf1.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_Hf2.
% 0.85/1.02  cut ((zenon_TY_jj = zenon_TY_jj)); [idtac | apply NNPP; zenon_intro zenon_Hf7].
% 0.85/1.02  cut ((zenon_TY_it = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_Hf5); [ zenon_intro zenon_Hfa | zenon_intro zenon_Hf9 ].
% 0.85/1.02  apply zenon_Hfa. zenon_intro zenon_Hfb.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_it = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_Hf8.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_it)); [idtac | apply NNPP; zenon_intro zenon_Hf6].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_Hf6 zenon_Hfb).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_Hf9. zenon_intro zenon_Hef.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_it). zenon_intro zenon_Hfc.
% 0.85/1.02  generalize (zenon_Hfc zenon_TY_jj). zenon_intro zenon_Hfd.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hfd); [ zenon_intro zenon_He1 | zenon_intro zenon_Hfe ].
% 0.85/1.02  exact (zenon_He1 zenon_Hef).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_Hfe); [ zenon_intro zenon_H100 | zenon_intro zenon_Hff ].
% 0.85/1.02  exact (zenon_H100 zenon_Hf2).
% 0.85/1.02  exact (zenon_Hf1 zenon_Hff).
% 0.85/1.02  apply zenon_Hf7. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L15_ *)
% 0.85/1.02  assert (zenon_L16_ : forall (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U), (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_jz)) -> (reachable zenon_TY_jj zenon_TY_jz) -> False).
% 0.85/1.02  do 12 intro. intros zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H4 zenon_H101 zenon_H102.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_jj))/\(~(reachable (initial_world) zenon_TY_jj)))); [ zenon_intro zenon_H104 | zenon_intro zenon_H105 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H104). zenon_intro zenon_H106. zenon_intro zenon_Hf1.
% 0.85/1.02  apply (zenon_L15_ zenon_TY_jj zenon_TY_it zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_jj zenon_TY_jz) = (reachable (initial_world) zenon_TY_jz)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H101.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H102.
% 0.85/1.02  cut ((zenon_TY_jz = zenon_TY_jz)); [idtac | apply NNPP; zenon_intro zenon_H107].
% 0.85/1.02  cut ((zenon_TY_jj = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H108].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H105); [ zenon_intro zenon_H10a | zenon_intro zenon_H109 ].
% 0.85/1.02  apply zenon_H10a. zenon_intro zenon_H10b.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_jj = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H108.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_jj)); [idtac | apply NNPP; zenon_intro zenon_H106].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H106 zenon_H10b).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H109. zenon_intro zenon_Hff.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_jj). zenon_intro zenon_H10c.
% 0.85/1.02  generalize (zenon_H10c zenon_TY_jz). zenon_intro zenon_H10d.
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H10d); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H10e ].
% 0.85/1.02  exact (zenon_Hf1 zenon_Hff).
% 0.85/1.02  apply (zenon_imply_s _ _ zenon_H10e); [ zenon_intro zenon_H110 | zenon_intro zenon_H10f ].
% 0.85/1.02  exact (zenon_H110 zenon_H102).
% 0.85/1.02  exact (zenon_H101 zenon_H10f).
% 0.85/1.02  apply zenon_H107. apply refl_equal.
% 0.85/1.02  (* end of lemma zenon_L16_ *)
% 0.85/1.02  assert (zenon_L17_ : forall (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U), (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_kp)) -> (reachable zenon_TY_jz zenon_TY_kp) -> False).
% 0.85/1.02  do 13 intro. intros zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H4 zenon_H111 zenon_H112.
% 0.85/1.02  elim (classic ((~((initial_world) = zenon_TY_jz))/\(~(reachable (initial_world) zenon_TY_jz)))); [ zenon_intro zenon_H114 | zenon_intro zenon_H115 ].
% 0.85/1.02  apply (zenon_and_s _ _ zenon_H114). zenon_intro zenon_H116. zenon_intro zenon_H101.
% 0.85/1.02  apply (zenon_L16_ zenon_TY_jz zenon_TY_jj zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id); trivial.
% 0.85/1.02  cut ((reachable zenon_TY_jz zenon_TY_kp) = (reachable (initial_world) zenon_TY_kp)).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H111.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H112.
% 0.85/1.02  cut ((zenon_TY_kp = zenon_TY_kp)); [idtac | apply NNPP; zenon_intro zenon_H117].
% 0.85/1.02  cut ((zenon_TY_jz = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H118].
% 0.85/1.02  congruence.
% 0.85/1.02  apply (zenon_notand_s _ _ zenon_H115); [ zenon_intro zenon_H11a | zenon_intro zenon_H119 ].
% 0.85/1.02  apply zenon_H11a. zenon_intro zenon_H11b.
% 0.85/1.02  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.02  cut (((initial_world) = (initial_world)) = (zenon_TY_jz = (initial_world))).
% 0.85/1.02  intro zenon_D_pnotp.
% 0.85/1.02  apply zenon_H118.
% 0.85/1.02  rewrite <- zenon_D_pnotp.
% 0.85/1.02  exact zenon_H69.
% 0.85/1.02  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.02  cut (((initial_world) = zenon_TY_jz)); [idtac | apply NNPP; zenon_intro zenon_H116].
% 0.85/1.02  congruence.
% 0.85/1.02  exact (zenon_H116 zenon_H11b).
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H6a. apply refl_equal.
% 0.85/1.02  apply zenon_H119. zenon_intro zenon_H10f.
% 0.85/1.02  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.02  generalize (zenon_H6b zenon_TY_jz). zenon_intro zenon_H11c.
% 0.85/1.03  generalize (zenon_H11c zenon_TY_kp). zenon_intro zenon_H11d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H11d); [ zenon_intro zenon_H101 | zenon_intro zenon_H11e ].
% 0.85/1.03  exact (zenon_H101 zenon_H10f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H11e); [ zenon_intro zenon_H120 | zenon_intro zenon_H11f ].
% 0.85/1.03  exact (zenon_H120 zenon_H112).
% 0.85/1.03  exact (zenon_H111 zenon_H11f).
% 0.85/1.03  apply zenon_H117. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L17_ *)
% 0.85/1.03  assert (zenon_L18_ : forall (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U), (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_lf)) -> (reachable zenon_TY_kp zenon_TY_lf) -> False).
% 0.85/1.03  do 14 intro. intros zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H4 zenon_H121 zenon_H122.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_kp))/\(~(reachable (initial_world) zenon_TY_kp)))); [ zenon_intro zenon_H124 | zenon_intro zenon_H125 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H124). zenon_intro zenon_H126. zenon_intro zenon_H111.
% 0.85/1.03  apply (zenon_L17_ zenon_TY_kp zenon_TY_jz zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_kp zenon_TY_lf) = (reachable (initial_world) zenon_TY_lf)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H121.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H122.
% 0.85/1.03  cut ((zenon_TY_lf = zenon_TY_lf)); [idtac | apply NNPP; zenon_intro zenon_H127].
% 0.85/1.03  cut ((zenon_TY_kp = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H128].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H125); [ zenon_intro zenon_H12a | zenon_intro zenon_H129 ].
% 0.85/1.03  apply zenon_H12a. zenon_intro zenon_H12b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_kp = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H128.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_kp)); [idtac | apply NNPP; zenon_intro zenon_H126].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H126 zenon_H12b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H129. zenon_intro zenon_H11f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_kp). zenon_intro zenon_H12c.
% 0.85/1.03  generalize (zenon_H12c zenon_TY_lf). zenon_intro zenon_H12d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H12d); [ zenon_intro zenon_H111 | zenon_intro zenon_H12e ].
% 0.85/1.03  exact (zenon_H111 zenon_H11f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H12e); [ zenon_intro zenon_H130 | zenon_intro zenon_H12f ].
% 0.85/1.03  exact (zenon_H130 zenon_H122).
% 0.85/1.03  exact (zenon_H121 zenon_H12f).
% 0.85/1.03  apply zenon_H127. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L18_ *)
% 0.85/1.03  assert (zenon_L19_ : forall (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U), (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_lv)) -> (reachable zenon_TY_lf zenon_TY_lv) -> False).
% 0.85/1.03  do 15 intro. intros zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H4 zenon_H131 zenon_H132.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_lf))/\(~(reachable (initial_world) zenon_TY_lf)))); [ zenon_intro zenon_H134 | zenon_intro zenon_H135 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H134). zenon_intro zenon_H136. zenon_intro zenon_H121.
% 0.85/1.03  apply (zenon_L18_ zenon_TY_lf zenon_TY_kp zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_lf zenon_TY_lv) = (reachable (initial_world) zenon_TY_lv)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H131.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H132.
% 0.85/1.03  cut ((zenon_TY_lv = zenon_TY_lv)); [idtac | apply NNPP; zenon_intro zenon_H137].
% 0.85/1.03  cut ((zenon_TY_lf = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H138].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H135); [ zenon_intro zenon_H13a | zenon_intro zenon_H139 ].
% 0.85/1.03  apply zenon_H13a. zenon_intro zenon_H13b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_lf = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H138.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_lf)); [idtac | apply NNPP; zenon_intro zenon_H136].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H136 zenon_H13b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H139. zenon_intro zenon_H12f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_lf). zenon_intro zenon_H13c.
% 0.85/1.03  generalize (zenon_H13c zenon_TY_lv). zenon_intro zenon_H13d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H13d); [ zenon_intro zenon_H121 | zenon_intro zenon_H13e ].
% 0.85/1.03  exact (zenon_H121 zenon_H12f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H13e); [ zenon_intro zenon_H140 | zenon_intro zenon_H13f ].
% 0.85/1.03  exact (zenon_H140 zenon_H132).
% 0.85/1.03  exact (zenon_H131 zenon_H13f).
% 0.85/1.03  apply zenon_H137. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L19_ *)
% 0.85/1.03  assert (zenon_L20_ : forall (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U), (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_ml)) -> (reachable zenon_TY_lv zenon_TY_ml) -> False).
% 0.85/1.03  do 16 intro. intros zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H4 zenon_H141 zenon_H142.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_lv))/\(~(reachable (initial_world) zenon_TY_lv)))); [ zenon_intro zenon_H144 | zenon_intro zenon_H145 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H144). zenon_intro zenon_H146. zenon_intro zenon_H131.
% 0.85/1.03  apply (zenon_L19_ zenon_TY_lv zenon_TY_lf zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_lv zenon_TY_ml) = (reachable (initial_world) zenon_TY_ml)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H141.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H142.
% 0.85/1.03  cut ((zenon_TY_ml = zenon_TY_ml)); [idtac | apply NNPP; zenon_intro zenon_H147].
% 0.85/1.03  cut ((zenon_TY_lv = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H148].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H145); [ zenon_intro zenon_H14a | zenon_intro zenon_H149 ].
% 0.85/1.03  apply zenon_H14a. zenon_intro zenon_H14b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_lv = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H148.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_lv)); [idtac | apply NNPP; zenon_intro zenon_H146].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H146 zenon_H14b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H149. zenon_intro zenon_H13f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_lv). zenon_intro zenon_H14c.
% 0.85/1.03  generalize (zenon_H14c zenon_TY_ml). zenon_intro zenon_H14d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H14d); [ zenon_intro zenon_H131 | zenon_intro zenon_H14e ].
% 0.85/1.03  exact (zenon_H131 zenon_H13f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H14e); [ zenon_intro zenon_H150 | zenon_intro zenon_H14f ].
% 0.85/1.03  exact (zenon_H150 zenon_H142).
% 0.85/1.03  exact (zenon_H141 zenon_H14f).
% 0.85/1.03  apply zenon_H147. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L20_ *)
% 0.85/1.03  assert (zenon_L21_ : forall (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U), (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_nb)) -> (reachable zenon_TY_ml zenon_TY_nb) -> False).
% 0.85/1.03  do 17 intro. intros zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H4 zenon_H151 zenon_H152.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_ml))/\(~(reachable (initial_world) zenon_TY_ml)))); [ zenon_intro zenon_H154 | zenon_intro zenon_H155 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H154). zenon_intro zenon_H156. zenon_intro zenon_H141.
% 0.85/1.03  apply (zenon_L20_ zenon_TY_ml zenon_TY_lv zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_ml zenon_TY_nb) = (reachable (initial_world) zenon_TY_nb)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H151.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H152.
% 0.85/1.03  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.03  cut ((zenon_TY_ml = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H158].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H155); [ zenon_intro zenon_H15a | zenon_intro zenon_H159 ].
% 0.85/1.03  apply zenon_H15a. zenon_intro zenon_H15b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_ml = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H158.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_ml)); [idtac | apply NNPP; zenon_intro zenon_H156].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H156 zenon_H15b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H159. zenon_intro zenon_H14f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_ml). zenon_intro zenon_H15c.
% 0.85/1.03  generalize (zenon_H15c zenon_TY_nb). zenon_intro zenon_H15d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H15d); [ zenon_intro zenon_H141 | zenon_intro zenon_H15e ].
% 0.85/1.03  exact (zenon_H141 zenon_H14f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H15e); [ zenon_intro zenon_H160 | zenon_intro zenon_H15f ].
% 0.85/1.03  exact (zenon_H160 zenon_H152).
% 0.85/1.03  exact (zenon_H151 zenon_H15f).
% 0.85/1.03  apply zenon_H157. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L21_ *)
% 0.85/1.03  assert (zenon_L22_ : forall (zenon_TY_nr : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U), (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_ml zenon_TY_nb) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_nr)) -> (reachable zenon_TY_nb zenon_TY_nr) -> False).
% 0.85/1.03  do 18 intro. intros zenon_H142 zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H152 zenon_H4 zenon_H161 zenon_H162.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_nb))/\(~(reachable (initial_world) zenon_TY_nb)))); [ zenon_intro zenon_H164 | zenon_intro zenon_H165 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H164). zenon_intro zenon_H166. zenon_intro zenon_H151.
% 0.85/1.03  apply (zenon_L21_ zenon_TY_nb zenon_TY_ml zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_nb zenon_TY_nr) = (reachable (initial_world) zenon_TY_nr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H161.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H162.
% 0.85/1.03  cut ((zenon_TY_nr = zenon_TY_nr)); [idtac | apply NNPP; zenon_intro zenon_H167].
% 0.85/1.03  cut ((zenon_TY_nb = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H168].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H165); [ zenon_intro zenon_H16a | zenon_intro zenon_H169 ].
% 0.85/1.03  apply zenon_H16a. zenon_intro zenon_H16b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_nb = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H168.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H166].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H166 zenon_H16b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H169. zenon_intro zenon_H15f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_nb). zenon_intro zenon_H16c.
% 0.85/1.03  generalize (zenon_H16c zenon_TY_nr). zenon_intro zenon_H16d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H16d); [ zenon_intro zenon_H151 | zenon_intro zenon_H16e ].
% 0.85/1.03  exact (zenon_H151 zenon_H15f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H16e); [ zenon_intro zenon_H170 | zenon_intro zenon_H16f ].
% 0.85/1.03  exact (zenon_H170 zenon_H162).
% 0.85/1.03  exact (zenon_H161 zenon_H16f).
% 0.85/1.03  apply zenon_H167. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L22_ *)
% 0.85/1.03  assert (zenon_L23_ : forall (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U), (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_oh)) -> (reachable zenon_TY_nr zenon_TY_oh) -> False).
% 0.85/1.03  do 19 intro. intros zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H4 zenon_H171 zenon_H172.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_nr))/\(~(reachable (initial_world) zenon_TY_nr)))); [ zenon_intro zenon_H174 | zenon_intro zenon_H175 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H174). zenon_intro zenon_H176. zenon_intro zenon_H161.
% 0.85/1.03  apply (zenon_L22_ zenon_TY_nr zenon_TY_nb zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_nr zenon_TY_oh) = (reachable (initial_world) zenon_TY_oh)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H171.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H172.
% 0.85/1.03  cut ((zenon_TY_oh = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H177].
% 0.85/1.03  cut ((zenon_TY_nr = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H178].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H175); [ zenon_intro zenon_H17a | zenon_intro zenon_H179 ].
% 0.85/1.03  apply zenon_H17a. zenon_intro zenon_H17b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_nr = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H178.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_nr)); [idtac | apply NNPP; zenon_intro zenon_H176].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H176 zenon_H17b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H179. zenon_intro zenon_H16f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_nr). zenon_intro zenon_H17c.
% 0.85/1.03  generalize (zenon_H17c zenon_TY_oh). zenon_intro zenon_H17d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H17d); [ zenon_intro zenon_H161 | zenon_intro zenon_H17e ].
% 0.85/1.03  exact (zenon_H161 zenon_H16f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H17e); [ zenon_intro zenon_H180 | zenon_intro zenon_H17f ].
% 0.85/1.03  exact (zenon_H180 zenon_H172).
% 0.85/1.03  exact (zenon_H171 zenon_H17f).
% 0.85/1.03  apply zenon_H177. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L23_ *)
% 0.85/1.03  assert (zenon_L24_ : forall (zenon_TY_ox : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TY_nb : zenon_U), (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_nr zenon_TY_oh) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_ox)) -> (reachable zenon_TY_oh zenon_TY_ox) -> False).
% 0.85/1.03  do 20 intro. intros zenon_H162 zenon_H142 zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H5b zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H152 zenon_H172 zenon_H4 zenon_H181 zenon_H182.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_oh))/\(~(reachable (initial_world) zenon_TY_oh)))); [ zenon_intro zenon_H184 | zenon_intro zenon_H185 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H184). zenon_intro zenon_H186. zenon_intro zenon_H171.
% 0.85/1.03  apply (zenon_L23_ zenon_TY_oh zenon_TY_nr zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_oh zenon_TY_ox) = (reachable (initial_world) zenon_TY_ox)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H181.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H182.
% 0.85/1.03  cut ((zenon_TY_ox = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H187].
% 0.85/1.03  cut ((zenon_TY_oh = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H188].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H185); [ zenon_intro zenon_H18a | zenon_intro zenon_H189 ].
% 0.85/1.03  apply zenon_H18a. zenon_intro zenon_H18b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_oh = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H188.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H186].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H186 zenon_H18b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H189. zenon_intro zenon_H17f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_oh). zenon_intro zenon_H18c.
% 0.85/1.03  generalize (zenon_H18c zenon_TY_ox). zenon_intro zenon_H18d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H18d); [ zenon_intro zenon_H171 | zenon_intro zenon_H18e ].
% 0.85/1.03  exact (zenon_H171 zenon_H17f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H18e); [ zenon_intro zenon_H190 | zenon_intro zenon_H18f ].
% 0.85/1.03  exact (zenon_H190 zenon_H182).
% 0.85/1.03  exact (zenon_H181 zenon_H18f).
% 0.85/1.03  apply zenon_H187. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L24_ *)
% 0.85/1.03  assert (zenon_L25_ : forall (zenon_TY_pn : zenon_U) (zenon_TY_ox : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U), (reachable zenon_TY_nr zenon_TY_oh) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable (initial_world) zenon_TX_dr) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_oh zenon_TY_ox) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable (initial_world) zenon_TY_pn)) -> (reachable zenon_TY_ox zenon_TY_pn) -> False).
% 0.85/1.03  do 21 intro. intros zenon_H172 zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5b zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H182 zenon_H4 zenon_H191 zenon_H192.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TY_ox))/\(~(reachable (initial_world) zenon_TY_ox)))); [ zenon_intro zenon_H194 | zenon_intro zenon_H195 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H194). zenon_intro zenon_H196. zenon_intro zenon_H181.
% 0.85/1.03  apply (zenon_L24_ zenon_TY_ox zenon_TY_oh zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv zenon_TY_nr zenon_TY_nb); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_ox zenon_TY_pn) = (reachable (initial_world) zenon_TY_pn)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H191.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H192.
% 0.85/1.03  cut ((zenon_TY_pn = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H197].
% 0.85/1.03  cut ((zenon_TY_ox = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H198].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H195); [ zenon_intro zenon_H19a | zenon_intro zenon_H199 ].
% 0.85/1.03  apply zenon_H19a. zenon_intro zenon_H19b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TY_ox = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H198.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H196].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H196 zenon_H19b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H199. zenon_intro zenon_H18f.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TY_ox). zenon_intro zenon_H19c.
% 0.85/1.03  generalize (zenon_H19c zenon_TY_pn). zenon_intro zenon_H19d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H19d); [ zenon_intro zenon_H181 | zenon_intro zenon_H19e ].
% 0.85/1.03  exact (zenon_H181 zenon_H18f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H19e); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H19f ].
% 0.85/1.03  exact (zenon_H1a0 zenon_H192).
% 0.85/1.03  exact (zenon_H191 zenon_H19f).
% 0.85/1.03  apply zenon_H197. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L25_ *)
% 0.85/1.03  assert (zenon_L26_ : forall (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U), (reachable zenon_TX_dr zenon_TY_dq) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_el)) -> (reachable zenon_TY_dq zenon_TY_el) -> False).
% 0.85/1.03  do 3 intro. intros zenon_H5d zenon_H4 zenon_H1a1 zenon_H72.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_dq))/\(~(reachable zenon_TX_dr zenon_TY_dq)))); [ zenon_intro zenon_H1a2 | zenon_intro zenon_H1a3 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1a2). zenon_intro zenon_H1a4. zenon_intro zenon_H70.
% 0.85/1.03  exact (zenon_H70 zenon_H5d).
% 0.85/1.03  cut ((reachable zenon_TY_dq zenon_TY_el) = (reachable zenon_TX_dr zenon_TY_el)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1a1.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H72.
% 0.85/1.03  cut ((zenon_TY_el = zenon_TY_el)); [idtac | apply NNPP; zenon_intro zenon_H77].
% 0.85/1.03  cut ((zenon_TY_dq = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1a5].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1a3); [ zenon_intro zenon_H1a7 | zenon_intro zenon_H1a6 ].
% 0.85/1.03  apply zenon_H1a7. zenon_intro zenon_H1a8.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_dq = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1a5.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_dq)); [idtac | apply NNPP; zenon_intro zenon_H1a4].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1a4 zenon_H1a8).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1a6. zenon_intro zenon_H5d.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_dq). zenon_intro zenon_H1ac.
% 0.85/1.03  generalize (zenon_H1ac zenon_TY_el). zenon_intro zenon_H1ad.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1ad); [ zenon_intro zenon_H70 | zenon_intro zenon_H1ae ].
% 0.85/1.03  exact (zenon_H70 zenon_H5d).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1ae); [ zenon_intro zenon_H80 | zenon_intro zenon_H1af ].
% 0.85/1.03  exact (zenon_H80 zenon_H72).
% 0.85/1.03  exact (zenon_H1a1 zenon_H1af).
% 0.85/1.03  apply zenon_H77. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L26_ *)
% 0.85/1.03  assert (zenon_L27_ : forall (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U), (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_fb)) -> (reachable zenon_TY_el zenon_TY_fb) -> False).
% 0.85/1.03  do 4 intro. intros zenon_H5d zenon_H72 zenon_H4 zenon_H1b0 zenon_H82.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_el))/\(~(reachable zenon_TX_dr zenon_TY_el)))); [ zenon_intro zenon_H1b1 | zenon_intro zenon_H1b2 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1b1). zenon_intro zenon_H1b3. zenon_intro zenon_H1a1.
% 0.85/1.03  apply (zenon_L26_ zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_el zenon_TY_fb) = (reachable zenon_TX_dr zenon_TY_fb)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1b0.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H82.
% 0.85/1.03  cut ((zenon_TY_fb = zenon_TY_fb)); [idtac | apply NNPP; zenon_intro zenon_H87].
% 0.85/1.03  cut ((zenon_TY_el = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1b4].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1b2); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1b5 ].
% 0.85/1.03  apply zenon_H1b6. zenon_intro zenon_H1b7.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_el = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1b4.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_el)); [idtac | apply NNPP; zenon_intro zenon_H1b3].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1b3 zenon_H1b7).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1b5. zenon_intro zenon_H1af.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_el). zenon_intro zenon_H1b8.
% 0.85/1.03  generalize (zenon_H1b8 zenon_TY_fb). zenon_intro zenon_H1b9.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1b9); [ zenon_intro zenon_H1a1 | zenon_intro zenon_H1ba ].
% 0.85/1.03  exact (zenon_H1a1 zenon_H1af).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1ba); [ zenon_intro zenon_H90 | zenon_intro zenon_H1bb ].
% 0.85/1.03  exact (zenon_H90 zenon_H82).
% 0.85/1.03  exact (zenon_H1b0 zenon_H1bb).
% 0.85/1.03  apply zenon_H87. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L27_ *)
% 0.85/1.03  assert (zenon_L28_ : forall (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U), (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_fr)) -> (reachable zenon_TY_fb zenon_TY_fr) -> False).
% 0.85/1.03  do 5 intro. intros zenon_H72 zenon_H5d zenon_H82 zenon_H4 zenon_H1bc zenon_H92.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_fb))/\(~(reachable zenon_TX_dr zenon_TY_fb)))); [ zenon_intro zenon_H1bd | zenon_intro zenon_H1be ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1bd). zenon_intro zenon_H1bf. zenon_intro zenon_H1b0.
% 0.85/1.03  apply (zenon_L27_ zenon_TY_fb zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_fb zenon_TY_fr) = (reachable zenon_TX_dr zenon_TY_fr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1bc.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H92.
% 0.85/1.03  cut ((zenon_TY_fr = zenon_TY_fr)); [idtac | apply NNPP; zenon_intro zenon_H97].
% 0.85/1.03  cut ((zenon_TY_fb = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1c0].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1be); [ zenon_intro zenon_H1c2 | zenon_intro zenon_H1c1 ].
% 0.85/1.03  apply zenon_H1c2. zenon_intro zenon_H1c3.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_fb = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1c0.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_fb)); [idtac | apply NNPP; zenon_intro zenon_H1bf].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1bf zenon_H1c3).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1c1. zenon_intro zenon_H1bb.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_fb). zenon_intro zenon_H1c4.
% 0.85/1.03  generalize (zenon_H1c4 zenon_TY_fr). zenon_intro zenon_H1c5.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1c5); [ zenon_intro zenon_H1b0 | zenon_intro zenon_H1c6 ].
% 0.85/1.03  exact (zenon_H1b0 zenon_H1bb).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1c6); [ zenon_intro zenon_Ha0 | zenon_intro zenon_H1c7 ].
% 0.85/1.03  exact (zenon_Ha0 zenon_H92).
% 0.85/1.03  exact (zenon_H1bc zenon_H1c7).
% 0.85/1.03  apply zenon_H97. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L28_ *)
% 0.85/1.03  assert (zenon_L29_ : forall (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U), (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_gh)) -> (reachable zenon_TY_fr zenon_TY_gh) -> False).
% 0.85/1.03  do 6 intro. intros zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_H4 zenon_H1c8 zenon_Ha2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_fr))/\(~(reachable zenon_TX_dr zenon_TY_fr)))); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1ca ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1c9). zenon_intro zenon_H1cb. zenon_intro zenon_H1bc.
% 0.85/1.03  apply (zenon_L28_ zenon_TY_fr zenon_TY_fb zenon_TX_dr zenon_TY_el zenon_TY_dq); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_fr zenon_TY_gh) = (reachable zenon_TX_dr zenon_TY_gh)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1c8.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_Ha2.
% 0.85/1.03  cut ((zenon_TY_gh = zenon_TY_gh)); [idtac | apply NNPP; zenon_intro zenon_Ha7].
% 0.85/1.03  cut ((zenon_TY_fr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1cc].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1ca); [ zenon_intro zenon_H1ce | zenon_intro zenon_H1cd ].
% 0.85/1.03  apply zenon_H1ce. zenon_intro zenon_H1cf.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_fr = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1cc.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_fr)); [idtac | apply NNPP; zenon_intro zenon_H1cb].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1cb zenon_H1cf).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1cd. zenon_intro zenon_H1c7.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_fr). zenon_intro zenon_H1d0.
% 0.85/1.03  generalize (zenon_H1d0 zenon_TY_gh). zenon_intro zenon_H1d1.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1d1); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1d2 ].
% 0.85/1.03  exact (zenon_H1bc zenon_H1c7).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1d2); [ zenon_intro zenon_Hb0 | zenon_intro zenon_H1d3 ].
% 0.85/1.03  exact (zenon_Hb0 zenon_Ha2).
% 0.85/1.03  exact (zenon_H1c8 zenon_H1d3).
% 0.85/1.03  apply zenon_Ha7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L29_ *)
% 0.85/1.03  assert (zenon_L30_ : forall (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U), (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_gx)) -> (reachable zenon_TY_gh zenon_TY_gx) -> False).
% 0.85/1.03  do 7 intro. intros zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_H4 zenon_H1d4 zenon_Hb2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_gh))/\(~(reachable zenon_TX_dr zenon_TY_gh)))); [ zenon_intro zenon_H1d5 | zenon_intro zenon_H1d6 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1d5). zenon_intro zenon_H1d7. zenon_intro zenon_H1c8.
% 0.85/1.03  apply (zenon_L29_ zenon_TY_gh zenon_TY_fr zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_gh zenon_TY_gx) = (reachable zenon_TX_dr zenon_TY_gx)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1d4.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_Hb2.
% 0.85/1.03  cut ((zenon_TY_gx = zenon_TY_gx)); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 0.85/1.03  cut ((zenon_TY_gh = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1d8].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1d6); [ zenon_intro zenon_H1da | zenon_intro zenon_H1d9 ].
% 0.85/1.03  apply zenon_H1da. zenon_intro zenon_H1db.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_gh = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1d8.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_gh)); [idtac | apply NNPP; zenon_intro zenon_H1d7].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1d7 zenon_H1db).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1d9. zenon_intro zenon_H1d3.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_gh). zenon_intro zenon_H1dc.
% 0.85/1.03  generalize (zenon_H1dc zenon_TY_gx). zenon_intro zenon_H1dd.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1dd); [ zenon_intro zenon_H1c8 | zenon_intro zenon_H1de ].
% 0.85/1.03  exact (zenon_H1c8 zenon_H1d3).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1de); [ zenon_intro zenon_Hc0 | zenon_intro zenon_H1df ].
% 0.85/1.03  exact (zenon_Hc0 zenon_Hb2).
% 0.85/1.03  exact (zenon_H1d4 zenon_H1df).
% 0.85/1.03  apply zenon_Hb7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L30_ *)
% 0.85/1.03  assert (zenon_L31_ : forall (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U), (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_hn)) -> (reachable zenon_TY_gx zenon_TY_hn) -> False).
% 0.85/1.03  do 8 intro. intros zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_H4 zenon_H1e0 zenon_Hc2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_gx))/\(~(reachable zenon_TX_dr zenon_TY_gx)))); [ zenon_intro zenon_H1e1 | zenon_intro zenon_H1e2 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1e1). zenon_intro zenon_H1e3. zenon_intro zenon_H1d4.
% 0.85/1.03  apply (zenon_L30_ zenon_TY_gx zenon_TY_gh zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_gx zenon_TY_hn) = (reachable zenon_TX_dr zenon_TY_hn)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1e0.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_Hc2.
% 0.85/1.03  cut ((zenon_TY_hn = zenon_TY_hn)); [idtac | apply NNPP; zenon_intro zenon_Hc7].
% 0.85/1.03  cut ((zenon_TY_gx = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1e4].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1e2); [ zenon_intro zenon_H1e6 | zenon_intro zenon_H1e5 ].
% 0.85/1.03  apply zenon_H1e6. zenon_intro zenon_H1e7.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_gx = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1e4.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_gx)); [idtac | apply NNPP; zenon_intro zenon_H1e3].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1e3 zenon_H1e7).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1e5. zenon_intro zenon_H1df.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_gx). zenon_intro zenon_H1e8.
% 0.85/1.03  generalize (zenon_H1e8 zenon_TY_hn). zenon_intro zenon_H1e9.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1e9); [ zenon_intro zenon_H1d4 | zenon_intro zenon_H1ea ].
% 0.85/1.03  exact (zenon_H1d4 zenon_H1df).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1ea); [ zenon_intro zenon_Hd0 | zenon_intro zenon_H1eb ].
% 0.85/1.03  exact (zenon_Hd0 zenon_Hc2).
% 0.85/1.03  exact (zenon_H1e0 zenon_H1eb).
% 0.85/1.03  apply zenon_Hc7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L31_ *)
% 0.85/1.03  assert (zenon_L32_ : forall (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U), (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_id)) -> (reachable zenon_TY_hn zenon_TY_id) -> False).
% 0.85/1.03  do 9 intro. intros zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_H4 zenon_H1ec zenon_Hd2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_hn))/\(~(reachable zenon_TX_dr zenon_TY_hn)))); [ zenon_intro zenon_H1ed | zenon_intro zenon_H1ee ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1ed). zenon_intro zenon_H1ef. zenon_intro zenon_H1e0.
% 0.85/1.03  apply (zenon_L31_ zenon_TY_hn zenon_TY_gx zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_hn zenon_TY_id) = (reachable zenon_TX_dr zenon_TY_id)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1ec.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_Hd2.
% 0.85/1.03  cut ((zenon_TY_id = zenon_TY_id)); [idtac | apply NNPP; zenon_intro zenon_Hd7].
% 0.85/1.03  cut ((zenon_TY_hn = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1f0].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1ee); [ zenon_intro zenon_H1f2 | zenon_intro zenon_H1f1 ].
% 0.85/1.03  apply zenon_H1f2. zenon_intro zenon_H1f3.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_hn = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1f0.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_hn)); [idtac | apply NNPP; zenon_intro zenon_H1ef].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1ef zenon_H1f3).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1f1. zenon_intro zenon_H1eb.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_hn). zenon_intro zenon_H1f4.
% 0.85/1.03  generalize (zenon_H1f4 zenon_TY_id). zenon_intro zenon_H1f5.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1f5); [ zenon_intro zenon_H1e0 | zenon_intro zenon_H1f6 ].
% 0.85/1.03  exact (zenon_H1e0 zenon_H1eb).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H1f6); [ zenon_intro zenon_He0 | zenon_intro zenon_H1f7 ].
% 0.85/1.03  exact (zenon_He0 zenon_Hd2).
% 0.85/1.03  exact (zenon_H1ec zenon_H1f7).
% 0.85/1.03  apply zenon_Hd7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L32_ *)
% 0.85/1.03  assert (zenon_L33_ : forall (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U), (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_it)) -> (reachable zenon_TY_id zenon_TY_it) -> False).
% 0.85/1.03  do 10 intro. intros zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_H4 zenon_H1f8 zenon_He2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_id))/\(~(reachable zenon_TX_dr zenon_TY_id)))); [ zenon_intro zenon_H1f9 | zenon_intro zenon_H1fa ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H1f9). zenon_intro zenon_H1fb. zenon_intro zenon_H1ec.
% 0.85/1.03  apply (zenon_L32_ zenon_TY_id zenon_TY_hn zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_id zenon_TY_it) = (reachable zenon_TX_dr zenon_TY_it)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1f8.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_He2.
% 0.85/1.03  cut ((zenon_TY_it = zenon_TY_it)); [idtac | apply NNPP; zenon_intro zenon_He7].
% 0.85/1.03  cut ((zenon_TY_id = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1fc].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H1fa); [ zenon_intro zenon_H1fe | zenon_intro zenon_H1fd ].
% 0.85/1.03  apply zenon_H1fe. zenon_intro zenon_H1ff.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_id = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H1fc.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_id)); [idtac | apply NNPP; zenon_intro zenon_H1fb].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H1fb zenon_H1ff).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1fd. zenon_intro zenon_H1f7.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_id). zenon_intro zenon_H200.
% 0.85/1.03  generalize (zenon_H200 zenon_TY_it). zenon_intro zenon_H201.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H201); [ zenon_intro zenon_H1ec | zenon_intro zenon_H202 ].
% 0.85/1.03  exact (zenon_H1ec zenon_H1f7).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H202); [ zenon_intro zenon_Hf0 | zenon_intro zenon_H203 ].
% 0.85/1.03  exact (zenon_Hf0 zenon_He2).
% 0.85/1.03  exact (zenon_H1f8 zenon_H203).
% 0.85/1.03  apply zenon_He7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L33_ *)
% 0.85/1.03  assert (zenon_L34_ : forall (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U), (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_jj)) -> (reachable zenon_TY_it zenon_TY_jj) -> False).
% 0.85/1.03  do 11 intro. intros zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H4 zenon_H204 zenon_Hf2.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_it))/\(~(reachable zenon_TX_dr zenon_TY_it)))); [ zenon_intro zenon_H205 | zenon_intro zenon_H206 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H205). zenon_intro zenon_H207. zenon_intro zenon_H1f8.
% 0.85/1.03  apply (zenon_L33_ zenon_TY_it zenon_TY_id zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_it zenon_TY_jj) = (reachable zenon_TX_dr zenon_TY_jj)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H204.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_Hf2.
% 0.85/1.03  cut ((zenon_TY_jj = zenon_TY_jj)); [idtac | apply NNPP; zenon_intro zenon_Hf7].
% 0.85/1.03  cut ((zenon_TY_it = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H208].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H206); [ zenon_intro zenon_H20a | zenon_intro zenon_H209 ].
% 0.85/1.03  apply zenon_H20a. zenon_intro zenon_H20b.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_it = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H208.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_it)); [idtac | apply NNPP; zenon_intro zenon_H207].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H207 zenon_H20b).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H209. zenon_intro zenon_H203.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_it). zenon_intro zenon_H20c.
% 0.85/1.03  generalize (zenon_H20c zenon_TY_jj). zenon_intro zenon_H20d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H20d); [ zenon_intro zenon_H1f8 | zenon_intro zenon_H20e ].
% 0.85/1.03  exact (zenon_H1f8 zenon_H203).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H20e); [ zenon_intro zenon_H100 | zenon_intro zenon_H20f ].
% 0.85/1.03  exact (zenon_H100 zenon_Hf2).
% 0.85/1.03  exact (zenon_H204 zenon_H20f).
% 0.85/1.03  apply zenon_Hf7. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L34_ *)
% 0.85/1.03  assert (zenon_L35_ : forall (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U), (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_jz)) -> (reachable zenon_TY_jj zenon_TY_jz) -> False).
% 0.85/1.03  do 12 intro. intros zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H4 zenon_H210 zenon_H102.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_jj))/\(~(reachable zenon_TX_dr zenon_TY_jj)))); [ zenon_intro zenon_H211 | zenon_intro zenon_H212 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H211). zenon_intro zenon_H213. zenon_intro zenon_H204.
% 0.85/1.03  apply (zenon_L34_ zenon_TY_jj zenon_TY_it zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_jj zenon_TY_jz) = (reachable zenon_TX_dr zenon_TY_jz)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H210.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H102.
% 0.85/1.03  cut ((zenon_TY_jz = zenon_TY_jz)); [idtac | apply NNPP; zenon_intro zenon_H107].
% 0.85/1.03  cut ((zenon_TY_jj = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H214].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H212); [ zenon_intro zenon_H216 | zenon_intro zenon_H215 ].
% 0.85/1.03  apply zenon_H216. zenon_intro zenon_H217.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_jj = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H214.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_jj)); [idtac | apply NNPP; zenon_intro zenon_H213].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H213 zenon_H217).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H215. zenon_intro zenon_H20f.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_jj). zenon_intro zenon_H218.
% 0.85/1.03  generalize (zenon_H218 zenon_TY_jz). zenon_intro zenon_H219.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H219); [ zenon_intro zenon_H204 | zenon_intro zenon_H21a ].
% 0.85/1.03  exact (zenon_H204 zenon_H20f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H21a); [ zenon_intro zenon_H110 | zenon_intro zenon_H21b ].
% 0.85/1.03  exact (zenon_H110 zenon_H102).
% 0.85/1.03  exact (zenon_H210 zenon_H21b).
% 0.85/1.03  apply zenon_H107. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L35_ *)
% 0.85/1.03  assert (zenon_L36_ : forall (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U), (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_kp)) -> (reachable zenon_TY_jz zenon_TY_kp) -> False).
% 0.85/1.03  do 13 intro. intros zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H4 zenon_H21c zenon_H112.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_jz))/\(~(reachable zenon_TX_dr zenon_TY_jz)))); [ zenon_intro zenon_H21d | zenon_intro zenon_H21e ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H21d). zenon_intro zenon_H21f. zenon_intro zenon_H210.
% 0.85/1.03  apply (zenon_L35_ zenon_TY_jz zenon_TY_jj zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_jz zenon_TY_kp) = (reachable zenon_TX_dr zenon_TY_kp)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H21c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H112.
% 0.85/1.03  cut ((zenon_TY_kp = zenon_TY_kp)); [idtac | apply NNPP; zenon_intro zenon_H117].
% 0.85/1.03  cut ((zenon_TY_jz = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H220].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H21e); [ zenon_intro zenon_H222 | zenon_intro zenon_H221 ].
% 0.85/1.03  apply zenon_H222. zenon_intro zenon_H223.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_jz = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H220.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_jz)); [idtac | apply NNPP; zenon_intro zenon_H21f].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H21f zenon_H223).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H221. zenon_intro zenon_H21b.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_jz). zenon_intro zenon_H224.
% 0.85/1.03  generalize (zenon_H224 zenon_TY_kp). zenon_intro zenon_H225.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H225); [ zenon_intro zenon_H210 | zenon_intro zenon_H226 ].
% 0.85/1.03  exact (zenon_H210 zenon_H21b).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H226); [ zenon_intro zenon_H120 | zenon_intro zenon_H227 ].
% 0.85/1.03  exact (zenon_H120 zenon_H112).
% 0.85/1.03  exact (zenon_H21c zenon_H227).
% 0.85/1.03  apply zenon_H117. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L36_ *)
% 0.85/1.03  assert (zenon_L37_ : forall (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U), (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_lf)) -> (reachable zenon_TY_kp zenon_TY_lf) -> False).
% 0.85/1.03  do 14 intro. intros zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H4 zenon_H228 zenon_H122.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_kp))/\(~(reachable zenon_TX_dr zenon_TY_kp)))); [ zenon_intro zenon_H229 | zenon_intro zenon_H22a ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H229). zenon_intro zenon_H22b. zenon_intro zenon_H21c.
% 0.85/1.03  apply (zenon_L36_ zenon_TY_kp zenon_TY_jz zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_kp zenon_TY_lf) = (reachable zenon_TX_dr zenon_TY_lf)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H228.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H122.
% 0.85/1.03  cut ((zenon_TY_lf = zenon_TY_lf)); [idtac | apply NNPP; zenon_intro zenon_H127].
% 0.85/1.03  cut ((zenon_TY_kp = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H22c].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H22a); [ zenon_intro zenon_H22e | zenon_intro zenon_H22d ].
% 0.85/1.03  apply zenon_H22e. zenon_intro zenon_H22f.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_kp = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H22c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_kp)); [idtac | apply NNPP; zenon_intro zenon_H22b].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H22b zenon_H22f).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H22d. zenon_intro zenon_H227.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_kp). zenon_intro zenon_H230.
% 0.85/1.03  generalize (zenon_H230 zenon_TY_lf). zenon_intro zenon_H231.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H231); [ zenon_intro zenon_H21c | zenon_intro zenon_H232 ].
% 0.85/1.03  exact (zenon_H21c zenon_H227).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H232); [ zenon_intro zenon_H130 | zenon_intro zenon_H233 ].
% 0.85/1.03  exact (zenon_H130 zenon_H122).
% 0.85/1.03  exact (zenon_H228 zenon_H233).
% 0.85/1.03  apply zenon_H127. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L37_ *)
% 0.85/1.03  assert (zenon_L38_ : forall (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U), (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_lv)) -> (reachable zenon_TY_lf zenon_TY_lv) -> False).
% 0.85/1.03  do 15 intro. intros zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H4 zenon_H234 zenon_H132.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_lf))/\(~(reachable zenon_TX_dr zenon_TY_lf)))); [ zenon_intro zenon_H235 | zenon_intro zenon_H236 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H235). zenon_intro zenon_H237. zenon_intro zenon_H228.
% 0.85/1.03  apply (zenon_L37_ zenon_TY_lf zenon_TY_kp zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_lf zenon_TY_lv) = (reachable zenon_TX_dr zenon_TY_lv)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H234.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H132.
% 0.85/1.03  cut ((zenon_TY_lv = zenon_TY_lv)); [idtac | apply NNPP; zenon_intro zenon_H137].
% 0.85/1.03  cut ((zenon_TY_lf = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H238].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H236); [ zenon_intro zenon_H23a | zenon_intro zenon_H239 ].
% 0.85/1.03  apply zenon_H23a. zenon_intro zenon_H23b.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_lf = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H238.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_lf)); [idtac | apply NNPP; zenon_intro zenon_H237].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H237 zenon_H23b).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H239. zenon_intro zenon_H233.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_lf). zenon_intro zenon_H23c.
% 0.85/1.03  generalize (zenon_H23c zenon_TY_lv). zenon_intro zenon_H23d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H23d); [ zenon_intro zenon_H228 | zenon_intro zenon_H23e ].
% 0.85/1.03  exact (zenon_H228 zenon_H233).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H23e); [ zenon_intro zenon_H140 | zenon_intro zenon_H23f ].
% 0.85/1.03  exact (zenon_H140 zenon_H132).
% 0.85/1.03  exact (zenon_H234 zenon_H23f).
% 0.85/1.03  apply zenon_H137. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L38_ *)
% 0.85/1.03  assert (zenon_L39_ : forall (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U), (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_ml)) -> (reachable zenon_TY_lv zenon_TY_ml) -> False).
% 0.85/1.03  do 16 intro. intros zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H4 zenon_H240 zenon_H142.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_lv))/\(~(reachable zenon_TX_dr zenon_TY_lv)))); [ zenon_intro zenon_H241 | zenon_intro zenon_H242 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H241). zenon_intro zenon_H243. zenon_intro zenon_H234.
% 0.85/1.03  apply (zenon_L38_ zenon_TY_lv zenon_TY_lf zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_lv zenon_TY_ml) = (reachable zenon_TX_dr zenon_TY_ml)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H240.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H142.
% 0.85/1.03  cut ((zenon_TY_ml = zenon_TY_ml)); [idtac | apply NNPP; zenon_intro zenon_H147].
% 0.85/1.03  cut ((zenon_TY_lv = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H244].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H242); [ zenon_intro zenon_H246 | zenon_intro zenon_H245 ].
% 0.85/1.03  apply zenon_H246. zenon_intro zenon_H247.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_lv = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H244.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_lv)); [idtac | apply NNPP; zenon_intro zenon_H243].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H243 zenon_H247).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H245. zenon_intro zenon_H23f.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_lv). zenon_intro zenon_H248.
% 0.85/1.03  generalize (zenon_H248 zenon_TY_ml). zenon_intro zenon_H249.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H249); [ zenon_intro zenon_H234 | zenon_intro zenon_H24a ].
% 0.85/1.03  exact (zenon_H234 zenon_H23f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H24a); [ zenon_intro zenon_H150 | zenon_intro zenon_H24b ].
% 0.85/1.03  exact (zenon_H150 zenon_H142).
% 0.85/1.03  exact (zenon_H240 zenon_H24b).
% 0.85/1.03  apply zenon_H147. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L39_ *)
% 0.85/1.03  assert (zenon_L40_ : forall (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U), (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_nb)) -> (reachable zenon_TY_ml zenon_TY_nb) -> False).
% 0.85/1.03  do 17 intro. intros zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H4 zenon_H24c zenon_H152.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_ml))/\(~(reachable zenon_TX_dr zenon_TY_ml)))); [ zenon_intro zenon_H24d | zenon_intro zenon_H24e ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H24d). zenon_intro zenon_H24f. zenon_intro zenon_H240.
% 0.85/1.03  apply (zenon_L39_ zenon_TY_ml zenon_TY_lv zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_ml zenon_TY_nb) = (reachable zenon_TX_dr zenon_TY_nb)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H24c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H152.
% 0.85/1.03  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.03  cut ((zenon_TY_ml = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H250].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H24e); [ zenon_intro zenon_H252 | zenon_intro zenon_H251 ].
% 0.85/1.03  apply zenon_H252. zenon_intro zenon_H253.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_ml = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H250.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_ml)); [idtac | apply NNPP; zenon_intro zenon_H24f].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H24f zenon_H253).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H251. zenon_intro zenon_H24b.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_ml). zenon_intro zenon_H254.
% 0.85/1.03  generalize (zenon_H254 zenon_TY_nb). zenon_intro zenon_H255.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H255); [ zenon_intro zenon_H240 | zenon_intro zenon_H256 ].
% 0.85/1.03  exact (zenon_H240 zenon_H24b).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H256); [ zenon_intro zenon_H160 | zenon_intro zenon_H257 ].
% 0.85/1.03  exact (zenon_H160 zenon_H152).
% 0.85/1.03  exact (zenon_H24c zenon_H257).
% 0.85/1.03  apply zenon_H157. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L40_ *)
% 0.85/1.03  assert (zenon_L41_ : forall (zenon_TY_nr : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U), (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_ml zenon_TY_nb) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_nr)) -> (reachable zenon_TY_nb zenon_TY_nr) -> False).
% 0.85/1.03  do 18 intro. intros zenon_H142 zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H152 zenon_H4 zenon_H258 zenon_H162.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_nb))/\(~(reachable zenon_TX_dr zenon_TY_nb)))); [ zenon_intro zenon_H259 | zenon_intro zenon_H25a ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H259). zenon_intro zenon_H25b. zenon_intro zenon_H24c.
% 0.85/1.03  apply (zenon_L40_ zenon_TY_nb zenon_TY_ml zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_nb zenon_TY_nr) = (reachable zenon_TX_dr zenon_TY_nr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H258.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H162.
% 0.85/1.03  cut ((zenon_TY_nr = zenon_TY_nr)); [idtac | apply NNPP; zenon_intro zenon_H167].
% 0.85/1.03  cut ((zenon_TY_nb = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H25c].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H25a); [ zenon_intro zenon_H25e | zenon_intro zenon_H25d ].
% 0.85/1.03  apply zenon_H25e. zenon_intro zenon_H25f.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_nb = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H25c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H25b].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H25b zenon_H25f).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H25d. zenon_intro zenon_H257.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_nb). zenon_intro zenon_H260.
% 0.85/1.03  generalize (zenon_H260 zenon_TY_nr). zenon_intro zenon_H261.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H261); [ zenon_intro zenon_H24c | zenon_intro zenon_H262 ].
% 0.85/1.03  exact (zenon_H24c zenon_H257).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H262); [ zenon_intro zenon_H170 | zenon_intro zenon_H263 ].
% 0.85/1.03  exact (zenon_H170 zenon_H162).
% 0.85/1.03  exact (zenon_H258 zenon_H263).
% 0.85/1.03  apply zenon_H167. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L41_ *)
% 0.85/1.03  assert (zenon_L42_ : forall (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U), (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_oh)) -> (reachable zenon_TY_nr zenon_TY_oh) -> False).
% 0.85/1.03  do 19 intro. intros zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H4 zenon_H264 zenon_H172.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_nr))/\(~(reachable zenon_TX_dr zenon_TY_nr)))); [ zenon_intro zenon_H265 | zenon_intro zenon_H266 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H265). zenon_intro zenon_H267. zenon_intro zenon_H258.
% 0.85/1.03  apply (zenon_L41_ zenon_TY_nr zenon_TY_nb zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_nr zenon_TY_oh) = (reachable zenon_TX_dr zenon_TY_oh)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H264.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H172.
% 0.85/1.03  cut ((zenon_TY_oh = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H177].
% 0.85/1.03  cut ((zenon_TY_nr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H268].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H266); [ zenon_intro zenon_H26a | zenon_intro zenon_H269 ].
% 0.85/1.03  apply zenon_H26a. zenon_intro zenon_H26b.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_nr = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H268.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_nr)); [idtac | apply NNPP; zenon_intro zenon_H267].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H267 zenon_H26b).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H269. zenon_intro zenon_H263.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_nr). zenon_intro zenon_H26c.
% 0.85/1.03  generalize (zenon_H26c zenon_TY_oh). zenon_intro zenon_H26d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H26d); [ zenon_intro zenon_H258 | zenon_intro zenon_H26e ].
% 0.85/1.03  exact (zenon_H258 zenon_H263).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H26e); [ zenon_intro zenon_H180 | zenon_intro zenon_H26f ].
% 0.85/1.03  exact (zenon_H180 zenon_H172).
% 0.85/1.03  exact (zenon_H264 zenon_H26f).
% 0.85/1.03  apply zenon_H177. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L42_ *)
% 0.85/1.03  assert (zenon_L43_ : forall (zenon_TY_ox : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TY_nb : zenon_U), (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_nr zenon_TY_oh) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_ox)) -> (reachable zenon_TY_oh zenon_TY_ox) -> False).
% 0.85/1.03  do 20 intro. intros zenon_H162 zenon_H142 zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H152 zenon_H172 zenon_H4 zenon_H270 zenon_H182.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_oh))/\(~(reachable zenon_TX_dr zenon_TY_oh)))); [ zenon_intro zenon_H271 | zenon_intro zenon_H272 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H271). zenon_intro zenon_H273. zenon_intro zenon_H264.
% 0.85/1.03  apply (zenon_L42_ zenon_TY_oh zenon_TY_nr zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_oh zenon_TY_ox) = (reachable zenon_TX_dr zenon_TY_ox)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H270.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H182.
% 0.85/1.03  cut ((zenon_TY_ox = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H187].
% 0.85/1.03  cut ((zenon_TY_oh = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H274].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H272); [ zenon_intro zenon_H276 | zenon_intro zenon_H275 ].
% 0.85/1.03  apply zenon_H276. zenon_intro zenon_H277.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_oh = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H274.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H273].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H273 zenon_H277).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H275. zenon_intro zenon_H26f.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_oh). zenon_intro zenon_H278.
% 0.85/1.03  generalize (zenon_H278 zenon_TY_ox). zenon_intro zenon_H279.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H279); [ zenon_intro zenon_H264 | zenon_intro zenon_H27a ].
% 0.85/1.03  exact (zenon_H264 zenon_H26f).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H27a); [ zenon_intro zenon_H190 | zenon_intro zenon_H27b ].
% 0.85/1.03  exact (zenon_H190 zenon_H182).
% 0.85/1.03  exact (zenon_H270 zenon_H27b).
% 0.85/1.03  apply zenon_H187. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L43_ *)
% 0.85/1.03  assert (zenon_L44_ : forall (zenon_TY_pn : zenon_U) (zenon_TY_ox : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U), (reachable zenon_TY_nr zenon_TY_oh) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_oh zenon_TY_ox) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_pn)) -> (reachable zenon_TY_ox zenon_TY_pn) -> False).
% 0.85/1.03  do 21 intro. intros zenon_H172 zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H182 zenon_H4 zenon_H27c zenon_H192.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_ox))/\(~(reachable zenon_TX_dr zenon_TY_ox)))); [ zenon_intro zenon_H27d | zenon_intro zenon_H27e ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H27d). zenon_intro zenon_H27f. zenon_intro zenon_H270.
% 0.85/1.03  apply (zenon_L43_ zenon_TY_ox zenon_TY_oh zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv zenon_TY_nr zenon_TY_nb); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_ox zenon_TY_pn) = (reachable zenon_TX_dr zenon_TY_pn)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H27c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H192.
% 0.85/1.03  cut ((zenon_TY_pn = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H197].
% 0.85/1.03  cut ((zenon_TY_ox = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H280].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H27e); [ zenon_intro zenon_H282 | zenon_intro zenon_H281 ].
% 0.85/1.03  apply zenon_H282. zenon_intro zenon_H283.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_ox = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H280.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H27f].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H27f zenon_H283).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H281. zenon_intro zenon_H27b.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_ox). zenon_intro zenon_H284.
% 0.85/1.03  generalize (zenon_H284 zenon_TY_pn). zenon_intro zenon_H285.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H285); [ zenon_intro zenon_H270 | zenon_intro zenon_H286 ].
% 0.85/1.03  exact (zenon_H270 zenon_H27b).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H286); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H287 ].
% 0.85/1.03  exact (zenon_H1a0 zenon_H192).
% 0.85/1.03  exact (zenon_H27c zenon_H287).
% 0.85/1.03  apply zenon_H197. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L44_ *)
% 0.85/1.03  assert (zenon_L45_ : forall (zenon_TY_za : zenon_U) (zenon_TY_pn : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ox : zenon_U) (zenon_TY_oh : zenon_U), (reachable zenon_TY_oh zenon_TY_ox) -> (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_nr zenon_TY_oh) -> (reachable zenon_TY_ox zenon_TY_pn) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_za)) -> (reachable zenon_TY_pn zenon_TY_za) -> False).
% 0.85/1.03  do 22 intro. intros zenon_H182 zenon_H162 zenon_H142 zenon_H122 zenon_H102 zenon_He2 zenon_Hc2 zenon_Ha2 zenon_H82 zenon_H5d zenon_H72 zenon_H92 zenon_Hb2 zenon_Hd2 zenon_Hf2 zenon_H112 zenon_H132 zenon_H152 zenon_H172 zenon_H192 zenon_H4 zenon_H288 zenon_H289.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_pn))/\(~(reachable zenon_TX_dr zenon_TY_pn)))); [ zenon_intro zenon_H28b | zenon_intro zenon_H28c ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H28b). zenon_intro zenon_H28d. zenon_intro zenon_H27c.
% 0.85/1.03  apply (zenon_L44_ zenon_TY_pn zenon_TY_ox zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml zenon_TY_oh zenon_TY_nr); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_pn zenon_TY_za) = (reachable zenon_TX_dr zenon_TY_za)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H288.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H289.
% 0.85/1.03  cut ((zenon_TY_za = zenon_TY_za)); [idtac | apply NNPP; zenon_intro zenon_H28e].
% 0.85/1.03  cut ((zenon_TY_pn = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H28f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H28c); [ zenon_intro zenon_H291 | zenon_intro zenon_H290 ].
% 0.85/1.03  apply zenon_H291. zenon_intro zenon_H292.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_pn = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H28f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H28d].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H28d zenon_H292).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H290. zenon_intro zenon_H287.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_pn). zenon_intro zenon_H293.
% 0.85/1.03  generalize (zenon_H293 zenon_TY_za). zenon_intro zenon_H294.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H294); [ zenon_intro zenon_H27c | zenon_intro zenon_H295 ].
% 0.85/1.03  exact (zenon_H27c zenon_H287).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H295); [ zenon_intro zenon_H297 | zenon_intro zenon_H296 ].
% 0.85/1.03  exact (zenon_H297 zenon_H289).
% 0.85/1.03  exact (zenon_H288 zenon_H296).
% 0.85/1.03  apply zenon_H28e. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L45_ *)
% 0.85/1.03  assert (zenon_L46_ : forall (zenon_TY_zq : zenon_U) (zenon_TY_za : zenon_U) (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TY_pn : zenon_U) (zenon_TY_ox : zenon_U), (reachable zenon_TY_ox zenon_TY_pn) -> (reachable zenon_TY_nr zenon_TY_oh) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_oh zenon_TY_ox) -> (reachable zenon_TY_pn zenon_TY_za) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(reachable zenon_TX_dr zenon_TY_zq)) -> (reachable zenon_TY_za zenon_TY_zq) -> False).
% 0.85/1.03  do 23 intro. intros zenon_H192 zenon_H172 zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H182 zenon_H289 zenon_H4 zenon_H298 zenon_H299.
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_za))/\(~(reachable zenon_TX_dr zenon_TY_za)))); [ zenon_intro zenon_H29b | zenon_intro zenon_H29c ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H29b). zenon_intro zenon_H29d. zenon_intro zenon_H288.
% 0.85/1.03  apply (zenon_L45_ zenon_TY_za zenon_TY_pn zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv zenon_TY_nr zenon_TY_nb zenon_TY_ox zenon_TY_oh); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_za zenon_TY_zq) = (reachable zenon_TX_dr zenon_TY_zq)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H298.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H299.
% 0.85/1.03  cut ((zenon_TY_zq = zenon_TY_zq)); [idtac | apply NNPP; zenon_intro zenon_H29e].
% 0.85/1.03  cut ((zenon_TY_za = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H29f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H29c); [ zenon_intro zenon_H2a1 | zenon_intro zenon_H2a0 ].
% 0.85/1.03  apply zenon_H2a1. zenon_intro zenon_H2a2.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_za = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H29f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_za)); [idtac | apply NNPP; zenon_intro zenon_H29d].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H29d zenon_H2a2).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H2a0. zenon_intro zenon_H296.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_za). zenon_intro zenon_H2a3.
% 0.85/1.03  generalize (zenon_H2a3 zenon_TY_zq). zenon_intro zenon_H2a4.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2a4); [ zenon_intro zenon_H288 | zenon_intro zenon_H2a5 ].
% 0.85/1.03  exact (zenon_H288 zenon_H296).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2a5); [ zenon_intro zenon_H2a7 | zenon_intro zenon_H2a6 ].
% 0.85/1.03  exact (zenon_H2a7 zenon_H299).
% 0.85/1.03  exact (zenon_H298 zenon_H2a6).
% 0.85/1.03  apply zenon_H29e. apply refl_equal.
% 0.85/1.03  (* end of lemma zenon_L46_ *)
% 0.85/1.03  assert (zenon_L47_ : forall (zenon_TX_dr : zenon_U) (zenon_TY_el : zenon_U) (zenon_TY_dq : zenon_U) (zenon_TY_fr : zenon_U) (zenon_TY_fb : zenon_U) (zenon_TY_gx : zenon_U) (zenon_TY_gh : zenon_U) (zenon_TY_id : zenon_U) (zenon_TY_hn : zenon_U) (zenon_TY_jj : zenon_U) (zenon_TY_it : zenon_U) (zenon_TY_kp : zenon_U) (zenon_TY_jz : zenon_U) (zenon_TY_lv : zenon_U) (zenon_TY_lf : zenon_U) (zenon_TY_nb : zenon_U) (zenon_TY_ml : zenon_U) (zenon_TY_oh : zenon_U) (zenon_TY_nr : zenon_U) (zenon_TY_pn : zenon_U) (zenon_TY_ox : zenon_U) (zenon_TY_za : zenon_U) (zenon_TY_zq : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z)))))) -> (~(forall W : zenon_U, ((reachable zenon_TY_zq W)->(p W)))) -> (reachable zenon_TY_za zenon_TY_zq) -> (reachable zenon_TY_ox zenon_TY_pn) -> (reachable zenon_TY_nr zenon_TY_oh) -> (reachable zenon_TY_ml zenon_TY_nb) -> (reachable zenon_TY_lf zenon_TY_lv) -> (reachable zenon_TY_jz zenon_TY_kp) -> (reachable zenon_TY_it zenon_TY_jj) -> (reachable zenon_TY_hn zenon_TY_id) -> (reachable zenon_TY_gh zenon_TY_gx) -> (reachable zenon_TY_fb zenon_TY_fr) -> (reachable zenon_TY_dq zenon_TY_el) -> (reachable zenon_TX_dr zenon_TY_dq) -> (reachable zenon_TY_el zenon_TY_fb) -> (reachable zenon_TY_fr zenon_TY_gh) -> (reachable zenon_TY_gx zenon_TY_hn) -> (reachable zenon_TY_id zenon_TY_it) -> (reachable zenon_TY_jj zenon_TY_jz) -> (reachable zenon_TY_kp zenon_TY_lf) -> (reachable zenon_TY_lv zenon_TY_ml) -> (reachable zenon_TY_nb zenon_TY_nr) -> (reachable zenon_TY_oh zenon_TY_ox) -> (reachable zenon_TY_pn zenon_TY_za) -> (forall Y : zenon_U, ((reachable zenon_TX_dr Y)->(p Y))) -> False).
% 0.85/1.03  do 23 intro. intros zenon_H4 zenon_H2a8 zenon_H299 zenon_H192 zenon_H172 zenon_H152 zenon_H132 zenon_H112 zenon_Hf2 zenon_Hd2 zenon_Hb2 zenon_H92 zenon_H72 zenon_H5d zenon_H82 zenon_Ha2 zenon_Hc2 zenon_He2 zenon_H102 zenon_H122 zenon_H142 zenon_H162 zenon_H182 zenon_H289 zenon_H2a9.
% 0.85/1.03  apply (zenon_notallex_s (fun W : zenon_U => ((reachable zenon_TY_zq W)->(p W))) zenon_H2a8); [ zenon_intro zenon_H2aa; idtac ].
% 0.85/1.03  elim zenon_H2aa. zenon_intro zenon_TW_bah. zenon_intro zenon_H2ac.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H2ac). zenon_intro zenon_H2ae. zenon_intro zenon_H2ad.
% 0.85/1.03  generalize (zenon_H2a9 zenon_TW_bah). zenon_intro zenon_H2af.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2af); [ zenon_intro zenon_H2b1 | zenon_intro zenon_H2b0 ].
% 0.85/1.03  elim (classic ((~(zenon_TX_dr = zenon_TY_zq))/\(~(reachable zenon_TX_dr zenon_TY_zq)))); [ zenon_intro zenon_H2b2 | zenon_intro zenon_H2b3 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2b2). zenon_intro zenon_H2b4. zenon_intro zenon_H298.
% 0.85/1.03  apply (zenon_L46_ zenon_TY_zq zenon_TY_za zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml zenon_TY_oh zenon_TY_nr zenon_TY_pn zenon_TY_ox); trivial.
% 0.85/1.03  cut ((reachable zenon_TY_zq zenon_TW_bah) = (reachable zenon_TX_dr zenon_TW_bah)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H2b1.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H2ae.
% 0.85/1.03  cut ((zenon_TW_bah = zenon_TW_bah)); [idtac | apply NNPP; zenon_intro zenon_H2b5].
% 0.85/1.03  cut ((zenon_TY_zq = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H2b6].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H2b3); [ zenon_intro zenon_H2b8 | zenon_intro zenon_H2b7 ].
% 0.85/1.03  apply zenon_H2b8. zenon_intro zenon_H2b9.
% 0.85/1.03  elim (classic (zenon_TX_dr = zenon_TX_dr)); [ zenon_intro zenon_H1a9 | zenon_intro zenon_H1aa ].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr) = (zenon_TY_zq = zenon_TX_dr)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H2b6.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1a9.
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TX_dr)); [idtac | apply NNPP; zenon_intro zenon_H1aa].
% 0.85/1.03  cut ((zenon_TX_dr = zenon_TY_zq)); [idtac | apply NNPP; zenon_intro zenon_H2b4].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H2b4 zenon_H2b9).
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H1aa. apply refl_equal.
% 0.85/1.03  apply zenon_H2b7. zenon_intro zenon_H2a6.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_dr). zenon_intro zenon_H1ab.
% 0.85/1.03  generalize (zenon_H1ab zenon_TY_zq). zenon_intro zenon_H2ba.
% 0.85/1.03  generalize (zenon_H2ba zenon_TW_bah). zenon_intro zenon_H2bb.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2bb); [ zenon_intro zenon_H298 | zenon_intro zenon_H2bc ].
% 0.85/1.03  exact (zenon_H298 zenon_H2a6).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2bc); [ zenon_intro zenon_H2be | zenon_intro zenon_H2bd ].
% 0.85/1.03  exact (zenon_H2be zenon_H2ae).
% 0.85/1.03  exact (zenon_H2b1 zenon_H2bd).
% 0.85/1.03  apply zenon_H2b5. apply refl_equal.
% 0.85/1.03  exact (zenon_H2ad zenon_H2b0).
% 0.85/1.03  (* end of lemma zenon_L47_ *)
% 0.85/1.03  apply NNPP. intro zenon_G.
% 0.85/1.03  elim (classic (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((reachable x y)->((reachable y z)->(reachable x z))))))); [ zenon_intro zenon_H4 | zenon_intro zenon_H2bf ].
% 0.85/1.03  apply (zenon_notequiv_s _ _ zenon_G); [ zenon_intro zenon_H2c3; zenon_intro zenon_H2c2 | zenon_intro zenon_H2c1; zenon_intro zenon_H2c0 ].
% 0.85/1.03  elim zenon_H2c2. zenon_intro zenon_TX_j. zenon_intro zenon_H2c4.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2c4). zenon_intro zenon_H2c6. zenon_intro zenon_H2c5.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TX_j). zenon_intro zenon_H2c7.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2c7); [ zenon_intro zenon_H2c9 | zenon_intro zenon_H2c8 ].
% 0.85/1.03  generalize (reflexivity_of_reachable zenon_TX_j). zenon_intro zenon_H2ca.
% 0.85/1.03  exact (zenon_H2c9 zenon_H2ca).
% 0.85/1.03  elim zenon_H2c8. zenon_intro zenon_TZ_i. zenon_intro zenon_H2cb.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2cb). zenon_intro zenon_H3. zenon_intro zenon_H2cc.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_i). zenon_intro zenon_H2cd.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2cd); [ zenon_intro zenon_Hc | zenon_intro zenon_H2ce ].
% 0.85/1.03  exact (zenon_Hc zenon_H3).
% 0.85/1.03  elim zenon_H2ce. zenon_intro zenon_TZ_h. zenon_intro zenon_H2cf.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2cf). zenon_intro zenon_H6. zenon_intro zenon_H2d0.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_h). zenon_intro zenon_H2d1.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2d1); [ zenon_intro zenon_H5 | zenon_intro zenon_H2d2 ].
% 0.85/1.03  apply (zenon_L1_ zenon_TZ_h zenon_TZ_i zenon_TX_j); trivial.
% 0.85/1.03  elim zenon_H2d2. zenon_intro zenon_TZ_bd. zenon_intro zenon_H2d3.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2d3). zenon_intro zenon_H1c. zenon_intro zenon_H2d4.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_bd). zenon_intro zenon_H2d5.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2d5); [ zenon_intro zenon_H1b | zenon_intro zenon_H2d6 ].
% 0.85/1.03  apply (zenon_L2_ zenon_TZ_bd zenon_TZ_h zenon_TZ_i zenon_TX_j); trivial.
% 0.85/1.03  elim zenon_H2d6. zenon_intro zenon_TZ_bt. zenon_intro zenon_H2d7.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2d7). zenon_intro zenon_H2c. zenon_intro zenon_H2d8.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_bt). zenon_intro zenon_H2d9.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2d9); [ zenon_intro zenon_H2b | zenon_intro zenon_H2da ].
% 0.85/1.03  apply (zenon_L3_ zenon_TZ_bt zenon_TZ_bd zenon_TX_j zenon_TZ_h zenon_TZ_i); trivial.
% 0.85/1.03  elim zenon_H2da. zenon_intro zenon_TZ_cj. zenon_intro zenon_H2db.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2db). zenon_intro zenon_H3c. zenon_intro zenon_H2dc.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_cj). zenon_intro zenon_H2dd.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2dd); [ zenon_intro zenon_H3b | zenon_intro zenon_H2de ].
% 0.85/1.03  apply (zenon_L4_ zenon_TZ_cj zenon_TZ_bt zenon_TZ_i zenon_TX_j zenon_TZ_bd zenon_TZ_h); trivial.
% 0.85/1.03  elim zenon_H2de. zenon_intro zenon_TZ_cz. zenon_intro zenon_H2df.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2df). zenon_intro zenon_H4c. zenon_intro zenon_H2e0.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_cz). zenon_intro zenon_H2e1.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2e1); [ zenon_intro zenon_H4b | zenon_intro zenon_H2e2 ].
% 0.85/1.03  apply (zenon_L5_ zenon_TZ_cz zenon_TZ_cj zenon_TX_j zenon_TZ_h zenon_TZ_i zenon_TZ_bt zenon_TZ_bd); trivial.
% 0.85/1.03  elim zenon_H2e2. zenon_intro zenon_TZ_bcl. zenon_intro zenon_H2e4.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2e4). zenon_intro zenon_H2e6. zenon_intro zenon_H2e5.
% 0.85/1.03  generalize (zenon_H2c5 zenon_TZ_bcl). zenon_intro zenon_H2e7.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2e7); [ zenon_intro zenon_H2e9 | zenon_intro zenon_H2e8 ].
% 0.85/1.03  elim (classic ((~(zenon_TX_j = zenon_TZ_cz))/\(~(reachable zenon_TX_j zenon_TZ_cz)))); [ zenon_intro zenon_H2ea | zenon_intro zenon_H2eb ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2ea). zenon_intro zenon_H2ec. zenon_intro zenon_H4b.
% 0.85/1.03  apply (zenon_L5_ zenon_TZ_cz zenon_TZ_cj zenon_TX_j zenon_TZ_h zenon_TZ_i zenon_TZ_bt zenon_TZ_bd); trivial.
% 0.85/1.03  cut ((reachable zenon_TZ_cz zenon_TZ_bcl) = (reachable zenon_TX_j zenon_TZ_bcl)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H2e9.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H2e6.
% 0.85/1.03  cut ((zenon_TZ_bcl = zenon_TZ_bcl)); [idtac | apply NNPP; zenon_intro zenon_H2ed].
% 0.85/1.03  cut ((zenon_TZ_cz = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H2ee].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H2eb); [ zenon_intro zenon_H2f0 | zenon_intro zenon_H2ef ].
% 0.85/1.03  apply zenon_H2f0. zenon_intro zenon_H2f1.
% 0.85/1.03  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H13 | zenon_intro zenon_H14 ].
% 0.85/1.03  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TZ_cz = zenon_TX_j)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H2ee.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H13.
% 0.85/1.03  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H14].
% 0.85/1.03  cut ((zenon_TX_j = zenon_TZ_cz)); [idtac | apply NNPP; zenon_intro zenon_H2ec].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H2ec zenon_H2f1).
% 0.85/1.03  apply zenon_H14. apply refl_equal.
% 0.85/1.03  apply zenon_H14. apply refl_equal.
% 0.85/1.03  apply zenon_H2ef. zenon_intro zenon_H59.
% 0.85/1.03  generalize (zenon_H4 zenon_TX_j). zenon_intro zenon_H15.
% 0.85/1.03  generalize (zenon_H15 zenon_TZ_cz). zenon_intro zenon_H2f2.
% 0.85/1.03  generalize (zenon_H2f2 zenon_TZ_bcl). zenon_intro zenon_H2f3.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2f3); [ zenon_intro zenon_H4b | zenon_intro zenon_H2f4 ].
% 0.85/1.03  exact (zenon_H4b zenon_H59).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H2f4); [ zenon_intro zenon_H2f6 | zenon_intro zenon_H2f5 ].
% 0.85/1.03  exact (zenon_H2f6 zenon_H2e6).
% 0.85/1.03  exact (zenon_H2e9 zenon_H2f5).
% 0.85/1.03  apply zenon_H2ed. apply refl_equal.
% 0.85/1.03  elim zenon_H2e8. zenon_intro zenon_TZ_bdf. zenon_intro zenon_H2f8.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2f8). zenon_intro zenon_H2fa. zenon_intro zenon_H2f9.
% 0.85/1.03  apply zenon_H2c3. exists zenon_TZ_bdf. apply NNPP. zenon_intro zenon_H2fb.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H2fb); [ zenon_intro zenon_H2fd | zenon_intro zenon_H2fc ].
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_bcl))/\(~(reachable (initial_world) zenon_TZ_bcl)))); [ zenon_intro zenon_H2fe | zenon_intro zenon_H2ff ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H2fe). zenon_intro zenon_H301. zenon_intro zenon_H300.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_cz))/\(~(reachable (initial_world) zenon_TZ_cz)))); [ zenon_intro zenon_H302 | zenon_intro zenon_H303 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H302). zenon_intro zenon_H305. zenon_intro zenon_H304.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_cj))/\(~(reachable (initial_world) zenon_TZ_cj)))); [ zenon_intro zenon_H306 | zenon_intro zenon_H307 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H306). zenon_intro zenon_H309. zenon_intro zenon_H308.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_bt))/\(~(reachable (initial_world) zenon_TZ_bt)))); [ zenon_intro zenon_H30a | zenon_intro zenon_H30b ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H30a). zenon_intro zenon_H30d. zenon_intro zenon_H30c.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_bd))/\(~(reachable (initial_world) zenon_TZ_bd)))); [ zenon_intro zenon_H30e | zenon_intro zenon_H30f ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H30e). zenon_intro zenon_H311. zenon_intro zenon_H310.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_h))/\(~(reachable (initial_world) zenon_TZ_h)))); [ zenon_intro zenon_H312 | zenon_intro zenon_H313 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H312). zenon_intro zenon_H315. zenon_intro zenon_H314.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TZ_i))/\(~(reachable (initial_world) zenon_TZ_i)))); [ zenon_intro zenon_H316 | zenon_intro zenon_H317 ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H316). zenon_intro zenon_H319. zenon_intro zenon_H318.
% 0.85/1.03  elim (classic ((~((initial_world) = zenon_TX_j))/\(~(reachable (initial_world) zenon_TX_j)))); [ zenon_intro zenon_H31a | zenon_intro zenon_H31b ].
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H31a). zenon_intro zenon_H31d. zenon_intro zenon_H31c.
% 0.85/1.03  exact (zenon_H31c zenon_H2c6).
% 0.85/1.03  cut ((reachable zenon_TX_j zenon_TZ_i) = (reachable (initial_world) zenon_TZ_i)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H318.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H3.
% 0.85/1.03  cut ((zenon_TZ_i = zenon_TZ_i)); [idtac | apply NNPP; zenon_intro zenon_H31e].
% 0.85/1.03  cut ((zenon_TX_j = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H31f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H31b); [ zenon_intro zenon_H321 | zenon_intro zenon_H320 ].
% 0.85/1.03  apply zenon_H321. zenon_intro zenon_H322.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TX_j = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H31f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H31d].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H31d zenon_H322).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H320. zenon_intro zenon_H2c6.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TX_j). zenon_intro zenon_H323.
% 0.85/1.03  generalize (zenon_H323 zenon_TZ_i). zenon_intro zenon_H324.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H324); [ zenon_intro zenon_H31c | zenon_intro zenon_H325 ].
% 0.85/1.03  exact (zenon_H31c zenon_H2c6).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H325); [ zenon_intro zenon_Hc | zenon_intro zenon_H326 ].
% 0.85/1.03  exact (zenon_Hc zenon_H3).
% 0.85/1.03  exact (zenon_H318 zenon_H326).
% 0.85/1.03  apply zenon_H31e. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_i zenon_TZ_h) = (reachable (initial_world) zenon_TZ_h)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H314.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H6.
% 0.85/1.03  cut ((zenon_TZ_h = zenon_TZ_h)); [idtac | apply NNPP; zenon_intro zenon_He].
% 0.85/1.03  cut ((zenon_TZ_i = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H327].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H317); [ zenon_intro zenon_H329 | zenon_intro zenon_H328 ].
% 0.85/1.03  apply zenon_H329. zenon_intro zenon_H32a.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_i = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H327.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_i)); [idtac | apply NNPP; zenon_intro zenon_H319].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H319 zenon_H32a).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H328. zenon_intro zenon_H326.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_i). zenon_intro zenon_H32b.
% 0.85/1.03  generalize (zenon_H32b zenon_TZ_h). zenon_intro zenon_H32c.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H32c); [ zenon_intro zenon_H318 | zenon_intro zenon_H32d ].
% 0.85/1.03  exact (zenon_H318 zenon_H326).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H32d); [ zenon_intro zenon_H1a | zenon_intro zenon_H32e ].
% 0.85/1.03  exact (zenon_H1a zenon_H6).
% 0.85/1.03  exact (zenon_H314 zenon_H32e).
% 0.85/1.03  apply zenon_He. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_h zenon_TZ_bd) = (reachable (initial_world) zenon_TZ_bd)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H310.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H1c.
% 0.85/1.03  cut ((zenon_TZ_bd = zenon_TZ_bd)); [idtac | apply NNPP; zenon_intro zenon_H21].
% 0.85/1.03  cut ((zenon_TZ_h = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H32f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H313); [ zenon_intro zenon_H331 | zenon_intro zenon_H330 ].
% 0.85/1.03  apply zenon_H331. zenon_intro zenon_H332.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_h = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H32f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_h)); [idtac | apply NNPP; zenon_intro zenon_H315].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H315 zenon_H332).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H330. zenon_intro zenon_H32e.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_h). zenon_intro zenon_H333.
% 0.85/1.03  generalize (zenon_H333 zenon_TZ_bd). zenon_intro zenon_H334.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H334); [ zenon_intro zenon_H314 | zenon_intro zenon_H335 ].
% 0.85/1.03  exact (zenon_H314 zenon_H32e).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H335); [ zenon_intro zenon_H2a | zenon_intro zenon_H336 ].
% 0.85/1.03  exact (zenon_H2a zenon_H1c).
% 0.85/1.03  exact (zenon_H310 zenon_H336).
% 0.85/1.03  apply zenon_H21. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_bd zenon_TZ_bt) = (reachable (initial_world) zenon_TZ_bt)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H30c.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H2c.
% 0.85/1.03  cut ((zenon_TZ_bt = zenon_TZ_bt)); [idtac | apply NNPP; zenon_intro zenon_H31].
% 0.85/1.03  cut ((zenon_TZ_bd = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H337].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H30f); [ zenon_intro zenon_H339 | zenon_intro zenon_H338 ].
% 0.85/1.03  apply zenon_H339. zenon_intro zenon_H33a.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_bd = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H337.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_bd)); [idtac | apply NNPP; zenon_intro zenon_H311].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H311 zenon_H33a).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H338. zenon_intro zenon_H336.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_bd). zenon_intro zenon_H33b.
% 0.85/1.03  generalize (zenon_H33b zenon_TZ_bt). zenon_intro zenon_H33c.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H33c); [ zenon_intro zenon_H310 | zenon_intro zenon_H33d ].
% 0.85/1.03  exact (zenon_H310 zenon_H336).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H33d); [ zenon_intro zenon_H3a | zenon_intro zenon_H33e ].
% 0.85/1.03  exact (zenon_H3a zenon_H2c).
% 0.85/1.03  exact (zenon_H30c zenon_H33e).
% 0.85/1.03  apply zenon_H31. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_bt zenon_TZ_cj) = (reachable (initial_world) zenon_TZ_cj)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H308.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H3c.
% 0.85/1.03  cut ((zenon_TZ_cj = zenon_TZ_cj)); [idtac | apply NNPP; zenon_intro zenon_H41].
% 0.85/1.03  cut ((zenon_TZ_bt = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H33f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H30b); [ zenon_intro zenon_H341 | zenon_intro zenon_H340 ].
% 0.85/1.03  apply zenon_H341. zenon_intro zenon_H342.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_bt = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H33f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_bt)); [idtac | apply NNPP; zenon_intro zenon_H30d].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H30d zenon_H342).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H340. zenon_intro zenon_H33e.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_bt). zenon_intro zenon_H343.
% 0.85/1.03  generalize (zenon_H343 zenon_TZ_cj). zenon_intro zenon_H344.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H344); [ zenon_intro zenon_H30c | zenon_intro zenon_H345 ].
% 0.85/1.03  exact (zenon_H30c zenon_H33e).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H345); [ zenon_intro zenon_H4a | zenon_intro zenon_H346 ].
% 0.85/1.03  exact (zenon_H4a zenon_H3c).
% 0.85/1.03  exact (zenon_H308 zenon_H346).
% 0.85/1.03  apply zenon_H41. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_cj zenon_TZ_cz) = (reachable (initial_world) zenon_TZ_cz)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H304.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H4c.
% 0.85/1.03  cut ((zenon_TZ_cz = zenon_TZ_cz)); [idtac | apply NNPP; zenon_intro zenon_H51].
% 0.85/1.03  cut ((zenon_TZ_cj = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H347].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H307); [ zenon_intro zenon_H349 | zenon_intro zenon_H348 ].
% 0.85/1.03  apply zenon_H349. zenon_intro zenon_H34a.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_cj = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H347.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_cj)); [idtac | apply NNPP; zenon_intro zenon_H309].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H309 zenon_H34a).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H348. zenon_intro zenon_H346.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_cj). zenon_intro zenon_H34b.
% 0.85/1.03  generalize (zenon_H34b zenon_TZ_cz). zenon_intro zenon_H34c.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H34c); [ zenon_intro zenon_H308 | zenon_intro zenon_H34d ].
% 0.85/1.03  exact (zenon_H308 zenon_H346).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H34d); [ zenon_intro zenon_H5a | zenon_intro zenon_H34e ].
% 0.85/1.03  exact (zenon_H5a zenon_H4c).
% 0.85/1.03  exact (zenon_H304 zenon_H34e).
% 0.85/1.03  apply zenon_H51. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_cz zenon_TZ_bcl) = (reachable (initial_world) zenon_TZ_bcl)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H300.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H2e6.
% 0.85/1.03  cut ((zenon_TZ_bcl = zenon_TZ_bcl)); [idtac | apply NNPP; zenon_intro zenon_H2ed].
% 0.85/1.03  cut ((zenon_TZ_cz = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H34f].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H303); [ zenon_intro zenon_H351 | zenon_intro zenon_H350 ].
% 0.85/1.03  apply zenon_H351. zenon_intro zenon_H352.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_cz = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H34f.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_cz)); [idtac | apply NNPP; zenon_intro zenon_H305].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H305 zenon_H352).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H350. zenon_intro zenon_H34e.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_cz). zenon_intro zenon_H353.
% 0.85/1.03  generalize (zenon_H353 zenon_TZ_bcl). zenon_intro zenon_H354.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H354); [ zenon_intro zenon_H304 | zenon_intro zenon_H355 ].
% 0.85/1.03  exact (zenon_H304 zenon_H34e).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H355); [ zenon_intro zenon_H2f6 | zenon_intro zenon_H356 ].
% 0.85/1.03  exact (zenon_H2f6 zenon_H2e6).
% 0.85/1.03  exact (zenon_H300 zenon_H356).
% 0.85/1.03  apply zenon_H2ed. apply refl_equal.
% 0.85/1.03  cut ((reachable zenon_TZ_bcl zenon_TZ_bdf) = (reachable (initial_world) zenon_TZ_bdf)).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H2fd.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H2fa.
% 0.85/1.03  cut ((zenon_TZ_bdf = zenon_TZ_bdf)); [idtac | apply NNPP; zenon_intro zenon_H357].
% 0.85/1.03  cut ((zenon_TZ_bcl = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H358].
% 0.85/1.03  congruence.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H2ff); [ zenon_intro zenon_H35a | zenon_intro zenon_H359 ].
% 0.85/1.03  apply zenon_H35a. zenon_intro zenon_H35b.
% 0.85/1.03  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.03  cut (((initial_world) = (initial_world)) = (zenon_TZ_bcl = (initial_world))).
% 0.85/1.03  intro zenon_D_pnotp.
% 0.85/1.03  apply zenon_H358.
% 0.85/1.03  rewrite <- zenon_D_pnotp.
% 0.85/1.03  exact zenon_H69.
% 0.85/1.03  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.03  cut (((initial_world) = zenon_TZ_bcl)); [idtac | apply NNPP; zenon_intro zenon_H301].
% 0.85/1.03  congruence.
% 0.85/1.03  exact (zenon_H301 zenon_H35b).
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H6a. apply refl_equal.
% 0.85/1.03  apply zenon_H359. zenon_intro zenon_H356.
% 0.85/1.03  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.03  generalize (zenon_H6b zenon_TZ_bcl). zenon_intro zenon_H35c.
% 0.85/1.03  generalize (zenon_H35c zenon_TZ_bdf). zenon_intro zenon_H35d.
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H35d); [ zenon_intro zenon_H300 | zenon_intro zenon_H35e ].
% 0.85/1.03  exact (zenon_H300 zenon_H356).
% 0.85/1.03  apply (zenon_imply_s _ _ zenon_H35e); [ zenon_intro zenon_H360 | zenon_intro zenon_H35f ].
% 0.85/1.03  exact (zenon_H360 zenon_H2fa).
% 0.85/1.03  exact (zenon_H2fd zenon_H35f).
% 0.85/1.03  apply zenon_H357. apply refl_equal.
% 0.85/1.03  exact (zenon_H2fc zenon_H2f9).
% 0.85/1.03  elim zenon_H2c1. zenon_intro zenon_TX_dr. zenon_intro zenon_H361.
% 0.85/1.03  apply (zenon_and_s _ _ zenon_H361). zenon_intro zenon_H5b. zenon_intro zenon_H2a9.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TX_dr. apply NNPP. zenon_intro zenon_H362.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H362); [ zenon_intro zenon_H62 | zenon_intro zenon_H363 ].
% 0.85/1.03  exact (zenon_H62 zenon_H5b).
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TX_dr Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H363); [ zenon_intro zenon_H364; idtac ].
% 0.85/1.03  elim zenon_H364. zenon_intro zenon_TY_dq. zenon_intro zenon_H365.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H365). zenon_intro zenon_H5d. zenon_intro zenon_H366.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_dq. apply NNPP. zenon_intro zenon_H367.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H367); [ zenon_intro zenon_H5c | zenon_intro zenon_H368 ].
% 0.85/1.03  apply (zenon_L6_ zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_dq Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H368); [ zenon_intro zenon_H369; idtac ].
% 0.85/1.03  elim zenon_H369. zenon_intro zenon_TY_el. zenon_intro zenon_H36a.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H36a). zenon_intro zenon_H72. zenon_intro zenon_H36b.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_el. apply NNPP. zenon_intro zenon_H36c.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H36c); [ zenon_intro zenon_H71 | zenon_intro zenon_H36d ].
% 0.85/1.03  apply (zenon_L7_ zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_el Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H36d); [ zenon_intro zenon_H36e; idtac ].
% 0.85/1.03  elim zenon_H36e. zenon_intro zenon_TY_fb. zenon_intro zenon_H36f.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H36f). zenon_intro zenon_H82. zenon_intro zenon_H370.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_fb. apply NNPP. zenon_intro zenon_H371.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H371); [ zenon_intro zenon_H81 | zenon_intro zenon_H372 ].
% 0.85/1.03  apply (zenon_L8_ zenon_TY_fb zenon_TY_el zenon_TY_dq zenon_TX_dr); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_fb Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H372); [ zenon_intro zenon_H373; idtac ].
% 0.85/1.03  elim zenon_H373. zenon_intro zenon_TY_fr. zenon_intro zenon_H374.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H374). zenon_intro zenon_H92. zenon_intro zenon_H375.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_fr. apply NNPP. zenon_intro zenon_H376.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H376); [ zenon_intro zenon_H91 | zenon_intro zenon_H377 ].
% 0.85/1.03  apply (zenon_L9_ zenon_TY_fr zenon_TY_fb zenon_TX_dr zenon_TY_el zenon_TY_dq); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_fr Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H377); [ zenon_intro zenon_H378; idtac ].
% 0.85/1.03  elim zenon_H378. zenon_intro zenon_TY_gh. zenon_intro zenon_H379.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H379). zenon_intro zenon_Ha2. zenon_intro zenon_H37a.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_gh. apply NNPP. zenon_intro zenon_H37b.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H37b); [ zenon_intro zenon_Ha1 | zenon_intro zenon_H37c ].
% 0.85/1.03  apply (zenon_L10_ zenon_TY_gh zenon_TY_fr zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_gh Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H37c); [ zenon_intro zenon_H37d; idtac ].
% 0.85/1.03  elim zenon_H37d. zenon_intro zenon_TY_gx. zenon_intro zenon_H37e.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H37e). zenon_intro zenon_Hb2. zenon_intro zenon_H37f.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_gx. apply NNPP. zenon_intro zenon_H380.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H380); [ zenon_intro zenon_Hb1 | zenon_intro zenon_H381 ].
% 0.85/1.03  apply (zenon_L11_ zenon_TY_gx zenon_TY_gh zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_gx Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H381); [ zenon_intro zenon_H382; idtac ].
% 0.85/1.03  elim zenon_H382. zenon_intro zenon_TY_hn. zenon_intro zenon_H383.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H383). zenon_intro zenon_Hc2. zenon_intro zenon_H384.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_hn. apply NNPP. zenon_intro zenon_H385.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H385); [ zenon_intro zenon_Hc1 | zenon_intro zenon_H386 ].
% 0.85/1.03  apply (zenon_L12_ zenon_TY_hn zenon_TY_gx zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_hn Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H386); [ zenon_intro zenon_H387; idtac ].
% 0.85/1.03  elim zenon_H387. zenon_intro zenon_TY_id. zenon_intro zenon_H388.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H388). zenon_intro zenon_Hd2. zenon_intro zenon_H389.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_id. apply NNPP. zenon_intro zenon_H38a.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H38a); [ zenon_intro zenon_Hd1 | zenon_intro zenon_H38b ].
% 0.85/1.03  apply (zenon_L13_ zenon_TY_id zenon_TY_hn zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_id Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H38b); [ zenon_intro zenon_H38c; idtac ].
% 0.85/1.03  elim zenon_H38c. zenon_intro zenon_TY_it. zenon_intro zenon_H38d.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H38d). zenon_intro zenon_He2. zenon_intro zenon_H38e.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_it. apply NNPP. zenon_intro zenon_H38f.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H38f); [ zenon_intro zenon_He1 | zenon_intro zenon_H390 ].
% 0.85/1.03  apply (zenon_L14_ zenon_TY_it zenon_TY_id zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_it Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H390); [ zenon_intro zenon_H391; idtac ].
% 0.85/1.03  elim zenon_H391. zenon_intro zenon_TY_jj. zenon_intro zenon_H392.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H392). zenon_intro zenon_Hf2. zenon_intro zenon_H393.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_jj. apply NNPP. zenon_intro zenon_H394.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H394); [ zenon_intro zenon_Hf1 | zenon_intro zenon_H395 ].
% 0.85/1.03  apply (zenon_L15_ zenon_TY_jj zenon_TY_it zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_jj Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H395); [ zenon_intro zenon_H396; idtac ].
% 0.85/1.03  elim zenon_H396. zenon_intro zenon_TY_jz. zenon_intro zenon_H397.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H397). zenon_intro zenon_H102. zenon_intro zenon_H398.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_jz. apply NNPP. zenon_intro zenon_H399.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H399); [ zenon_intro zenon_H101 | zenon_intro zenon_H39a ].
% 0.85/1.03  apply (zenon_L16_ zenon_TY_jz zenon_TY_jj zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_jz Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H39a); [ zenon_intro zenon_H39b; idtac ].
% 0.85/1.03  elim zenon_H39b. zenon_intro zenon_TY_kp. zenon_intro zenon_H39c.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H39c). zenon_intro zenon_H112. zenon_intro zenon_H39d.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_kp. apply NNPP. zenon_intro zenon_H39e.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H39e); [ zenon_intro zenon_H111 | zenon_intro zenon_H39f ].
% 0.85/1.03  apply (zenon_L17_ zenon_TY_kp zenon_TY_jz zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_kp Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H39f); [ zenon_intro zenon_H3a0; idtac ].
% 0.85/1.03  elim zenon_H3a0. zenon_intro zenon_TY_lf. zenon_intro zenon_H3a1.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3a1). zenon_intro zenon_H122. zenon_intro zenon_H3a2.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_lf. apply NNPP. zenon_intro zenon_H3a3.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3a3); [ zenon_intro zenon_H121 | zenon_intro zenon_H3a4 ].
% 0.85/1.03  apply (zenon_L18_ zenon_TY_lf zenon_TY_kp zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_lf Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3a4); [ zenon_intro zenon_H3a5; idtac ].
% 0.85/1.03  elim zenon_H3a5. zenon_intro zenon_TY_lv. zenon_intro zenon_H3a6.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3a6). zenon_intro zenon_H132. zenon_intro zenon_H3a7.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_lv. apply NNPP. zenon_intro zenon_H3a8.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3a8); [ zenon_intro zenon_H131 | zenon_intro zenon_H3a9 ].
% 0.85/1.03  apply (zenon_L19_ zenon_TY_lv zenon_TY_lf zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_lv Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3a9); [ zenon_intro zenon_H3aa; idtac ].
% 0.85/1.03  elim zenon_H3aa. zenon_intro zenon_TY_ml. zenon_intro zenon_H3ab.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3ab). zenon_intro zenon_H142. zenon_intro zenon_H3ac.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_ml. apply NNPP. zenon_intro zenon_H3ad.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3ad); [ zenon_intro zenon_H141 | zenon_intro zenon_H3ae ].
% 0.85/1.03  apply (zenon_L20_ zenon_TY_ml zenon_TY_lv zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_ml Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3ae); [ zenon_intro zenon_H3af; idtac ].
% 0.85/1.03  elim zenon_H3af. zenon_intro zenon_TY_nb. zenon_intro zenon_H3b0.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3b0). zenon_intro zenon_H152. zenon_intro zenon_H3b1.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_nb. apply NNPP. zenon_intro zenon_H3b2.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3b2); [ zenon_intro zenon_H151 | zenon_intro zenon_H3b3 ].
% 0.85/1.03  apply (zenon_L21_ zenon_TY_nb zenon_TY_ml zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_nb Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3b3); [ zenon_intro zenon_H3b4; idtac ].
% 0.85/1.03  elim zenon_H3b4. zenon_intro zenon_TY_nr. zenon_intro zenon_H3b5.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3b5). zenon_intro zenon_H162. zenon_intro zenon_H3b6.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_nr. apply NNPP. zenon_intro zenon_H3b7.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3b7); [ zenon_intro zenon_H161 | zenon_intro zenon_H3b8 ].
% 0.85/1.03  apply (zenon_L22_ zenon_TY_nr zenon_TY_nb zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_nr Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3b8); [ zenon_intro zenon_H3b9; idtac ].
% 0.85/1.03  elim zenon_H3b9. zenon_intro zenon_TY_oh. zenon_intro zenon_H3ba.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3ba). zenon_intro zenon_H172. zenon_intro zenon_H3bb.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_oh. apply NNPP. zenon_intro zenon_H3bc.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3bc); [ zenon_intro zenon_H171 | zenon_intro zenon_H3bd ].
% 0.85/1.03  apply (zenon_L23_ zenon_TY_oh zenon_TY_nr zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml); trivial.
% 0.85/1.03  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_oh Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3bd); [ zenon_intro zenon_H3be; idtac ].
% 0.85/1.03  elim zenon_H3be. zenon_intro zenon_TY_ox. zenon_intro zenon_H3bf.
% 0.85/1.03  apply (zenon_notimply_s _ _ zenon_H3bf). zenon_intro zenon_H182. zenon_intro zenon_H3c0.
% 0.85/1.03  apply zenon_H2c0. exists zenon_TY_ox. apply NNPP. zenon_intro zenon_H3c1.
% 0.85/1.03  apply (zenon_notand_s _ _ zenon_H3c1); [ zenon_intro zenon_H181 | zenon_intro zenon_H3c2 ].
% 0.85/1.03  apply (zenon_L24_ zenon_TY_ox zenon_TY_oh zenon_TY_dq zenon_TX_dr zenon_TY_fb zenon_TY_el zenon_TY_gh zenon_TY_fr zenon_TY_hn zenon_TY_gx zenon_TY_it zenon_TY_id zenon_TY_jz zenon_TY_jj zenon_TY_lf zenon_TY_kp zenon_TY_ml zenon_TY_lv zenon_TY_nr zenon_TY_nb); trivial.
% 0.85/1.04  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_ox Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3c2); [ zenon_intro zenon_H3c3; idtac ].
% 0.85/1.04  elim zenon_H3c3. zenon_intro zenon_TY_pn. zenon_intro zenon_H3c4.
% 0.85/1.04  apply (zenon_notimply_s _ _ zenon_H3c4). zenon_intro zenon_H192. zenon_intro zenon_H3c5.
% 0.85/1.04  apply zenon_H2c0. exists zenon_TY_pn. apply NNPP. zenon_intro zenon_H3c6.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3c6); [ zenon_intro zenon_H191 | zenon_intro zenon_H3c7 ].
% 0.85/1.04  apply (zenon_L25_ zenon_TY_pn zenon_TY_ox zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml zenon_TY_oh zenon_TY_nr); trivial.
% 0.85/1.04  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_pn Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3c7); [ zenon_intro zenon_H3c8; idtac ].
% 0.85/1.04  elim zenon_H3c8. zenon_intro zenon_TY_za. zenon_intro zenon_H3c9.
% 0.85/1.04  apply (zenon_notimply_s _ _ zenon_H3c9). zenon_intro zenon_H289. zenon_intro zenon_H3ca.
% 0.85/1.04  apply zenon_H2c0. exists zenon_TY_za. apply NNPP. zenon_intro zenon_H3cb.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3cb); [ zenon_intro zenon_H3cd | zenon_intro zenon_H3cc ].
% 0.85/1.04  elim (classic ((~((initial_world) = zenon_TY_pn))/\(~(reachable (initial_world) zenon_TY_pn)))); [ zenon_intro zenon_H3ce | zenon_intro zenon_H3cf ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3ce). zenon_intro zenon_H3d0. zenon_intro zenon_H191.
% 0.85/1.04  apply (zenon_L25_ zenon_TY_pn zenon_TY_ox zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml zenon_TY_oh zenon_TY_nr); trivial.
% 0.85/1.04  cut ((reachable zenon_TY_pn zenon_TY_za) = (reachable (initial_world) zenon_TY_za)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3cd.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H289.
% 0.85/1.04  cut ((zenon_TY_za = zenon_TY_za)); [idtac | apply NNPP; zenon_intro zenon_H28e].
% 0.85/1.04  cut ((zenon_TY_pn = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H3d1].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3cf); [ zenon_intro zenon_H3d3 | zenon_intro zenon_H3d2 ].
% 0.85/1.04  apply zenon_H3d3. zenon_intro zenon_H3d4.
% 0.85/1.04  elim (classic ((initial_world) = (initial_world))); [ zenon_intro zenon_H69 | zenon_intro zenon_H6a ].
% 0.85/1.04  cut (((initial_world) = (initial_world)) = (zenon_TY_pn = (initial_world))).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3d1.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H69.
% 0.85/1.04  cut (((initial_world) = (initial_world))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 0.85/1.04  cut (((initial_world) = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H3d0].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3d0 zenon_H3d4).
% 0.85/1.04  apply zenon_H6a. apply refl_equal.
% 0.85/1.04  apply zenon_H6a. apply refl_equal.
% 0.85/1.04  apply zenon_H3d2. zenon_intro zenon_H19f.
% 0.85/1.04  generalize (zenon_H4 (initial_world)). zenon_intro zenon_H6b.
% 0.85/1.04  generalize (zenon_H6b zenon_TY_pn). zenon_intro zenon_H3d5.
% 0.85/1.04  generalize (zenon_H3d5 zenon_TY_za). zenon_intro zenon_H3d6.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H3d6); [ zenon_intro zenon_H191 | zenon_intro zenon_H3d7 ].
% 0.85/1.04  exact (zenon_H191 zenon_H19f).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H3d7); [ zenon_intro zenon_H297 | zenon_intro zenon_H3d8 ].
% 0.85/1.04  exact (zenon_H297 zenon_H289).
% 0.85/1.04  exact (zenon_H3cd zenon_H3d8).
% 0.85/1.04  apply zenon_H28e. apply refl_equal.
% 0.85/1.04  apply (zenon_notallex_s (fun Y : zenon_U => ((reachable zenon_TY_za Y)->(exists Z : zenon_U, ((reachable Y Z)/\(forall W : zenon_U, ((reachable Z W)->(p W))))))) zenon_H3cc); [ zenon_intro zenon_H3d9; idtac ].
% 0.85/1.04  elim zenon_H3d9. zenon_intro zenon_TY_zq. zenon_intro zenon_H3da.
% 0.85/1.04  apply (zenon_notimply_s _ _ zenon_H3da). zenon_intro zenon_H299. zenon_intro zenon_H3db.
% 0.85/1.04  apply zenon_H3b1. exists zenon_TY_zq. apply NNPP. zenon_intro zenon_H3dc.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3dc); [ zenon_intro zenon_H3dd | zenon_intro zenon_H2a8 ].
% 0.85/1.04  elim (classic ((~(zenon_TY_nb = zenon_TY_za))/\(~(reachable zenon_TY_nb zenon_TY_za)))); [ zenon_intro zenon_H3de | zenon_intro zenon_H3df ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3de). zenon_intro zenon_H3e1. zenon_intro zenon_H3e0.
% 0.85/1.04  elim (classic ((~(zenon_TY_nb = zenon_TY_pn))/\(~(reachable zenon_TY_nb zenon_TY_pn)))); [ zenon_intro zenon_H3e2 | zenon_intro zenon_H3e3 ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3e2). zenon_intro zenon_H3e5. zenon_intro zenon_H3e4.
% 0.85/1.04  elim (classic ((~(zenon_TY_nb = zenon_TY_ox))/\(~(reachable zenon_TY_nb zenon_TY_ox)))); [ zenon_intro zenon_H3e6 | zenon_intro zenon_H3e7 ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3e6). zenon_intro zenon_H3e9. zenon_intro zenon_H3e8.
% 0.85/1.04  elim (classic ((~(zenon_TY_nb = zenon_TY_oh))/\(~(reachable zenon_TY_nb zenon_TY_oh)))); [ zenon_intro zenon_H3ea | zenon_intro zenon_H3eb ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3ea). zenon_intro zenon_H3ed. zenon_intro zenon_H3ec.
% 0.85/1.04  elim (classic ((~(zenon_TY_nb = zenon_TY_nr))/\(~(reachable zenon_TY_nb zenon_TY_nr)))); [ zenon_intro zenon_H3ee | zenon_intro zenon_H3ef ].
% 0.85/1.04  apply (zenon_and_s _ _ zenon_H3ee). zenon_intro zenon_H3f0. zenon_intro zenon_H170.
% 0.85/1.04  exact (zenon_H170 zenon_H162).
% 0.85/1.04  cut ((reachable zenon_TY_nr zenon_TY_oh) = (reachable zenon_TY_nb zenon_TY_oh)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3ec.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H172.
% 0.85/1.04  cut ((zenon_TY_oh = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H177].
% 0.85/1.04  cut ((zenon_TY_nr = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H3f1].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3ef); [ zenon_intro zenon_H3f3 | zenon_intro zenon_H3f2 ].
% 0.85/1.04  apply zenon_H3f3. zenon_intro zenon_H3f4.
% 0.85/1.04  elim (classic (zenon_TY_nb = zenon_TY_nb)); [ zenon_intro zenon_H3f5 | zenon_intro zenon_H157 ].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb) = (zenon_TY_nr = zenon_TY_nb)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3f1.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H3f5.
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nr)); [idtac | apply NNPP; zenon_intro zenon_H3f0].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3f0 zenon_H3f4).
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H3f2. zenon_intro zenon_H162.
% 0.85/1.04  generalize (zenon_H4 zenon_TY_nb). zenon_intro zenon_H3f6.
% 0.85/1.04  generalize (zenon_H3f6 zenon_TY_nr). zenon_intro zenon_H3f7.
% 0.85/1.04  generalize (zenon_H3f7 zenon_TY_oh). zenon_intro zenon_H3f8.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H3f8); [ zenon_intro zenon_H170 | zenon_intro zenon_H3f9 ].
% 0.85/1.04  exact (zenon_H170 zenon_H162).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H3f9); [ zenon_intro zenon_H180 | zenon_intro zenon_H3fa ].
% 0.85/1.04  exact (zenon_H180 zenon_H172).
% 0.85/1.04  exact (zenon_H3ec zenon_H3fa).
% 0.85/1.04  apply zenon_H177. apply refl_equal.
% 0.85/1.04  cut ((reachable zenon_TY_oh zenon_TY_ox) = (reachable zenon_TY_nb zenon_TY_ox)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3e8.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H182.
% 0.85/1.04  cut ((zenon_TY_ox = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H187].
% 0.85/1.04  cut ((zenon_TY_oh = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H3fb].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3eb); [ zenon_intro zenon_H3fd | zenon_intro zenon_H3fc ].
% 0.85/1.04  apply zenon_H3fd. zenon_intro zenon_H3fe.
% 0.85/1.04  elim (classic (zenon_TY_nb = zenon_TY_nb)); [ zenon_intro zenon_H3f5 | zenon_intro zenon_H157 ].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb) = (zenon_TY_oh = zenon_TY_nb)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3fb.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H3f5.
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_oh)); [idtac | apply NNPP; zenon_intro zenon_H3ed].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3ed zenon_H3fe).
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H3fc. zenon_intro zenon_H3fa.
% 0.85/1.04  generalize (zenon_H4 zenon_TY_nb). zenon_intro zenon_H3f6.
% 0.85/1.04  generalize (zenon_H3f6 zenon_TY_oh). zenon_intro zenon_H3ff.
% 0.85/1.04  generalize (zenon_H3ff zenon_TY_ox). zenon_intro zenon_H400.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H400); [ zenon_intro zenon_H3ec | zenon_intro zenon_H401 ].
% 0.85/1.04  exact (zenon_H3ec zenon_H3fa).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H401); [ zenon_intro zenon_H190 | zenon_intro zenon_H402 ].
% 0.85/1.04  exact (zenon_H190 zenon_H182).
% 0.85/1.04  exact (zenon_H3e8 zenon_H402).
% 0.85/1.04  apply zenon_H187. apply refl_equal.
% 0.85/1.04  cut ((reachable zenon_TY_ox zenon_TY_pn) = (reachable zenon_TY_nb zenon_TY_pn)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3e4.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H192.
% 0.85/1.04  cut ((zenon_TY_pn = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H197].
% 0.85/1.04  cut ((zenon_TY_ox = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H403].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3e7); [ zenon_intro zenon_H405 | zenon_intro zenon_H404 ].
% 0.85/1.04  apply zenon_H405. zenon_intro zenon_H406.
% 0.85/1.04  elim (classic (zenon_TY_nb = zenon_TY_nb)); [ zenon_intro zenon_H3f5 | zenon_intro zenon_H157 ].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb) = (zenon_TY_ox = zenon_TY_nb)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H403.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H3f5.
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_ox)); [idtac | apply NNPP; zenon_intro zenon_H3e9].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3e9 zenon_H406).
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H404. zenon_intro zenon_H402.
% 0.85/1.04  generalize (zenon_H4 zenon_TY_nb). zenon_intro zenon_H3f6.
% 0.85/1.04  generalize (zenon_H3f6 zenon_TY_ox). zenon_intro zenon_H407.
% 0.85/1.04  generalize (zenon_H407 zenon_TY_pn). zenon_intro zenon_H408.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H408); [ zenon_intro zenon_H3e8 | zenon_intro zenon_H409 ].
% 0.85/1.04  exact (zenon_H3e8 zenon_H402).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H409); [ zenon_intro zenon_H1a0 | zenon_intro zenon_H40a ].
% 0.85/1.04  exact (zenon_H1a0 zenon_H192).
% 0.85/1.04  exact (zenon_H3e4 zenon_H40a).
% 0.85/1.04  apply zenon_H197. apply refl_equal.
% 0.85/1.04  cut ((reachable zenon_TY_pn zenon_TY_za) = (reachable zenon_TY_nb zenon_TY_za)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3e0.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H289.
% 0.85/1.04  cut ((zenon_TY_za = zenon_TY_za)); [idtac | apply NNPP; zenon_intro zenon_H28e].
% 0.85/1.04  cut ((zenon_TY_pn = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H40b].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3e3); [ zenon_intro zenon_H40d | zenon_intro zenon_H40c ].
% 0.85/1.04  apply zenon_H40d. zenon_intro zenon_H40e.
% 0.85/1.04  elim (classic (zenon_TY_nb = zenon_TY_nb)); [ zenon_intro zenon_H3f5 | zenon_intro zenon_H157 ].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb) = (zenon_TY_pn = zenon_TY_nb)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H40b.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H3f5.
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_pn)); [idtac | apply NNPP; zenon_intro zenon_H3e5].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3e5 zenon_H40e).
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H40c. zenon_intro zenon_H40a.
% 0.85/1.04  generalize (zenon_H4 zenon_TY_nb). zenon_intro zenon_H3f6.
% 0.85/1.04  generalize (zenon_H3f6 zenon_TY_pn). zenon_intro zenon_H40f.
% 0.85/1.04  generalize (zenon_H40f zenon_TY_za). zenon_intro zenon_H410.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H410); [ zenon_intro zenon_H3e4 | zenon_intro zenon_H411 ].
% 0.85/1.04  exact (zenon_H3e4 zenon_H40a).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H411); [ zenon_intro zenon_H297 | zenon_intro zenon_H412 ].
% 0.85/1.04  exact (zenon_H297 zenon_H289).
% 0.85/1.04  exact (zenon_H3e0 zenon_H412).
% 0.85/1.04  apply zenon_H28e. apply refl_equal.
% 0.85/1.04  cut ((reachable zenon_TY_za zenon_TY_zq) = (reachable zenon_TY_nb zenon_TY_zq)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H3dd.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H299.
% 0.85/1.04  cut ((zenon_TY_zq = zenon_TY_zq)); [idtac | apply NNPP; zenon_intro zenon_H29e].
% 0.85/1.04  cut ((zenon_TY_za = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H413].
% 0.85/1.04  congruence.
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H3df); [ zenon_intro zenon_H415 | zenon_intro zenon_H414 ].
% 0.85/1.04  apply zenon_H415. zenon_intro zenon_H416.
% 0.85/1.04  elim (classic (zenon_TY_nb = zenon_TY_nb)); [ zenon_intro zenon_H3f5 | zenon_intro zenon_H157 ].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb) = (zenon_TY_za = zenon_TY_nb)).
% 0.85/1.04  intro zenon_D_pnotp.
% 0.85/1.04  apply zenon_H413.
% 0.85/1.04  rewrite <- zenon_D_pnotp.
% 0.85/1.04  exact zenon_H3f5.
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_nb)); [idtac | apply NNPP; zenon_intro zenon_H157].
% 0.85/1.04  cut ((zenon_TY_nb = zenon_TY_za)); [idtac | apply NNPP; zenon_intro zenon_H3e1].
% 0.85/1.04  congruence.
% 0.85/1.04  exact (zenon_H3e1 zenon_H416).
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H157. apply refl_equal.
% 0.85/1.04  apply zenon_H414. zenon_intro zenon_H412.
% 0.85/1.04  generalize (zenon_H4 zenon_TY_nb). zenon_intro zenon_H3f6.
% 0.85/1.04  generalize (zenon_H3f6 zenon_TY_za). zenon_intro zenon_H417.
% 0.85/1.04  generalize (zenon_H417 zenon_TY_zq). zenon_intro zenon_H418.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H418); [ zenon_intro zenon_H3e0 | zenon_intro zenon_H419 ].
% 0.85/1.04  exact (zenon_H3e0 zenon_H412).
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H419); [ zenon_intro zenon_H2a7 | zenon_intro zenon_H41a ].
% 0.85/1.04  exact (zenon_H2a7 zenon_H299).
% 0.85/1.04  exact (zenon_H3dd zenon_H41a).
% 0.85/1.04  apply zenon_H29e. apply refl_equal.
% 0.85/1.04  apply (zenon_L47_ zenon_TX_dr zenon_TY_el zenon_TY_dq zenon_TY_fr zenon_TY_fb zenon_TY_gx zenon_TY_gh zenon_TY_id zenon_TY_hn zenon_TY_jj zenon_TY_it zenon_TY_kp zenon_TY_jz zenon_TY_lv zenon_TY_lf zenon_TY_nb zenon_TY_ml zenon_TY_oh zenon_TY_nr zenon_TY_pn zenon_TY_ox zenon_TY_za zenon_TY_zq); trivial.
% 0.85/1.04  apply zenon_H2bf. zenon_intro zenon_Tx_bol. apply NNPP. zenon_intro zenon_H41c.
% 0.85/1.04  apply zenon_H41c. zenon_intro zenon_Ty_bon. apply NNPP. zenon_intro zenon_H41e.
% 0.85/1.04  apply zenon_H41e. zenon_intro zenon_Tz_bop. apply NNPP. zenon_intro zenon_H420.
% 0.85/1.04  apply (zenon_notimply_s _ _ zenon_H420). zenon_intro zenon_H422. zenon_intro zenon_H421.
% 0.85/1.04  apply (zenon_notimply_s _ _ zenon_H421). zenon_intro zenon_H424. zenon_intro zenon_H423.
% 0.85/1.04  generalize (transitivity_of_reachable zenon_Tx_bol). zenon_intro zenon_H425.
% 0.85/1.04  generalize (zenon_H425 zenon_Ty_bon). zenon_intro zenon_H426.
% 0.85/1.04  generalize (zenon_H426 zenon_Tz_bop). zenon_intro zenon_H427.
% 0.85/1.04  apply (zenon_imply_s _ _ zenon_H427); [ zenon_intro zenon_H429 | zenon_intro zenon_H428 ].
% 0.85/1.04  apply (zenon_notand_s _ _ zenon_H429); [ zenon_intro zenon_H42b | zenon_intro zenon_H42a ].
% 0.85/1.04  exact (zenon_H42b zenon_H422).
% 0.85/1.04  exact (zenon_H42a zenon_H424).
% 0.85/1.04  exact (zenon_H423 zenon_H428).
% 0.85/1.04  Qed.
% 0.85/1.04  % SZS output end Proof
% 0.85/1.04  (* END-PROOF *)
% 0.85/1.04  nodes searched: 17738
% 0.85/1.04  max branch formulas: 2182
% 0.85/1.04  proof nodes created: 985
% 0.85/1.04  formulas created: 57604
% 0.85/1.04  
%------------------------------------------------------------------------------