TSTP Solution File: SWW400-1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : SWW400-1 : TPTP v8.2.0. Released v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n027.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  : 300s
% DateTime : Wed May 29 18:19:14 EDT 2024

% Result   : Unsatisfiable 0.37s 0.69s
% Output   : Proof 0.37s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.15  % Problem    : SWW400-1 : TPTP v8.2.0. Released v5.2.0.
% 0.16/0.16  % Command    : do_cvc5 %s %d
% 0.16/0.38  % Computer : n027.cluster.edu
% 0.16/0.38  % Model    : x86_64 x86_64
% 0.16/0.38  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.38  % Memory   : 8042.1875MB
% 0.16/0.38  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.16/0.38  % CPULimit   : 300
% 0.16/0.38  % WCLimit    : 300
% 0.16/0.38  % DateTime   : Sun May 26 05:43:54 EDT 2024
% 0.16/0.39  % CPUTime    : 
% 0.24/0.53  %----Proving TF0_NAR, FOF, or CNF
% 0.24/0.53  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.37/0.69  % SZS status Unsatisfiable for /export/starexec/sandbox2/tmp/tmp.x8RcpNKdXr/cvc5---1.0.5_18735.smt2
% 0.37/0.69  % SZS output start Proof for /export/starexec/sandbox2/tmp/tmp.x8RcpNKdXr/cvc5---1.0.5_18735.smt2
% 0.37/0.71  (assume a0 (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))))
% 0.37/0.71  (assume a1 (forall ((X $$unsorted) (Sigma $$unsorted)) (= (tptp.sep (tptp.lseg X X) Sigma) Sigma)))
% 0.37/0.71  (assume a2 (forall ((Y $$unsorted) (Sigma $$unsorted)) (not (tptp.heap (tptp.sep (tptp.next tptp.nil Y) Sigma)))))
% 0.37/0.71  (assume a3 (forall ((Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.nil Y) Sigma))) (= Y tptp.nil))))
% 0.37/0.71  (assume a4 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.next X Z) Sigma))))))
% 0.37/0.71  (assume a5 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg X Z) Sigma)))) (= X Z))))
% 0.37/0.71  (assume a6 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg X Z) Sigma)))) (= X Y) (= X Z))))
% 0.37/0.71  (assume a7 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))))
% 0.37/0.71  (assume a8 (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))))
% 0.37/0.71  (assume a9 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y Z) (tptp.sep (tptp.next Z W) Sigma))))) (tptp.heap (tptp.sep (tptp.lseg X Z) (tptp.sep (tptp.next Z W) Sigma))))))
% 0.37/0.71  (assume a10 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (W $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y Z) (tptp.sep (tptp.lseg Z W) Sigma))))) (= Z W) (tptp.heap (tptp.sep (tptp.lseg X Z) (tptp.sep (tptp.lseg Z W) Sigma))))))
% 0.37/0.71  (assume a11 (not (= tptp.nil tptp.x1)))
% 0.37/0.71  (assume a12 (not (= tptp.nil tptp.x2)))
% 0.37/0.71  (assume a13 (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (assume a14 (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))
% 0.37/0.71  (step t1 (cl (not (= (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) (not (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule equiv_pos2)
% 0.37/0.71  (step t2 (cl (= (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule refl)
% 0.37/0.71  (step t3 (cl (= (= (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) true) (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule equiv_simplify)
% 0.37/0.71  (step t4 (cl (not (= (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) true)) (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule equiv1 :premises (t3))
% 0.37/0.71  (step t5 (cl (= (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))))) :rule all_simplify)
% 0.37/0.71  (step t6 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule refl)
% 0.37/0.71  (step t7 (cl (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule all_simplify)
% 0.37/0.71  (step t8 (cl (= (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule cong :premises (t6 t7))
% 0.37/0.71  (step t9 (cl (= (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) true)) :rule all_simplify)
% 0.37/0.71  (step t10 (cl (= (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) true)) :rule trans :premises (t8 t9))
% 0.37/0.71  (step t11 (cl (= (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) true)) :rule trans :premises (t5 t10))
% 0.37/0.71  (step t12 (cl (= (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule resolution :premises (t4 t11))
% 0.37/0.71  (step t13 (cl (= (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule refl)
% 0.37/0.71  (step t14 (cl (= (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule cong :premises (t2 t12 t13))
% 0.37/0.71  (step t15 (cl (not (= (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) (not (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule equiv_pos2)
% 0.37/0.71  (step t16 (cl (= (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule refl)
% 0.37/0.71  (step t17 (cl (= (= (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))))) :rule equiv_simplify)
% 0.37/0.71  (step t18 (cl (= (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (not (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))))) :rule equiv2 :premises (t17))
% 0.37/0.71  (step t19 (cl (not (not (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule not_not)
% 0.37/0.71  (step t20 (cl (= (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t18 t19))
% 0.37/0.71  (step t21 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t22)
% 0.37/0.71  (assume t22.a0 (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (assume t22.a1 (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))
% 0.37/0.71  (assume t22.a2 (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))
% 0.37/0.71  (step t22.t1 (cl (not (= (= false true) false)) (not (= false true)) false) :rule equiv_pos2)
% 0.37/0.71  (step t22.t2 (cl (= (= false true) false)) :rule all_simplify)
% 0.37/0.71  (step t22.t3 (cl (= (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) false) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule equiv_simplify)
% 0.37/0.71  (step t22.t4 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) false) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule equiv2 :premises (t22.t3))
% 0.37/0.71  (step t22.t5 (cl (not (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule not_not)
% 0.37/0.71  (step t22.t6 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) false) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule resolution :premises (t22.t4 t22.t5))
% 0.37/0.71  (step t22.t7 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) false)) :rule resolution :premises (t22.t6 t22.a2))
% 0.37/0.71  (step t22.t8 (cl (= false (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule symm :premises (t22.t7))
% 0.37/0.71  (step t22.t9 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule symm :premises (t22.a1))
% 0.37/0.71  (step t22.t10 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule cong :premises (t22.t9))
% 0.37/0.71  (step t22.t11 (cl (= (= (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule equiv_simplify)
% 0.37/0.71  (step t22.t12 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule equiv2 :premises (t22.t11))
% 0.37/0.71  (step t22.t13 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true)) :rule resolution :premises (t22.t12 t22.a0))
% 0.37/0.71  (step t22.t14 (cl (= false true)) :rule trans :premises (t22.t8 t22.t10 t22.t13))
% 0.37/0.71  (step t22.t15 (cl false) :rule resolution :premises (t22.t1 t22.t2 t22.t14))
% 0.37/0.71  (step t22 (cl (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) :rule subproof :discharge (t22.a0 t22.a1 t22.a2))
% 0.37/0.71  (step t23 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t24 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t25 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule and_pos)
% 0.37/0.71  (step t26 (cl false (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule resolution :premises (t22 t23 t24 t25))
% 0.37/0.71  (step t27 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) false) :rule reordering :premises (t26))
% 0.37/0.71  (step t28 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) false) :rule contraction :premises (t27))
% 0.37/0.71  (step t29 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) false) :rule resolution :premises (t21 t28))
% 0.37/0.71  (step t30 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (not false)) :rule implies_neg2)
% 0.37/0.71  (step t31 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false)) :rule resolution :premises (t29 t30))
% 0.37/0.71  (step t32 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false)) :rule contraction :premises (t31))
% 0.37/0.71  (step t33 (cl (= (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))))) :rule implies_simplify)
% 0.37/0.71  (step t34 (cl (not (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false)) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule equiv1 :premises (t33))
% 0.37/0.71  (step t35 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule resolution :premises (t32 t34))
% 0.37/0.71  (step t36 (cl (= (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) false)) :rule resolution :premises (t20 t35))
% 0.37/0.71  (step t37 (cl (= (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) false))) :rule cong :premises (t16 t36))
% 0.37/0.71  (step t38 (cl (= (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) false) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule all_simplify)
% 0.37/0.71  (step t39 (cl (= (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule trans :premises (t37 t38))
% 0.37/0.71  (step t40 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t41)
% 0.37/0.71  (assume t41.a0 (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (assume t41.a1 (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))
% 0.37/0.71  (assume t41.a2 (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))
% 0.37/0.71  (step t41.t1 (cl (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule and_neg)
% 0.37/0.71  (step t41.t2 (cl (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t41.t1 t41.a0 t41.a2 t41.a1))
% 0.37/0.71  (step t41 (cl (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule subproof :discharge (t41.a0 t41.a1 t41.a2))
% 0.37/0.71  (step t42 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t43 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule and_pos)
% 0.37/0.71  (step t44 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t45 (cl (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t41 t42 t43 t44))
% 0.37/0.71  (step t46 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule reordering :premises (t45))
% 0.37/0.71  (step t47 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule contraction :premises (t46))
% 0.37/0.71  (step t48 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t40 t47))
% 0.37/0.71  (step t49 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule implies_neg2)
% 0.37/0.71  (step t50 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule resolution :premises (t48 t49))
% 0.37/0.71  (step t51 (cl (=> (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule contraction :premises (t50))
% 0.37/0.71  (step t52 (cl (not (and (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t15 t39 t51))
% 0.37/0.71  (step t53 (cl (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule not_and :premises (t52))
% 0.37/0.71  (step t54 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule or_neg)
% 0.37/0.71  (step t55 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))))) :rule or_neg)
% 0.37/0.71  (step t56 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule or_neg)
% 0.37/0.71  (step t57 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t53 t54 t55 t56))
% 0.37/0.71  (step t58 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule contraction :premises (t57))
% 0.37/0.71  (step t59 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule resolution :premises (t1 t14 t58))
% 0.37/0.71  (step t60 (cl (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule or :premises (t59))
% 0.37/0.71  (step t61 (cl (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule reordering :premises (t60))
% 0.37/0.71  (step t62 (cl (not (= (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) (not (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule equiv_pos2)
% 0.37/0.71  (step t63 (cl (= (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))))) :rule refl)
% 0.37/0.71  (step t64 (cl (= (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule all_simplify)
% 0.37/0.71  (step t65 (cl (= (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))))) :rule cong :premises (t63 t64))
% 0.37/0.71  (step t66 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t67)
% 0.37/0.71  (assume t67.a0 (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))))
% 0.37/0.71  (step t67.t1 (cl (or (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule forall_inst :args ((:= S (tptp.lseg tptp.x1 tptp.x2)) (:= T (tptp.lseg tptp.x2 tptp.nil)) (:= Sigma tptp.emp)))
% 0.37/0.71  (step t67.t2 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule or :premises (t67.t1))
% 0.37/0.71  (step t67.t3 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule resolution :premises (t67.t2 t67.a0))
% 0.37/0.71  (step t67 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule subproof :discharge (t67.a0))
% 0.37/0.71  (step t68 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule resolution :premises (t66 t67))
% 0.37/0.71  (step t69 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule implies_neg2)
% 0.37/0.71  (step t70 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t68 t69))
% 0.37/0.71  (step t71 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule contraction :premises (t70))
% 0.37/0.71  (step t72 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule resolution :premises (t62 t65 t71))
% 0.37/0.71  (step t73 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule implies :premises (t72))
% 0.37/0.71  (step t74 (cl (= (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) :rule resolution :premises (t73 a0))
% 0.37/0.71  (step t75 (cl (not (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule or_pos)
% 0.37/0.71  (step t76 (cl (= tptp.nil tptp.x2) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (not (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule reordering :premises (t75))
% 0.37/0.71  (step t77 (cl (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule and_neg)
% 0.37/0.71  (step t78 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t79)
% 0.37/0.71  (assume t79.a0 (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (assume t79.a1 (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))
% 0.37/0.71  (assume t79.a2 (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))
% 0.37/0.71  (step t79.t1 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t79.t2)
% 0.37/0.71  (assume t79.t2.a0 (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (assume t79.t2.a1 (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))
% 0.37/0.71  (assume t79.t2.a2 (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))
% 0.37/0.71  (step t79.t2.t1 (cl (= (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) true) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule equiv_simplify)
% 0.37/0.71  (step t79.t2.t2 (cl (not (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) true)) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule equiv1 :premises (t79.t2.t1))
% 0.37/0.71  (step t79.t2.t3 (cl (= (tptp.next tptp.x2 tptp.nil) (tptp.next tptp.x2 tptp.nil))) :rule refl)
% 0.37/0.71  (step t79.t2.t4 (cl (= (tptp.lseg tptp.nil tptp.nil) (tptp.lseg tptp.nil tptp.nil))) :rule refl)
% 0.37/0.71  (step t79.t2.t5 (cl (= (tptp.lseg tptp.x1 tptp.x2) (tptp.lseg tptp.x1 tptp.x2))) :rule refl)
% 0.37/0.71  (step t79.t2.t6 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))) :rule cong :premises (t79.t2.t5 t79.t2.a1))
% 0.37/0.71  (step t79.t2.t7 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule cong :premises (t79.t2.t4 t79.t2.t6))
% 0.37/0.71  (step t79.t2.t8 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule symm :premises (t79.t2.a2))
% 0.37/0.71  (step t79.t2.t9 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp) tptp.emp)) :rule symm :premises (t79.t2.a1))
% 0.37/0.71  (step t79.t2.t10 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule cong :premises (t79.t2.t4 t79.t2.t9))
% 0.37/0.71  (step t79.t2.t11 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) tptp.emp)) :rule trans :premises (t79.t2.t10 t79.t2.t9))
% 0.37/0.71  (step t79.t2.t12 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) :rule cong :premises (t79.t2.t5 t79.t2.t11))
% 0.37/0.71  (step t79.t2.t13 (cl (= (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) :rule trans :premises (t79.t2.t7 t79.t2.t8 t79.t2.t12))
% 0.37/0.71  (step t79.t2.t14 (cl (= (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule cong :premises (t79.t2.t3 t79.t2.t13))
% 0.37/0.71  (step t79.t2.t15 (cl (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule cong :premises (t79.t2.t14))
% 0.37/0.71  (step t79.t2.t16 (cl (= (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule equiv_simplify)
% 0.37/0.71  (step t79.t2.t17 (cl (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule equiv2 :premises (t79.t2.t16))
% 0.37/0.71  (step t79.t2.t18 (cl (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) true)) :rule resolution :premises (t79.t2.t17 t79.t2.a0))
% 0.37/0.71  (step t79.t2.t19 (cl (= (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) true)) :rule trans :premises (t79.t2.t15 t79.t2.t18))
% 0.37/0.71  (step t79.t2.t20 (cl (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t79.t2.t2 t79.t2.t19))
% 0.37/0.71  (step t79.t2 (cl (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule subproof :discharge (t79.t2.a0 t79.t2.a1 t79.t2.a2))
% 0.37/0.71  (step t79.t3 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t79.t4 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule and_pos)
% 0.37/0.71  (step t79.t5 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule and_pos)
% 0.37/0.71  (step t79.t6 (cl (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))))) :rule resolution :premises (t79.t2 t79.t3 t79.t4 t79.t5))
% 0.37/0.71  (step t79.t7 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule reordering :premises (t79.t6))
% 0.37/0.71  (step t79.t8 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule contraction :premises (t79.t7))
% 0.37/0.71  (step t79.t9 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t79.t1 t79.t8))
% 0.37/0.71  (step t79.t10 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule implies_neg2)
% 0.37/0.71  (step t79.t11 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule resolution :premises (t79.t9 t79.t10))
% 0.37/0.71  (step t79.t12 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule contraction :premises (t79.t11))
% 0.37/0.71  (step t79.t13 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule implies :premises (t79.t12))
% 0.37/0.71  (step t79.t14 (cl (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule and_neg)
% 0.37/0.71  (step t79.t15 (cl (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule resolution :premises (t79.t14 t79.a0 t79.a1 t79.a2))
% 0.37/0.71  (step t79.t16 (cl (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t79.t13 t79.t15))
% 0.37/0.71  (step t79 (cl (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule subproof :discharge (t79.a0 t79.a1 t79.a2))
% 0.37/0.71  (step t80 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule and_pos)
% 0.37/0.71  (step t81 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule and_pos)
% 0.37/0.71  (step t82 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule and_pos)
% 0.37/0.71  (step t83 (cl (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))))) :rule resolution :premises (t79 t80 t81 t82))
% 0.37/0.71  (step t84 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule reordering :premises (t83))
% 0.37/0.71  (step t85 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule contraction :premises (t84))
% 0.37/0.71  (step t86 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t78 t85))
% 0.37/0.71  (step t87 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule implies_neg2)
% 0.37/0.71  (step t88 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule resolution :premises (t86 t87))
% 0.37/0.71  (step t89 (cl (=> (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule contraction :premises (t88))
% 0.37/0.71  (step t90 (cl (not (and (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule implies :premises (t89))
% 0.37/0.71  (step t91 (cl (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t77 t90))
% 0.37/0.71  (step t92 (cl (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t93)
% 0.37/0.71  (assume t93.a0 (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))))
% 0.37/0.71  (step t93.t1 (cl (or (not (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))) :rule forall_inst :args ((:= X tptp.nil) (:= Sigma tptp.emp)))
% 0.37/0.71  (step t93.t2 (cl (not (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule or :premises (t93.t1))
% 0.37/0.71  (step t93.t3 (cl (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule resolution :premises (t93.t2 t93.a0))
% 0.37/0.71  (step t93 (cl (not (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule subproof :discharge (t93.a0))
% 0.37/0.71  (step t94 (cl (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule resolution :premises (t92 t93))
% 0.37/0.71  (step t95 (cl (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (not (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))) :rule implies_neg2)
% 0.37/0.71  (step t96 (cl (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))) :rule resolution :premises (t94 t95))
% 0.37/0.71  (step t97 (cl (=> (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))) :rule contraction :premises (t96))
% 0.37/0.71  (step t98 (cl (not (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule implies :premises (t97))
% 0.37/0.71  (step t99 (cl (not (= (forall ((X $$unsorted) (Sigma $$unsorted)) (= (tptp.sep (tptp.lseg X X) Sigma) Sigma)) (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))))) (not (forall ((X $$unsorted) (Sigma $$unsorted)) (= (tptp.sep (tptp.lseg X X) Sigma) Sigma))) (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) :rule equiv_pos2)
% 0.37/0.71  (anchor :step t100 :args ((X $$unsorted) (:= X X) (Sigma $$unsorted) (:= Sigma Sigma)))
% 0.37/0.71  (step t100.t1 (cl (= X X)) :rule refl)
% 0.37/0.71  (step t100.t2 (cl (= Sigma Sigma)) :rule refl)
% 0.37/0.71  (step t100.t3 (cl (= (= (tptp.sep (tptp.lseg X X) Sigma) Sigma) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) :rule all_simplify)
% 0.37/0.71  (step t100 (cl (= (forall ((X $$unsorted) (Sigma $$unsorted)) (= (tptp.sep (tptp.lseg X X) Sigma) Sigma)) (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma))))) :rule bind)
% 0.37/0.71  (step t101 (cl (forall ((X $$unsorted) (Sigma $$unsorted)) (= Sigma (tptp.sep (tptp.lseg X X) Sigma)))) :rule resolution :premises (t99 t100 a1))
% 0.37/0.71  (step t102 (cl (= tptp.emp (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) :rule resolution :premises (t98 t101))
% 0.37/0.71  (step t103 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t104)
% 0.37/0.71  (assume t104.a0 (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))))
% 0.37/0.71  (step t104.t1 (cl (or (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule forall_inst :args ((:= S (tptp.lseg tptp.x1 tptp.x2)) (:= T (tptp.lseg tptp.nil tptp.nil)) (:= Sigma (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))
% 0.37/0.71  (step t104.t2 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule or :premises (t104.t1))
% 0.37/0.71  (step t104.t3 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule resolution :premises (t104.t2 t104.a0))
% 0.37/0.71  (step t104 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule subproof :discharge (t104.a0))
% 0.37/0.71  (step t105 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule resolution :premises (t103 t104))
% 0.37/0.71  (step t106 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (not (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule implies_neg2)
% 0.37/0.71  (step t107 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule resolution :premises (t105 t106))
% 0.37/0.71  (step t108 (cl (=> (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma)))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp)))))) :rule contraction :premises (t107))
% 0.37/0.71  (step t109 (cl (not (forall ((S $$unsorted) (T $$unsorted) (Sigma $$unsorted)) (= (tptp.sep S (tptp.sep T Sigma)) (tptp.sep T (tptp.sep S Sigma))))) (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule implies :premises (t108))
% 0.37/0.71  (step t110 (cl (= (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.nil tptp.nil) tptp.emp))))) :rule resolution :premises (t109 a0))
% 0.37/0.71  (step t111 (cl (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t91 a13 t102 t110))
% 0.37/0.71  (step t112 (cl (not (= (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))))) (not (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule equiv_pos2)
% 0.37/0.71  (step t113 (cl (= (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))))) :rule refl)
% 0.37/0.71  (step t114 (cl (= (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))))) :rule refl)
% 0.37/0.71  (step t115 (cl (= (= tptp.x2 tptp.nil) (= tptp.nil tptp.x2))) :rule all_simplify)
% 0.37/0.71  (step t116 (cl (= (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule refl)
% 0.37/0.71  (step t117 (cl (= (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule cong :premises (t114 t115 t116))
% 0.37/0.71  (step t118 (cl (= (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))))) :rule cong :premises (t113 t117))
% 0.37/0.71  (step t119 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t120)
% 0.37/0.71  (assume t120.a0 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))))
% 0.37/0.71  (step t120.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule forall_inst :args ((:= X tptp.x2) (:= Y tptp.nil) (:= Z tptp.nil) (:= Sigma (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))
% 0.37/0.71  (step t120.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule or :premises (t120.t1))
% 0.37/0.71  (step t120.t3 (cl (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t120.t2 t120.a0))
% 0.37/0.71  (step t120 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule subproof :discharge (t120.a0))
% 0.37/0.71  (step t121 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t119 t120))
% 0.37/0.71  (step t122 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (not (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule implies_neg2)
% 0.37/0.71  (step t123 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule resolution :premises (t121 t122))
% 0.37/0.71  (step t124 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.x2 tptp.nil) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule contraction :premises (t123))
% 0.37/0.71  (step t125 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))))) :rule resolution :premises (t112 t118 t124))
% 0.37/0.71  (step t126 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.next X Y) (tptp.sep (tptp.lseg Y Z) Sigma)))) (= X Y) (tptp.heap (tptp.sep (tptp.lseg X Z) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule implies :premises (t125))
% 0.37/0.71  (step t127 (cl (or (not (tptp.heap (tptp.sep (tptp.next tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.nil tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) (= tptp.nil tptp.x2) (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp))))) :rule resolution :premises (t126 a7))
% 0.37/0.71  (step t128 (cl (tptp.heap (tptp.sep (tptp.lseg tptp.x2 tptp.nil) (tptp.sep (tptp.lseg tptp.x1 tptp.x2) tptp.emp)))) :rule resolution :premises (t76 a12 t111 t127))
% 0.37/0.71  (step t129 (cl (not (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))) :rule or_pos)
% 0.37/0.71  (step t130 (cl (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)) (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (not (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))) :rule reordering :premises (t129))
% 0.37/0.71  (step t131 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma))))) :rule implies_neg1)
% 0.37/0.71  (anchor :step t132)
% 0.37/0.71  (assume t132.a0 (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))))
% 0.37/0.71  (step t132.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))) :rule forall_inst :args ((:= X tptp.x1) (:= Y tptp.x2) (:= Sigma tptp.emp)))
% 0.37/0.71  (step t132.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule or :premises (t132.t1))
% 0.37/0.71  (step t132.t3 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule resolution :premises (t132.t2 t132.a0))
% 0.37/0.71  (step t132 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule subproof :discharge (t132.a0))
% 0.37/0.71  (step t133 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule resolution :premises (t131 t132))
% 0.37/0.71  (step t134 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) (not (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))) :rule implies_neg2)
% 0.37/0.71  (step t135 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))) :rule resolution :premises (t133 t134))
% 0.37/0.71  (step t136 (cl (=> (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma)))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp))))) :rule contraction :premises (t135))
% 0.37/0.71  (step t137 (cl (not (forall ((X $$unsorted) (Y $$unsorted) (Sigma $$unsorted)) (or (not (tptp.heap (tptp.sep (tptp.lseg X Y) (tptp.sep (tptp.lseg Y tptp.nil) Sigma)))) (tptp.heap (tptp.sep (tptp.lseg X tptp.nil) Sigma))))) (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule implies :premises (t136))
% 0.37/0.71  (step t138 (cl (or (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp)))) (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.nil) tptp.emp)))) :rule resolution :premises (t137 a8))
% 0.37/0.71  (step t139 (cl (not (tptp.heap (tptp.sep (tptp.lseg tptp.x1 tptp.x2) (tptp.sep (tptp.lseg tptp.x2 tptp.nil) tptp.emp))))) :rule resolution :premises (t130 a14 t138))
% 0.37/0.71  (step t140 (cl) :rule resolution :premises (t61 t74 t128 t139))
% 0.37/0.71  
% 0.37/0.71  % SZS output end Proof for /export/starexec/sandbox2/tmp/tmp.x8RcpNKdXr/cvc5---1.0.5_18735.smt2
% 0.37/0.71  % cvc5---1.0.5 exiting
% 0.37/0.71  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------