↑ Up

Zenon---0.7.1.THM-Prf.s

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

% Computer : n017.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:55:19 EDT 2022

% Result   : Theorem 0.45s 0.71s
% Output   : Proof 0.45s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.09  % Problem  : SYN726+1 : TPTP v8.1.0. Released v2.5.0.
% 0.00/0.09  % Command  : run_zenon %s %d
% 0.09/0.29  % Computer : n017.cluster.edu
% 0.09/0.29  % Model    : x86_64 x86_64
% 0.09/0.29  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.29  % Memory   : 8042.1875MB
% 0.09/0.29  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.09/0.29  % CPULimit : 300
% 0.09/0.29  % WCLimit  : 600
% 0.09/0.29  % DateTime : Tue Jul 12 02:41:49 EDT 2022
% 0.09/0.29  % CPUTime  : 
% 0.45/0.71  (* PROOF-FOUND *)
% 0.45/0.71  % SZS status Theorem
% 0.45/0.71  (* BEGIN-PROOF *)
% 0.45/0.71  % SZS output start Proof
% 0.45/0.71  Theorem thm400 : ((((forall X : zenon_U, (forall Y : zenon_U, (forall Z : zenon_U, (((p X Y)/\(p Y Z))->(p X Z)))))/\((forall X : zenon_U, (forall Y : zenon_U, (forall Z : zenon_U, (((q X Y)/\(q Y Z))->(q X Z)))))/\((forall X : zenon_U, (forall Y : zenon_U, ((q X Y)->(q Y X))))/\(forall X : zenon_U, (forall Y : zenon_U, ((p X Y)\/(q X Y)))))))->(forall X : zenon_U, (forall Y : zenon_U, (p X Y))))\/(forall X : zenon_U, (forall Y : zenon_U, (q X Y)))).
% 0.45/0.71  Proof.
% 0.45/0.71  assert (zenon_L1_ : forall (zenon_TX_h : zenon_U) (zenon_TY_i : zenon_U) (zenon_TX_j : zenon_U), (forall X : zenon_U, (forall Y : zenon_U, ((q X Y)->(q Y X)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((q x y)->((q y z)->(q x z)))))) -> (~(p zenon_TX_j zenon_TY_i)) -> (~(q zenon_TX_h zenon_TY_i)) -> (~(p zenon_TX_j zenon_TX_h)) -> (forall Y : zenon_U, ((p zenon_TX_j Y)\/(q zenon_TX_j Y))) -> False).
% 0.45/0.71  do 3 intro. intros zenon_H1 zenon_H2 zenon_H3 zenon_H4 zenon_H5 zenon_H6.
% 0.45/0.71  generalize (zenon_H6 zenon_TY_i). zenon_intro zenon_Ha.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_Ha); [ zenon_intro zenon_Hc | zenon_intro zenon_Hb ].
% 0.45/0.71  exact (zenon_H3 zenon_Hc).
% 0.45/0.71  elim (classic ((~(zenon_TX_h = zenon_TX_j))/\(~(q zenon_TX_h zenon_TX_j)))); [ zenon_intro zenon_Hd | zenon_intro zenon_He ].
% 0.45/0.71  apply (zenon_and_s _ _ zenon_Hd). zenon_intro zenon_H10. zenon_intro zenon_Hf.
% 0.45/0.71  generalize (zenon_H6 zenon_TX_h). zenon_intro zenon_H11.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_H11); [ zenon_intro zenon_H13 | zenon_intro zenon_H12 ].
% 0.45/0.71  exact (zenon_H5 zenon_H13).
% 0.45/0.71  generalize (zenon_H1 zenon_TX_j). zenon_intro zenon_H14.
% 0.45/0.71  generalize (zenon_H14 zenon_TX_h). zenon_intro zenon_H15.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H15); [ zenon_intro zenon_H17 | zenon_intro zenon_H16 ].
% 0.45/0.71  exact (zenon_H17 zenon_H12).
% 0.45/0.71  exact (zenon_Hf zenon_H16).
% 0.45/0.71  cut ((q zenon_TX_j zenon_TY_i) = (q zenon_TX_h zenon_TY_i)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H4.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_Hb.
% 0.45/0.71  cut ((zenon_TY_i = zenon_TY_i)); [idtac | apply NNPP; zenon_intro zenon_H18].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_h)); [idtac | apply NNPP; zenon_intro zenon_H19].
% 0.45/0.71  congruence.
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_He); [ zenon_intro zenon_H1b | zenon_intro zenon_H1a ].
% 0.45/0.71  apply zenon_H1b. zenon_intro zenon_H1c.
% 0.45/0.71  elim (classic (zenon_TX_h = zenon_TX_h)); [ zenon_intro zenon_H1d | zenon_intro zenon_H1e ].
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_h) = (zenon_TX_j = zenon_TX_h)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H19.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H1d.
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_h)); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H10].
% 0.45/0.71  congruence.
% 0.45/0.71  exact (zenon_H10 zenon_H1c).
% 0.45/0.71  apply zenon_H1e. apply refl_equal.
% 0.45/0.71  apply zenon_H1e. apply refl_equal.
% 0.45/0.71  apply zenon_H1a. zenon_intro zenon_H16.
% 0.45/0.71  generalize (zenon_H2 zenon_TX_h). zenon_intro zenon_H1f.
% 0.45/0.71  generalize (zenon_H1f zenon_TX_j). zenon_intro zenon_H20.
% 0.45/0.71  generalize (zenon_H20 zenon_TY_i). zenon_intro zenon_H21.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H21); [ zenon_intro zenon_Hf | zenon_intro zenon_H22 ].
% 0.45/0.71  exact (zenon_Hf zenon_H16).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H22); [ zenon_intro zenon_H24 | zenon_intro zenon_H23 ].
% 0.45/0.71  exact (zenon_H24 zenon_Hb).
% 0.45/0.71  exact (zenon_H4 zenon_H23).
% 0.45/0.71  apply zenon_H18. apply refl_equal.
% 0.45/0.71  (* end of lemma zenon_L1_ *)
% 0.45/0.71  assert (zenon_L2_ : forall (zenon_TY_bp : zenon_U) (zenon_TX_j : zenon_U) (zenon_TY_i : zenon_U) (zenon_TX_h : zenon_U), (forall X : zenon_U, (forall Y : zenon_U, ((q X Y)->(q Y X)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((q x y)->((q y z)->(q x z)))))) -> (~(q zenon_TX_h zenon_TY_i)) -> (forall Y : zenon_U, ((p zenon_TX_j Y)\/(q zenon_TX_j Y))) -> (p zenon_TX_h zenon_TY_i) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((p x y)->((p y z)->(p x z)))))) -> (~(p zenon_TX_j zenon_TY_bp)) -> (p zenon_TY_i zenon_TY_bp) -> False).
% 0.45/0.71  do 4 intro. intros zenon_H1 zenon_H2 zenon_H4 zenon_H6 zenon_H25 zenon_H26 zenon_H27 zenon_H28.
% 0.45/0.71  elim (classic ((~(zenon_TX_j = zenon_TY_i))/\(~(p zenon_TX_j zenon_TY_i)))); [ zenon_intro zenon_H2a | zenon_intro zenon_H2b ].
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H2a). zenon_intro zenon_H2c. zenon_intro zenon_H3.
% 0.45/0.71  elim (classic ((~(zenon_TX_j = zenon_TX_h))/\(~(p zenon_TX_j zenon_TX_h)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ].
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H2d). zenon_intro zenon_H19. zenon_intro zenon_H5.
% 0.45/0.71  apply (zenon_L1_ zenon_TX_h zenon_TY_i zenon_TX_j); trivial.
% 0.45/0.71  cut ((p zenon_TX_h zenon_TY_i) = (p zenon_TX_j zenon_TY_i)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H3.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H25.
% 0.45/0.71  cut ((zenon_TY_i = zenon_TY_i)); [idtac | apply NNPP; zenon_intro zenon_H18].
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H10].
% 0.45/0.71  congruence.
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 0.45/0.71  apply zenon_H30. zenon_intro zenon_H31.
% 0.45/0.71  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TX_h = zenon_TX_j)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H10.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H32.
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H33].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_h)); [idtac | apply NNPP; zenon_intro zenon_H19].
% 0.45/0.71  congruence.
% 0.45/0.71  exact (zenon_H19 zenon_H31).
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H2f. zenon_intro zenon_H13.
% 0.45/0.71  generalize (zenon_H26 zenon_TX_j). zenon_intro zenon_H34.
% 0.45/0.71  generalize (zenon_H34 zenon_TX_h). zenon_intro zenon_H35.
% 0.45/0.71  generalize (zenon_H35 zenon_TY_i). zenon_intro zenon_H36.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H36); [ zenon_intro zenon_H5 | zenon_intro zenon_H37 ].
% 0.45/0.71  exact (zenon_H5 zenon_H13).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H37); [ zenon_intro zenon_H38 | zenon_intro zenon_Hc ].
% 0.45/0.71  exact (zenon_H38 zenon_H25).
% 0.45/0.71  exact (zenon_H3 zenon_Hc).
% 0.45/0.71  apply zenon_H18. apply refl_equal.
% 0.45/0.71  cut ((p zenon_TY_i zenon_TY_bp) = (p zenon_TX_j zenon_TY_bp)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H27.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H28.
% 0.45/0.71  cut ((zenon_TY_bp = zenon_TY_bp)); [idtac | apply NNPP; zenon_intro zenon_H39].
% 0.45/0.71  cut ((zenon_TY_i = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 0.45/0.71  congruence.
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H2b); [ zenon_intro zenon_H3c | zenon_intro zenon_H3b ].
% 0.45/0.71  apply zenon_H3c. zenon_intro zenon_H3d.
% 0.45/0.71  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TY_i = zenon_TX_j)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H3a.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H32.
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H33].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TY_i)); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 0.45/0.71  congruence.
% 0.45/0.71  exact (zenon_H2c zenon_H3d).
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H3b. zenon_intro zenon_Hc.
% 0.45/0.71  generalize (zenon_H26 zenon_TX_j). zenon_intro zenon_H34.
% 0.45/0.71  generalize (zenon_H34 zenon_TY_i). zenon_intro zenon_H3e.
% 0.45/0.71  generalize (zenon_H3e zenon_TY_bp). zenon_intro zenon_H3f.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H3f); [ zenon_intro zenon_H3 | zenon_intro zenon_H40 ].
% 0.45/0.71  exact (zenon_H3 zenon_Hc).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H40); [ zenon_intro zenon_H42 | zenon_intro zenon_H41 ].
% 0.45/0.71  exact (zenon_H42 zenon_H28).
% 0.45/0.71  exact (zenon_H27 zenon_H41).
% 0.45/0.71  apply zenon_H39. apply refl_equal.
% 0.45/0.71  (* end of lemma zenon_L2_ *)
% 0.45/0.71  assert (zenon_L3_ : forall (zenon_TX_j : zenon_U) (zenon_TY_i : zenon_U) (zenon_TX_h : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((q x y)->((q y z)->(q x z)))))) -> (forall X : zenon_U, (forall Y : zenon_U, ((q X Y)->(q Y X)))) -> (~(q zenon_TX_h zenon_TY_i)) -> (forall X : zenon_U, (forall Y : zenon_U, ((p X Y)\/(q X Y)))) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((p x y)->((p y z)->(p x z)))))) -> (~(p zenon_TX_j zenon_TX_h)) -> (p zenon_TY_i zenon_TX_h) -> False).
% 0.45/0.71  do 3 intro. intros zenon_H2 zenon_H1 zenon_H4 zenon_H43 zenon_H26 zenon_H5 zenon_H44.
% 0.45/0.71  elim (classic ((~(zenon_TX_j = zenon_TY_i))/\(~(p zenon_TX_j zenon_TY_i)))); [ zenon_intro zenon_H2a | zenon_intro zenon_H2b ].
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H2a). zenon_intro zenon_H2c. zenon_intro zenon_H3.
% 0.45/0.71  generalize (zenon_H43 zenon_TX_j). zenon_intro zenon_H6.
% 0.45/0.71  apply (zenon_L1_ zenon_TX_h zenon_TY_i zenon_TX_j); trivial.
% 0.45/0.71  cut ((p zenon_TY_i zenon_TX_h) = (p zenon_TX_j zenon_TX_h)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H5.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H44.
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_h)); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 0.45/0.71  cut ((zenon_TY_i = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 0.45/0.71  congruence.
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H2b); [ zenon_intro zenon_H3c | zenon_intro zenon_H3b ].
% 0.45/0.71  apply zenon_H3c. zenon_intro zenon_H3d.
% 0.45/0.71  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TY_i = zenon_TX_j)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H3a.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H32.
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H33].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TY_i)); [idtac | apply NNPP; zenon_intro zenon_H2c].
% 0.45/0.71  congruence.
% 0.45/0.71  exact (zenon_H2c zenon_H3d).
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H3b. zenon_intro zenon_Hc.
% 0.45/0.71  generalize (zenon_H26 zenon_TX_j). zenon_intro zenon_H34.
% 0.45/0.71  generalize (zenon_H34 zenon_TY_i). zenon_intro zenon_H3e.
% 0.45/0.71  generalize (zenon_H3e zenon_TX_h). zenon_intro zenon_H45.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H45); [ zenon_intro zenon_H3 | zenon_intro zenon_H46 ].
% 0.45/0.71  exact (zenon_H3 zenon_Hc).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H46); [ zenon_intro zenon_H47 | zenon_intro zenon_H13 ].
% 0.45/0.71  exact (zenon_H47 zenon_H44).
% 0.45/0.71  exact (zenon_H5 zenon_H13).
% 0.45/0.71  apply zenon_H1e. apply refl_equal.
% 0.45/0.71  (* end of lemma zenon_L3_ *)
% 0.45/0.71  assert (zenon_L4_ : forall (zenon_TY_bp : zenon_U) (zenon_TX_j : zenon_U) (zenon_TY_i : zenon_U) (zenon_TX_h : zenon_U), (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((q x y)->((q y z)->(q x z)))))) -> (forall X : zenon_U, (forall Y : zenon_U, ((q X Y)->(q Y X)))) -> (forall X : zenon_U, (forall Y : zenon_U, ((p X Y)\/(q X Y)))) -> (~(q zenon_TX_h zenon_TY_i)) -> (p zenon_TY_i zenon_TX_h) -> (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((p x y)->((p y z)->(p x z)))))) -> (~(p zenon_TX_j zenon_TY_bp)) -> (p zenon_TX_h zenon_TY_bp) -> False).
% 0.45/0.71  do 4 intro. intros zenon_H2 zenon_H1 zenon_H43 zenon_H4 zenon_H44 zenon_H26 zenon_H27 zenon_H48.
% 0.45/0.71  elim (classic ((~(zenon_TX_j = zenon_TX_h))/\(~(p zenon_TX_j zenon_TX_h)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ].
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H2d). zenon_intro zenon_H19. zenon_intro zenon_H5.
% 0.45/0.71  apply (zenon_L3_ zenon_TX_j zenon_TY_i zenon_TX_h); trivial.
% 0.45/0.71  cut ((p zenon_TX_h zenon_TY_bp) = (p zenon_TX_j zenon_TY_bp)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H27.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H48.
% 0.45/0.71  cut ((zenon_TY_bp = zenon_TY_bp)); [idtac | apply NNPP; zenon_intro zenon_H39].
% 0.45/0.71  cut ((zenon_TX_h = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H10].
% 0.45/0.71  congruence.
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H2e); [ zenon_intro zenon_H30 | zenon_intro zenon_H2f ].
% 0.45/0.71  apply zenon_H30. zenon_intro zenon_H31.
% 0.45/0.71  elim (classic (zenon_TX_j = zenon_TX_j)); [ zenon_intro zenon_H32 | zenon_intro zenon_H33 ].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j) = (zenon_TX_h = zenon_TX_j)).
% 0.45/0.71  intro zenon_D_pnotp.
% 0.45/0.71  apply zenon_H10.
% 0.45/0.71  rewrite <- zenon_D_pnotp.
% 0.45/0.71  exact zenon_H32.
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_j)); [idtac | apply NNPP; zenon_intro zenon_H33].
% 0.45/0.71  cut ((zenon_TX_j = zenon_TX_h)); [idtac | apply NNPP; zenon_intro zenon_H19].
% 0.45/0.71  congruence.
% 0.45/0.71  exact (zenon_H19 zenon_H31).
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H33. apply refl_equal.
% 0.45/0.71  apply zenon_H2f. zenon_intro zenon_H13.
% 0.45/0.71  generalize (zenon_H26 zenon_TX_j). zenon_intro zenon_H34.
% 0.45/0.71  generalize (zenon_H34 zenon_TX_h). zenon_intro zenon_H35.
% 0.45/0.71  generalize (zenon_H35 zenon_TY_bp). zenon_intro zenon_H49.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H49); [ zenon_intro zenon_H5 | zenon_intro zenon_H4a ].
% 0.45/0.71  exact (zenon_H5 zenon_H13).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H4a); [ zenon_intro zenon_H4b | zenon_intro zenon_H41 ].
% 0.45/0.71  exact (zenon_H4b zenon_H48).
% 0.45/0.71  exact (zenon_H27 zenon_H41).
% 0.45/0.71  apply zenon_H39. apply refl_equal.
% 0.45/0.71  (* end of lemma zenon_L4_ *)
% 0.45/0.71  apply NNPP. intro zenon_G.
% 0.45/0.71  elim (classic (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((q x y)->((q y z)->(q x z))))))); [ zenon_intro zenon_H2 | zenon_intro zenon_H4c ].
% 0.45/0.71  elim (classic (forall x : zenon_U, (forall y : zenon_U, (forall z : zenon_U, ((p x y)->((p y z)->(p x z))))))); [ zenon_intro zenon_H26 | zenon_intro zenon_H4d ].
% 0.45/0.71  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H4f. zenon_intro zenon_H4e.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H4f). zenon_intro zenon_H51. zenon_intro zenon_H50.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H51). zenon_intro zenon_H53. zenon_intro zenon_H52.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H52). zenon_intro zenon_H55. zenon_intro zenon_H54.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H54). zenon_intro zenon_H1. zenon_intro zenon_H43.
% 0.45/0.71  apply (zenon_notallex_s (fun X : zenon_U => (forall Y : zenon_U, (p X Y))) zenon_H50); [ zenon_intro zenon_H56; idtac ].
% 0.45/0.71  elim zenon_H56. zenon_intro zenon_TX_j. zenon_intro zenon_H57.
% 0.45/0.71  apply (zenon_notallex_s (fun Y : zenon_U => (p zenon_TX_j Y)) zenon_H57); [ zenon_intro zenon_H58; idtac ].
% 0.45/0.71  elim zenon_H58. zenon_intro zenon_TY_bp. zenon_intro zenon_H27.
% 0.45/0.71  apply (zenon_notallex_s (fun X : zenon_U => (forall Y : zenon_U, (q X Y))) zenon_H4e); [ zenon_intro zenon_H59; idtac ].
% 0.45/0.71  elim zenon_H59. zenon_intro zenon_TX_h. zenon_intro zenon_H5a.
% 0.45/0.71  apply (zenon_notallex_s (fun Y : zenon_U => (q zenon_TX_h Y)) zenon_H5a); [ zenon_intro zenon_H5b; idtac ].
% 0.45/0.71  elim zenon_H5b. zenon_intro zenon_TY_i. zenon_intro zenon_H4.
% 0.45/0.71  generalize (zenon_H43 zenon_TY_i). zenon_intro zenon_H5c.
% 0.45/0.71  generalize (zenon_H43 zenon_TX_h). zenon_intro zenon_H5d.
% 0.45/0.71  generalize (zenon_H5c zenon_TX_h). zenon_intro zenon_H5e.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_H5e); [ zenon_intro zenon_H44 | zenon_intro zenon_H5f ].
% 0.45/0.71  generalize (zenon_H5d zenon_TY_i). zenon_intro zenon_H60.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_H60); [ zenon_intro zenon_H25 | zenon_intro zenon_H23 ].
% 0.45/0.71  generalize (zenon_H43 zenon_TX_j). zenon_intro zenon_H6.
% 0.45/0.71  generalize (zenon_H5c zenon_TY_bp). zenon_intro zenon_H61.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_H61); [ zenon_intro zenon_H28 | zenon_intro zenon_H62 ].
% 0.45/0.71  apply (zenon_L2_ zenon_TY_bp zenon_TX_j zenon_TY_i zenon_TX_h); trivial.
% 0.45/0.71  generalize (zenon_H1 zenon_TY_i). zenon_intro zenon_H63.
% 0.45/0.71  generalize (zenon_H63 zenon_TX_h). zenon_intro zenon_H64.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H64); [ zenon_intro zenon_H65 | zenon_intro zenon_H23 ].
% 0.45/0.71  elim (classic (q zenon_TY_bp zenon_TX_h)); [ zenon_intro zenon_H66 | zenon_intro zenon_H67 ].
% 0.45/0.71  generalize (zenon_H2 zenon_TY_i). zenon_intro zenon_H68.
% 0.45/0.71  generalize (zenon_H68 zenon_TY_bp). zenon_intro zenon_H69.
% 0.45/0.71  generalize (zenon_H69 zenon_TX_h). zenon_intro zenon_H6a.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H6a); [ zenon_intro zenon_H6c | zenon_intro zenon_H6b ].
% 0.45/0.71  exact (zenon_H6c zenon_H62).
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H6b); [ zenon_intro zenon_H67 | zenon_intro zenon_H5f ].
% 0.45/0.71  exact (zenon_H67 zenon_H66).
% 0.45/0.71  exact (zenon_H65 zenon_H5f).
% 0.45/0.71  generalize (zenon_H5d zenon_TY_bp). zenon_intro zenon_H6d.
% 0.45/0.71  apply (zenon_or_s _ _ zenon_H6d); [ zenon_intro zenon_H48 | zenon_intro zenon_H6e ].
% 0.45/0.71  apply (zenon_L4_ zenon_TY_bp zenon_TX_j zenon_TY_i zenon_TX_h); trivial.
% 0.45/0.71  generalize (zenon_H1 zenon_TX_h). zenon_intro zenon_H6f.
% 0.45/0.71  generalize (zenon_H6f zenon_TY_bp). zenon_intro zenon_H70.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H70); [ zenon_intro zenon_H71 | zenon_intro zenon_H66 ].
% 0.45/0.71  exact (zenon_H71 zenon_H6e).
% 0.45/0.71  exact (zenon_H67 zenon_H66).
% 0.45/0.71  exact (zenon_H4 zenon_H23).
% 0.45/0.71  exact (zenon_H4 zenon_H23).
% 0.45/0.71  generalize (zenon_H1 zenon_TY_i). zenon_intro zenon_H63.
% 0.45/0.71  generalize (zenon_H63 zenon_TX_h). zenon_intro zenon_H64.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H64); [ zenon_intro zenon_H65 | zenon_intro zenon_H23 ].
% 0.45/0.71  exact (zenon_H65 zenon_H5f).
% 0.45/0.71  exact (zenon_H4 zenon_H23).
% 0.45/0.71  apply zenon_H4d. zenon_intro zenon_Tx_ek. apply NNPP. zenon_intro zenon_H73.
% 0.45/0.71  apply zenon_H73. zenon_intro zenon_Ty_em. apply NNPP. zenon_intro zenon_H75.
% 0.45/0.71  apply zenon_H75. zenon_intro zenon_Tz_eo. apply NNPP. zenon_intro zenon_H77.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H77). zenon_intro zenon_H79. zenon_intro zenon_H78.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H78). zenon_intro zenon_H7b. zenon_intro zenon_H7a.
% 0.45/0.71  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H4f. zenon_intro zenon_H4e.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H4f). zenon_intro zenon_H51. zenon_intro zenon_H50.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H51). zenon_intro zenon_H53. zenon_intro zenon_H52.
% 0.45/0.71  generalize (zenon_H53 zenon_Tx_ek). zenon_intro zenon_H7c.
% 0.45/0.71  generalize (zenon_H7c zenon_Ty_em). zenon_intro zenon_H7d.
% 0.45/0.71  generalize (zenon_H7d zenon_Tz_eo). zenon_intro zenon_H7e.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H7e); [ zenon_intro zenon_H80 | zenon_intro zenon_H7f ].
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H80); [ zenon_intro zenon_H82 | zenon_intro zenon_H81 ].
% 0.45/0.71  exact (zenon_H82 zenon_H79).
% 0.45/0.71  exact (zenon_H81 zenon_H7b).
% 0.45/0.71  exact (zenon_H7a zenon_H7f).
% 0.45/0.71  apply zenon_H4c. zenon_intro zenon_Tx_fb. apply NNPP. zenon_intro zenon_H84.
% 0.45/0.71  apply zenon_H84. zenon_intro zenon_Ty_fd. apply NNPP. zenon_intro zenon_H86.
% 0.45/0.71  apply zenon_H86. zenon_intro zenon_Tz_ff. apply NNPP. zenon_intro zenon_H88.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H88). zenon_intro zenon_H8a. zenon_intro zenon_H89.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H89). zenon_intro zenon_H8c. zenon_intro zenon_H8b.
% 0.45/0.71  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H4f. zenon_intro zenon_H4e.
% 0.45/0.71  apply (zenon_notimply_s _ _ zenon_H4f). zenon_intro zenon_H51. zenon_intro zenon_H50.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H51). zenon_intro zenon_H53. zenon_intro zenon_H52.
% 0.45/0.71  apply (zenon_and_s _ _ zenon_H52). zenon_intro zenon_H55. zenon_intro zenon_H54.
% 0.45/0.71  generalize (zenon_H55 zenon_Tx_fb). zenon_intro zenon_H8d.
% 0.45/0.71  generalize (zenon_H8d zenon_Ty_fd). zenon_intro zenon_H8e.
% 0.45/0.71  generalize (zenon_H8e zenon_Tz_ff). zenon_intro zenon_H8f.
% 0.45/0.71  apply (zenon_imply_s _ _ zenon_H8f); [ zenon_intro zenon_H91 | zenon_intro zenon_H90 ].
% 0.45/0.71  apply (zenon_notand_s _ _ zenon_H91); [ zenon_intro zenon_H93 | zenon_intro zenon_H92 ].
% 0.45/0.71  exact (zenon_H93 zenon_H8a).
% 0.45/0.71  exact (zenon_H92 zenon_H8c).
% 0.45/0.71  exact (zenon_H8b zenon_H90).
% 0.45/0.71  Qed.
% 0.45/0.71  % SZS output end Proof
% 0.45/0.71  (* END-PROOF *)
% 0.45/0.71  nodes searched: 19772
% 0.45/0.71  max branch formulas: 573
% 0.45/0.71  proof nodes created: 561
% 0.45/0.71  formulas created: 12811
% 0.45/0.71  
%------------------------------------------------------------------------------