TSTP Solution File: SWC105+1 by Zenon---0.7.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : SWC105+1 : TPTP v8.1.0. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n006.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 : Tue Jul 19 22:29:19 EDT 2022

% Result   : Theorem 43.39s 43.58s
% Output   : Proof 43.39s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SWC105+1 : TPTP v8.1.0. Released v2.4.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.13/0.33  % Computer : n006.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 600
% 0.13/0.33  % DateTime : Sun Jun 12 09:10:57 EDT 2022
% 0.13/0.33  % CPUTime  : 
% 43.39/43.58  (* PROOF-FOUND *)
% 43.39/43.58  % SZS status Theorem
% 43.39/43.58  (* BEGIN-PROOF *)
% 43.39/43.58  % SZS output start Proof
% 43.39/43.58  Theorem co1 : (forall U : zenon_U, ((ssList U)->(forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(forall X : zenon_U, ((ssList X)->((~(V = X))\/((~(U = W))\/((((~((nil) = V))\/((nil) = U))/\((~(neq V (nil)))\/((neq U (nil))/\(rearsegP V U))))\/(((~((nil) = X))\/(~((nil) = W)))/\((~(neq W (nil)))\/(~(rearsegP X W))))))))))))))).
% 43.39/43.58  Proof.
% 43.39/43.58  assert (zenon_L1_ : (~((nil) = (nil))) -> False).
% 43.39/43.58  do 0 intro. intros zenon_H60.
% 43.39/43.58  apply zenon_H60. apply refl_equal.
% 43.39/43.58  (* end of lemma zenon_L1_ *)
% 43.39/43.58  assert (zenon_L2_ : forall (zenon_TW_dw : zenon_U) (zenon_TU_dx : zenon_U), (~((nil) = zenon_TU_dx)) -> ((nil) = zenon_TW_dw) -> (zenon_TU_dx = zenon_TW_dw) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H61 zenon_H62 zenon_H63.
% 43.39/43.58  cut (((nil) = zenon_TW_dw) = ((nil) = zenon_TU_dx)).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_H61.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_H62.
% 43.39/43.58  cut ((zenon_TW_dw = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_H66].
% 43.39/43.58  cut (((nil) = (nil))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 43.39/43.58  congruence.
% 43.39/43.58  apply zenon_H60. apply refl_equal.
% 43.39/43.58  apply zenon_H66. apply sym_equal. exact zenon_H63.
% 43.39/43.58  (* end of lemma zenon_L2_ *)
% 43.39/43.58  assert (zenon_L3_ : forall (zenon_TV_eb : zenon_U), (ssList zenon_TV_eb) -> (~(rearsegP zenon_TV_eb (nil))) -> False).
% 43.39/43.58  do 1 intro. intros zenon_H67 zenon_H68.
% 43.39/43.58  generalize (ax51 zenon_TV_eb). zenon_intro zenon_H6a.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H6a); [ zenon_intro zenon_H6c | zenon_intro zenon_H6b ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  exact (zenon_H68 zenon_H6b).
% 43.39/43.58  (* end of lemma zenon_L3_ *)
% 43.39/43.58  assert (zenon_L4_ : forall (zenon_TU_dx : zenon_U) (zenon_TV_eb : zenon_U), (forall W : zenon_U, ((ssList W)->(((rearsegP zenon_TV_eb (nil))/\(rearsegP (nil) W))->(rearsegP zenon_TV_eb W)))) -> (ssList zenon_TU_dx) -> (rearsegP zenon_TV_eb (nil)) -> (rearsegP (nil) zenon_TU_dx) -> (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H6d zenon_H6e zenon_H6b zenon_H6f zenon_H70.
% 43.39/43.58  generalize (zenon_H6d zenon_TU_dx). zenon_intro zenon_H71.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_H75); [ zenon_intro zenon_H68 | zenon_intro zenon_H76 ].
% 43.39/43.58  exact (zenon_H68 zenon_H6b).
% 43.39/43.58  exact (zenon_H76 zenon_H6f).
% 43.39/43.58  exact (zenon_H70 zenon_H74).
% 43.39/43.58  (* end of lemma zenon_L4_ *)
% 43.39/43.58  assert (zenon_L5_ : forall (zenon_TU_dx : zenon_U) (zenon_TV_eb : zenon_U), (forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((rearsegP zenon_TV_eb V)/\(rearsegP V W))->(rearsegP zenon_TV_eb W)))))) -> (ssList zenon_TU_dx) -> (rearsegP zenon_TV_eb (nil)) -> (rearsegP (nil) zenon_TU_dx) -> (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H77 zenon_H6e zenon_H6b zenon_H6f zenon_H70.
% 43.39/43.58  generalize (zenon_H77 (nil)). zenon_intro zenon_H78.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H78); [ zenon_intro zenon_H79 | zenon_intro zenon_H6d ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_L4_ zenon_TU_dx zenon_TV_eb); trivial.
% 43.39/43.58  (* end of lemma zenon_L5_ *)
% 43.39/43.58  assert (zenon_L6_ : forall (zenon_TV_eb : zenon_U) (zenon_TU_dx : zenon_U) (zenon_TW_dw : zenon_U), (~(~((nil) = zenon_TW_dw))) -> (zenon_TU_dx = zenon_TW_dw) -> (ssList zenon_TV_eb) -> (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> (ssList zenon_TU_dx) -> False).
% 43.39/43.58  do 3 intro. intros zenon_H7a zenon_H63 zenon_H67 zenon_H70 zenon_H6e.
% 43.39/43.58  apply zenon_H7a. zenon_intro zenon_H62.
% 43.39/43.58  generalize (ax52 zenon_TU_dx). zenon_intro zenon_H7b.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H7b); [ zenon_intro zenon_H73 | zenon_intro zenon_H7c ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_H7c); [ zenon_intro zenon_H76; zenon_intro zenon_H61 | zenon_intro zenon_H6f; zenon_intro zenon_H7d ].
% 43.39/43.58  apply (zenon_L2_ zenon_TW_dw zenon_TU_dx); trivial.
% 43.39/43.58  generalize (ax6 zenon_TV_eb). zenon_intro zenon_H7e.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H7e); [ zenon_intro zenon_H6c | zenon_intro zenon_H7f ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  generalize (ax47 zenon_TV_eb). zenon_intro zenon_H80.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H80); [ zenon_intro zenon_H6c | zenon_intro zenon_H77 ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  generalize (zenon_H7f (nil)). zenon_intro zenon_H81.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H81); [ zenon_intro zenon_H79 | zenon_intro zenon_H82 ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_H82); [ zenon_intro zenon_H68; zenon_intro zenon_H84 | zenon_intro zenon_H6b; zenon_intro zenon_H83 ].
% 43.39/43.58  apply (zenon_L3_ zenon_TV_eb); trivial.
% 43.39/43.58  apply (zenon_L5_ zenon_TU_dx zenon_TV_eb); trivial.
% 43.39/43.58  (* end of lemma zenon_L6_ *)
% 43.39/43.58  assert (zenon_L7_ : forall (zenon_TW_dw : zenon_U) (zenon_TX_ff : zenon_U) (zenon_TU_dx : zenon_U) (zenon_TV_eb : zenon_U), (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> (rearsegP zenon_TX_ff zenon_TW_dw) -> (zenon_TU_dx = zenon_TW_dw) -> (zenon_TV_eb = zenon_TX_ff) -> False).
% 43.39/43.58  do 4 intro. intros zenon_H70 zenon_H85 zenon_H63 zenon_H86.
% 43.39/43.58  cut ((rearsegP zenon_TX_ff zenon_TW_dw) = (rearsegP zenon_TV_eb zenon_TU_dx)).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_H70.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_H85.
% 43.39/43.58  cut ((zenon_TW_dw = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_H66].
% 43.39/43.58  cut ((zenon_TX_ff = zenon_TV_eb)); [idtac | apply NNPP; zenon_intro zenon_H88].
% 43.39/43.58  congruence.
% 43.39/43.58  apply zenon_H88. apply sym_equal. exact zenon_H86.
% 43.39/43.58  apply zenon_H66. apply sym_equal. exact zenon_H63.
% 43.39/43.58  (* end of lemma zenon_L7_ *)
% 43.39/43.58  assert (zenon_L8_ : forall (zenon_TU_dx : zenon_U) (zenon_TV_eb : zenon_U) (zenon_TW_dw : zenon_U) (zenon_TX_ff : zenon_U), (~(~(rearsegP zenon_TX_ff zenon_TW_dw))) -> (zenon_TV_eb = zenon_TX_ff) -> (zenon_TU_dx = zenon_TW_dw) -> (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> False).
% 43.39/43.58  do 4 intro. intros zenon_H89 zenon_H86 zenon_H63 zenon_H70.
% 43.39/43.58  apply zenon_H89. zenon_intro zenon_H85.
% 43.39/43.58  apply (zenon_L7_ zenon_TW_dw zenon_TX_ff zenon_TU_dx zenon_TV_eb); trivial.
% 43.39/43.58  (* end of lemma zenon_L8_ *)
% 43.39/43.58  assert (zenon_L9_ : forall (zenon_TU_dx : zenon_U) (zenon_TV_eb : zenon_U) (zenon_TW_dw : zenon_U) (zenon_TX_ff : zenon_U), (~(((~((nil) = zenon_TX_ff))\/(~((nil) = zenon_TW_dw)))/\((~(neq zenon_TW_dw (nil)))\/(~(rearsegP zenon_TX_ff zenon_TW_dw))))) -> (zenon_TV_eb = zenon_TX_ff) -> (zenon_TU_dx = zenon_TW_dw) -> (ssList zenon_TV_eb) -> (~(rearsegP zenon_TV_eb zenon_TU_dx)) -> (ssList zenon_TU_dx) -> False).
% 43.39/43.58  do 4 intro. intros zenon_H8a zenon_H86 zenon_H63 zenon_H67 zenon_H70 zenon_H6e.
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_H8a); [ zenon_intro zenon_H8c | zenon_intro zenon_H8b ].
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_H8c). zenon_intro zenon_H8d. zenon_intro zenon_H7a.
% 43.39/43.58  apply (zenon_L6_ zenon_TV_eb zenon_TU_dx zenon_TW_dw); trivial.
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_H8b). zenon_intro zenon_H8e. zenon_intro zenon_H89.
% 43.39/43.58  apply (zenon_L8_ zenon_TU_dx zenon_TV_eb zenon_TW_dw zenon_TX_ff); trivial.
% 43.39/43.58  (* end of lemma zenon_L9_ *)
% 43.39/43.58  assert (zenon_L10_ : forall (zenon_TV_eb : zenon_U) (zenon_TU_dx : zenon_U), (forall W : zenon_U, ((ssList W)->(((rearsegP zenon_TU_dx (nil))/\(rearsegP (nil) W))->(rearsegP zenon_TU_dx W)))) -> (ssList zenon_TV_eb) -> (rearsegP zenon_TU_dx (nil)) -> (rearsegP (nil) zenon_TV_eb) -> (~(rearsegP zenon_TU_dx zenon_TV_eb)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H8f zenon_H67 zenon_H90 zenon_H91 zenon_H92.
% 43.39/43.58  generalize (zenon_H8f zenon_TV_eb). zenon_intro zenon_H93.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H93); [ zenon_intro zenon_H6c | zenon_intro zenon_H94 ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H94); [ zenon_intro zenon_H96 | zenon_intro zenon_H95 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_H96); [ zenon_intro zenon_H98 | zenon_intro zenon_H97 ].
% 43.39/43.58  exact (zenon_H98 zenon_H90).
% 43.39/43.58  exact (zenon_H97 zenon_H91).
% 43.39/43.58  exact (zenon_H92 zenon_H95).
% 43.39/43.58  (* end of lemma zenon_L10_ *)
% 43.39/43.58  assert (zenon_L11_ : forall (zenon_TV_eb : zenon_U) (zenon_TU_dx : zenon_U), (forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((rearsegP zenon_TU_dx V)/\(rearsegP V W))->(rearsegP zenon_TU_dx W)))))) -> (ssList zenon_TV_eb) -> (rearsegP zenon_TU_dx (nil)) -> (rearsegP (nil) zenon_TV_eb) -> (~(rearsegP zenon_TU_dx zenon_TV_eb)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H99 zenon_H67 zenon_H90 zenon_H91 zenon_H92.
% 43.39/43.58  generalize (zenon_H99 (nil)). zenon_intro zenon_H9a.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H9a); [ zenon_intro zenon_H79 | zenon_intro zenon_H8f ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_L10_ zenon_TV_eb zenon_TU_dx); trivial.
% 43.39/43.58  (* end of lemma zenon_L11_ *)
% 43.39/43.58  assert (zenon_L12_ : forall (zenon_TX_ff : zenon_U), (ssList zenon_TX_ff) -> (~(frontsegP zenon_TX_ff (nil))) -> False).
% 43.39/43.58  do 1 intro. intros zenon_H9b zenon_H9c.
% 43.39/43.58  generalize (ax45 zenon_TX_ff). zenon_intro zenon_H9d.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_H9d); [ zenon_intro zenon_H9f | zenon_intro zenon_H9e ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  exact (zenon_H9c zenon_H9e).
% 43.39/43.58  (* end of lemma zenon_L12_ *)
% 43.39/43.58  assert (zenon_L13_ : forall (zenon_TU_dx : zenon_U), (ssList zenon_TU_dx) -> (~(frontsegP zenon_TU_dx (nil))) -> False).
% 43.39/43.58  do 1 intro. intros zenon_H6e zenon_Ha0.
% 43.39/43.58  generalize (ax45 zenon_TU_dx). zenon_intro zenon_Ha1.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Ha1); [ zenon_intro zenon_H73 | zenon_intro zenon_Ha2 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  exact (zenon_Ha0 zenon_Ha2).
% 43.39/43.58  (* end of lemma zenon_L13_ *)
% 43.39/43.58  assert (zenon_L14_ : forall (zenon_TX_ff : zenon_U) (zenon_TU_dx : zenon_U), (forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((frontsegP zenon_TU_dx V)/\(frontsegP V W))->(frontsegP zenon_TU_dx W)))))) -> (ssList zenon_TX_ff) -> (frontsegP zenon_TU_dx (nil)) -> (frontsegP (nil) zenon_TX_ff) -> (~(frontsegP zenon_TU_dx zenon_TX_ff)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_Ha3 zenon_H9b zenon_Ha2 zenon_Ha4 zenon_Ha5.
% 43.39/43.58  generalize (zenon_Ha3 (nil)). zenon_intro zenon_Ha6.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Ha6); [ zenon_intro zenon_H79 | zenon_intro zenon_Ha7 ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  generalize (zenon_Ha7 zenon_TX_ff). zenon_intro zenon_Ha8.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Ha8); [ zenon_intro zenon_H9f | zenon_intro zenon_Ha9 ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Ha9); [ zenon_intro zenon_Hab | zenon_intro zenon_Haa ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_Hab); [ zenon_intro zenon_Ha0 | zenon_intro zenon_Hac ].
% 43.39/43.58  exact (zenon_Ha0 zenon_Ha2).
% 43.39/43.58  exact (zenon_Hac zenon_Ha4).
% 43.39/43.58  exact (zenon_Ha5 zenon_Haa).
% 43.39/43.58  (* end of lemma zenon_L14_ *)
% 43.39/43.58  assert (zenon_L15_ : forall (zenon_TX_ff : zenon_U) (zenon_TU_dx : zenon_U), ((frontsegP zenon_TU_dx (nil))<->(exists W : zenon_U, ((ssList W)/\((app (nil) W) = zenon_TU_dx)))) -> (~(frontsegP zenon_TU_dx zenon_TX_ff)) -> (frontsegP (nil) zenon_TX_ff) -> (ssList zenon_TX_ff) -> (forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((frontsegP zenon_TU_dx V)/\(frontsegP V W))->(frontsegP zenon_TU_dx W)))))) -> (ssList zenon_TU_dx) -> False).
% 43.39/43.58  do 2 intro. intros zenon_Had zenon_Ha5 zenon_Ha4 zenon_H9b zenon_Ha3 zenon_H6e.
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_Had); [ zenon_intro zenon_Ha0; zenon_intro zenon_Haf | zenon_intro zenon_Ha2; zenon_intro zenon_Hae ].
% 43.39/43.58  apply (zenon_L13_ zenon_TU_dx); trivial.
% 43.39/43.58  apply (zenon_L14_ zenon_TX_ff zenon_TU_dx); trivial.
% 43.39/43.58  (* end of lemma zenon_L15_ *)
% 43.39/43.58  assert (zenon_L16_ : forall (zenon_TX_ff : zenon_U) (zenon_TU_dx : zenon_U), ((ssList zenon_TU_dx)->(forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((frontsegP zenon_TU_dx V)/\(frontsegP V W))->(frontsegP zenon_TU_dx W))))))) -> (ssList zenon_TX_ff) -> (frontsegP (nil) zenon_TX_ff) -> (~(frontsegP zenon_TU_dx zenon_TX_ff)) -> (forall V : zenon_U, ((ssList V)->((frontsegP zenon_TU_dx V)<->(exists W : zenon_U, ((ssList W)/\((app V W) = zenon_TU_dx)))))) -> (ssList zenon_TU_dx) -> False).
% 43.39/43.58  do 2 intro. intros zenon_Hb0 zenon_H9b zenon_Ha4 zenon_Ha5 zenon_Hb1 zenon_H6e.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hb0); [ zenon_intro zenon_H73 | zenon_intro zenon_Ha3 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  generalize (zenon_Hb1 (nil)). zenon_intro zenon_Hb2.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hb2); [ zenon_intro zenon_H79 | zenon_intro zenon_Had ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_L15_ zenon_TX_ff zenon_TU_dx); trivial.
% 43.39/43.58  (* end of lemma zenon_L16_ *)
% 43.39/43.58  assert (zenon_L17_ : forall (zenon_TX_ff : zenon_U) (zenon_TU_dx : zenon_U), (ssList zenon_TU_dx) -> (~(frontsegP zenon_TU_dx zenon_TX_ff)) -> (frontsegP (nil) zenon_TX_ff) -> (ssList zenon_TX_ff) -> False).
% 43.39/43.58  do 2 intro. intros zenon_H6e zenon_Ha5 zenon_Ha4 zenon_H9b.
% 43.39/43.58  generalize (ax5 zenon_TU_dx). zenon_intro zenon_Hb3.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hb3); [ zenon_intro zenon_H73 | zenon_intro zenon_Hb1 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  generalize (ax40 zenon_TU_dx). zenon_intro zenon_Hb0.
% 43.39/43.58  apply (zenon_L16_ zenon_TX_ff zenon_TU_dx); trivial.
% 43.39/43.58  (* end of lemma zenon_L17_ *)
% 43.39/43.58  assert (zenon_L18_ : forall (zenon_TU_dx : zenon_U) (zenon_TX_ff : zenon_U), ((ssList zenon_TX_ff)->(((frontsegP zenon_TU_dx zenon_TX_ff)/\(frontsegP zenon_TX_ff zenon_TU_dx))->(zenon_TU_dx = zenon_TX_ff))) -> (frontsegP (nil) zenon_TU_dx) -> (frontsegP zenon_TX_ff (nil)) -> (ssList zenon_TU_dx) -> (forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(((frontsegP zenon_TX_ff V)/\(frontsegP V W))->(frontsegP zenon_TX_ff W)))))) -> (frontsegP (nil) zenon_TX_ff) -> (ssList zenon_TX_ff) -> (~(zenon_TX_ff = zenon_TU_dx)) -> False).
% 43.39/43.58  do 2 intro. intros zenon_Hb4 zenon_Hb5 zenon_H9e zenon_H6e zenon_Hb6 zenon_Ha4 zenon_H9b zenon_Hb7.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hb4); [ zenon_intro zenon_H9f | zenon_intro zenon_Hb8 ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hb8); [ zenon_intro zenon_Hba | zenon_intro zenon_Hb9 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_Hba); [ zenon_intro zenon_Ha5 | zenon_intro zenon_Hbb ].
% 43.39/43.58  apply (zenon_L17_ zenon_TX_ff zenon_TU_dx); trivial.
% 43.39/43.58  generalize (zenon_Hb6 (nil)). zenon_intro zenon_Hbc.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hbc); [ zenon_intro zenon_H79 | zenon_intro zenon_Hbd ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  generalize (zenon_Hbd zenon_TU_dx). zenon_intro zenon_Hbe.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hbe); [ zenon_intro zenon_H73 | zenon_intro zenon_Hbf ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hbf); [ zenon_intro zenon_Hc1 | zenon_intro zenon_Hc0 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_Hc1); [ zenon_intro zenon_H9c | zenon_intro zenon_Hc2 ].
% 43.39/43.58  exact (zenon_H9c zenon_H9e).
% 43.39/43.58  exact (zenon_Hc2 zenon_Hb5).
% 43.39/43.58  exact (zenon_Hbb zenon_Hc0).
% 43.39/43.58  apply zenon_Hb7. apply sym_equal. exact zenon_Hb9.
% 43.39/43.58  (* end of lemma zenon_L18_ *)
% 43.39/43.58  apply NNPP. intro zenon_G.
% 43.39/43.58  apply (zenon_notallex_s (fun U : zenon_U => ((ssList U)->(forall V : zenon_U, ((ssList V)->(forall W : zenon_U, ((ssList W)->(forall X : zenon_U, ((ssList X)->((~(V = X))\/((~(U = W))\/((((~((nil) = V))\/((nil) = U))/\((~(neq V (nil)))\/((neq U (nil))/\(rearsegP V U))))\/(((~((nil) = X))\/(~((nil) = W)))/\((~(neq W (nil)))\/(~(rearsegP X W))))))))))))))) zenon_G); [ zenon_intro zenon_Hc3; idtac ].
% 43.39/43.58  elim zenon_Hc3. zenon_intro zenon_TU_dx. zenon_intro zenon_Hc4.
% 43.39/43.58  apply (zenon_notimply_s _ _ zenon_Hc4). zenon_intro zenon_H6e. zenon_intro zenon_Hc5.
% 43.39/43.58  apply (zenon_notallex_s (fun V : zenon_U => ((ssList V)->(forall W : zenon_U, ((ssList W)->(forall X : zenon_U, ((ssList X)->((~(V = X))\/((~(zenon_TU_dx = W))\/((((~((nil) = V))\/((nil) = zenon_TU_dx))/\((~(neq V (nil)))\/((neq zenon_TU_dx (nil))/\(rearsegP V zenon_TU_dx))))\/(((~((nil) = X))\/(~((nil) = W)))/\((~(neq W (nil)))\/(~(rearsegP X W))))))))))))) zenon_Hc5); [ zenon_intro zenon_Hc6; idtac ].
% 43.39/43.58  elim zenon_Hc6. zenon_intro zenon_TV_eb. zenon_intro zenon_Hc7.
% 43.39/43.58  apply (zenon_notimply_s _ _ zenon_Hc7). zenon_intro zenon_H67. zenon_intro zenon_Hc8.
% 43.39/43.58  apply (zenon_notallex_s (fun W : zenon_U => ((ssList W)->(forall X : zenon_U, ((ssList X)->((~(zenon_TV_eb = X))\/((~(zenon_TU_dx = W))\/((((~((nil) = zenon_TV_eb))\/((nil) = zenon_TU_dx))/\((~(neq zenon_TV_eb (nil)))\/((neq zenon_TU_dx (nil))/\(rearsegP zenon_TV_eb zenon_TU_dx))))\/(((~((nil) = X))\/(~((nil) = W)))/\((~(neq W (nil)))\/(~(rearsegP X W))))))))))) zenon_Hc8); [ zenon_intro zenon_Hc9; idtac ].
% 43.39/43.58  elim zenon_Hc9. zenon_intro zenon_TW_dw. zenon_intro zenon_Hca.
% 43.39/43.58  apply (zenon_notimply_s _ _ zenon_Hca). zenon_intro zenon_Hcc. zenon_intro zenon_Hcb.
% 43.39/43.58  apply (zenon_notallex_s (fun X : zenon_U => ((ssList X)->((~(zenon_TV_eb = X))\/((~(zenon_TU_dx = zenon_TW_dw))\/((((~((nil) = zenon_TV_eb))\/((nil) = zenon_TU_dx))/\((~(neq zenon_TV_eb (nil)))\/((neq zenon_TU_dx (nil))/\(rearsegP zenon_TV_eb zenon_TU_dx))))\/(((~((nil) = X))\/(~((nil) = zenon_TW_dw)))/\((~(neq zenon_TW_dw (nil)))\/(~(rearsegP X zenon_TW_dw))))))))) zenon_Hcb); [ zenon_intro zenon_Hcd; idtac ].
% 43.39/43.58  elim zenon_Hcd. zenon_intro zenon_TX_ff. zenon_intro zenon_Hce.
% 43.39/43.58  apply (zenon_notimply_s _ _ zenon_Hce). zenon_intro zenon_H9b. zenon_intro zenon_Hcf.
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_Hcf). zenon_intro zenon_Hd1. zenon_intro zenon_Hd0.
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_Hd0). zenon_intro zenon_Hd3. zenon_intro zenon_Hd2.
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_Hd2). zenon_intro zenon_Hd4. zenon_intro zenon_H8a.
% 43.39/43.58  apply zenon_Hd3. zenon_intro zenon_H63.
% 43.39/43.58  apply zenon_Hd1. zenon_intro zenon_H86.
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_Hd4); [ zenon_intro zenon_Hd6 | zenon_intro zenon_Hd5 ].
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_Hd6). zenon_intro zenon_Hd7. zenon_intro zenon_H61.
% 43.39/43.58  apply zenon_Hd7. zenon_intro zenon_Hd8.
% 43.39/43.58  cut (((nil) = zenon_TV_eb) = ((nil) = zenon_TU_dx)).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_H61.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_Hd8.
% 43.39/43.58  cut ((zenon_TV_eb = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_Hd9].
% 43.39/43.58  cut (((nil) = (nil))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 43.39/43.58  congruence.
% 43.39/43.58  apply zenon_H60. apply refl_equal.
% 43.39/43.58  generalize (ax52 zenon_TV_eb). zenon_intro zenon_Hda.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hda); [ zenon_intro zenon_H6c | zenon_intro zenon_Hdb ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_Hdb); [ zenon_intro zenon_H97; zenon_intro zenon_Hdc | zenon_intro zenon_H91; zenon_intro zenon_Hd8 ].
% 43.39/43.58  exact (zenon_Hdc zenon_Hd8).
% 43.39/43.58  generalize (ax48 zenon_TV_eb). zenon_intro zenon_Hdd.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hdd); [ zenon_intro zenon_H6c | zenon_intro zenon_Hde ].
% 43.39/43.58  exact (zenon_H6c zenon_H67).
% 43.39/43.58  generalize (ax47 zenon_TU_dx). zenon_intro zenon_Hdf.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hdf); [ zenon_intro zenon_H73 | zenon_intro zenon_H99 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  generalize (ax6 zenon_TU_dx). zenon_intro zenon_He0.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_He0); [ zenon_intro zenon_H73 | zenon_intro zenon_He1 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  generalize (zenon_Hde zenon_TU_dx). zenon_intro zenon_He2.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_He2); [ zenon_intro zenon_H73 | zenon_intro zenon_He3 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_He3); [ zenon_intro zenon_He5 | zenon_intro zenon_He4 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_He5); [ zenon_intro zenon_H70 | zenon_intro zenon_H92 ].
% 43.39/43.58  apply (zenon_L9_ zenon_TU_dx zenon_TV_eb zenon_TW_dw zenon_TX_ff); trivial.
% 43.39/43.58  generalize (zenon_He1 (nil)). zenon_intro zenon_He6.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_He6); [ zenon_intro zenon_H79 | zenon_intro zenon_He7 ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_He7); [ zenon_intro zenon_H98; zenon_intro zenon_He9 | zenon_intro zenon_H90; zenon_intro zenon_He8 ].
% 43.39/43.58  generalize (ax51 zenon_TU_dx). zenon_intro zenon_Hea.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hea); [ zenon_intro zenon_H73 | zenon_intro zenon_H90 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  exact (zenon_H98 zenon_H90).
% 43.39/43.58  apply (zenon_L11_ zenon_TV_eb zenon_TU_dx); trivial.
% 43.39/43.58  exact (zenon_Hd9 zenon_He4).
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_Hd5). zenon_intro zenon_Hec. zenon_intro zenon_Heb.
% 43.39/43.58  apply zenon_Hec. zenon_intro zenon_Hed.
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_Heb); [ zenon_intro zenon_Hee | zenon_intro zenon_H70 ].
% 43.39/43.58  apply (zenon_notand_s _ _ zenon_H8a); [ zenon_intro zenon_H8c | zenon_intro zenon_H8b ].
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_H8c). zenon_intro zenon_H8d. zenon_intro zenon_H7a.
% 43.39/43.58  apply zenon_H8d. zenon_intro zenon_Hef.
% 43.39/43.58  apply zenon_H7a. zenon_intro zenon_H62.
% 43.39/43.58  cut ((neq zenon_TV_eb (nil)) = (neq zenon_TU_dx (nil))).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_Hee.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_Hed.
% 43.39/43.58  cut (((nil) = (nil))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 43.39/43.58  cut ((zenon_TV_eb = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_Hd9].
% 43.39/43.58  congruence.
% 43.39/43.58  generalize (ax46 zenon_TX_ff). zenon_intro zenon_Hf0.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hf0); [ zenon_intro zenon_H9f | zenon_intro zenon_Hf1 ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_Hf1); [ zenon_intro zenon_Hac; zenon_intro zenon_Hf2 | zenon_intro zenon_Ha4; zenon_intro zenon_Hef ].
% 43.39/43.58  exact (zenon_Hf2 zenon_Hef).
% 43.39/43.58  generalize (ax41 zenon_TU_dx). zenon_intro zenon_Hf3.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hf3); [ zenon_intro zenon_H73 | zenon_intro zenon_Hf4 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  generalize (ax46 zenon_TU_dx). zenon_intro zenon_Hf5.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hf5); [ zenon_intro zenon_H73 | zenon_intro zenon_Hf6 ].
% 43.39/43.58  exact (zenon_H73 zenon_H6e).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_Hf6); [ zenon_intro zenon_Hc2; zenon_intro zenon_H61 | zenon_intro zenon_Hb5; zenon_intro zenon_H7d ].
% 43.39/43.58  apply (zenon_L2_ zenon_TW_dw zenon_TU_dx); trivial.
% 43.39/43.58  generalize (ax40 zenon_TX_ff). zenon_intro zenon_Hf7.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hf7); [ zenon_intro zenon_H9f | zenon_intro zenon_Hb6 ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  cut ((zenon_TV_eb = zenon_TX_ff) = (zenon_TV_eb = zenon_TU_dx)).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_Hd9.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_H86.
% 43.39/43.58  cut ((zenon_TX_ff = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_Hb7].
% 43.39/43.58  cut ((zenon_TV_eb = zenon_TV_eb)); [idtac | apply NNPP; zenon_intro zenon_Hf8].
% 43.39/43.58  congruence.
% 43.39/43.58  apply zenon_Hf8. apply refl_equal.
% 43.39/43.58  generalize (ax5 zenon_TX_ff). zenon_intro zenon_Hf9.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hf9); [ zenon_intro zenon_H9f | zenon_intro zenon_Hfa ].
% 43.39/43.58  exact (zenon_H9f zenon_H9b).
% 43.39/43.58  generalize (zenon_Hf4 zenon_TX_ff). zenon_intro zenon_Hb4.
% 43.39/43.58  generalize (zenon_Hfa (nil)). zenon_intro zenon_Hfb.
% 43.39/43.58  apply (zenon_imply_s _ _ zenon_Hfb); [ zenon_intro zenon_H79 | zenon_intro zenon_Hfc ].
% 43.39/43.58  exact (zenon_H79 ax17).
% 43.39/43.58  apply (zenon_equiv_s _ _ zenon_Hfc); [ zenon_intro zenon_H9c; zenon_intro zenon_Hfe | zenon_intro zenon_H9e; zenon_intro zenon_Hfd ].
% 43.39/43.58  apply (zenon_L12_ zenon_TX_ff); trivial.
% 43.39/43.58  apply (zenon_L18_ zenon_TU_dx zenon_TX_ff); trivial.
% 43.39/43.58  apply zenon_H60. apply refl_equal.
% 43.39/43.58  apply (zenon_notor_s _ _ zenon_H8b). zenon_intro zenon_H8e. zenon_intro zenon_H89.
% 43.39/43.58  apply zenon_H8e. zenon_intro zenon_Hff.
% 43.39/43.58  cut ((neq zenon_TW_dw (nil)) = (neq zenon_TU_dx (nil))).
% 43.39/43.58  intro zenon_D_pnotp.
% 43.39/43.58  apply zenon_Hee.
% 43.39/43.58  rewrite <- zenon_D_pnotp.
% 43.39/43.58  exact zenon_Hff.
% 43.39/43.58  cut (((nil) = (nil))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 43.39/43.58  cut ((zenon_TW_dw = zenon_TU_dx)); [idtac | apply NNPP; zenon_intro zenon_H66].
% 43.39/43.58  congruence.
% 43.39/43.58  apply zenon_H66. apply sym_equal. exact zenon_H63.
% 43.39/43.58  apply zenon_H60. apply refl_equal.
% 43.39/43.58  apply (zenon_L9_ zenon_TU_dx zenon_TV_eb zenon_TW_dw zenon_TX_ff); trivial.
% 43.39/43.58  Qed.
% 43.39/43.58  % SZS output end Proof
% 43.39/43.58  (* END-PROOF *)
% 43.39/43.58  nodes searched: 559895
% 43.39/43.58  max branch formulas: 9942
% 43.39/43.58  proof nodes created: 46884
% 43.39/43.58  formulas created: 2436624
% 43.39/43.58  
%------------------------------------------------------------------------------