NO

Problem 1: 

Infeasibility Problem:
[(VAR vNonEmpty xs y' ws v ys' w x' xs' zs z y ys vNonEmpty x4 x6 x1 x2 x3 x7)
(STRATEGY CONTEXTSENSITIVE
(get 1)
(ssp' 1 2)
(sub 1 2)
(0)
(cons 1 2)
(fSNonEmpty)
(nil)
(s 1)
(tp2 1 2)
)
(RULES
get(cons(x',xs')) -> tp2(y,cons(x',zs)) | get(xs') ->* tp2(y,zs)
get(cons(y,ys)) -> tp2(y,ys)
ssp'(cons(y',ws),v) -> cons(y',ys') | sub(v,y') ->* w, ssp'(ws,w) ->* ys'
ssp'(cons(x',xs'),v) -> cons(y',ys') | get(xs') ->* tp2(y',zs), sub(v,y') ->* w, ssp'(cons(x',zs),w) ->* ys'
ssp'(xs,0) -> nil
sub(s(v),s(w)) -> z | sub(v,w) ->* z
sub(z,0) -> z
)
]

Infeasibility Conditions:
get(x4) ->* tp2(x6,x1), sub(0,x6) ->* x2, ssp'(cons(x3,x1),x2) ->* x7

Problem 1: 

Obtaining a proof using Prover9:

 -> Prover9 Output:
============================== Prover9 ===============================
Prover9 (64) version 2009-11A, November 2009.
Process 3284377 was started by sandbox2 on z006.star.cs.uiowa.edu,
Tue Jul 30 09:09:55 2024
The command was "./prover9 -f /tmp/prover93284368-0.in".
============================== end of head ===========================

============================== INPUT =================================

% Reading from file /tmp/prover93284368-0.in

assign(max_seconds,20).

formulas(assumptions).
->_s0(x1,y) -> ->_s0(get(x1),get(y)) # label(congruence).
->_s0(x1,y) -> ->_s0(ssp'(x1,x2),ssp'(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(ssp'(x1,x2),ssp'(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(sub(x1,x2),sub(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(sub(x1,x2),sub(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(cons(x1,x2),cons(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(cons(x1,x2),cons(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence).
->_s0(x1,y) -> ->_s0(tp2(x1,x2),tp2(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(tp2(x1,x2),tp2(x1,y)) # label(congruence).
->*_s0(get(x8),tp2(x11,x9)) -> ->_s0(get(cons(x7,x8)),tp2(x11,cons(x7,x9))) # label(replacement).
->_s0(get(cons(x11,x12)),tp2(x11,x12)) # label(replacement).
->*_s0(sub(x4,x2),x6) & ->*_s0(ssp'(x3,x6),x5) -> ->_s0(ssp'(cons(x2,x3),x4),cons(x2,x5)) # label(replacement).
->*_s0(get(x8),tp2(x2,x9)) & ->*_s0(sub(x4,x2),x6) & ->*_s0(ssp'(cons(x7,x9),x6),x5) -> ->_s0(ssp'(cons(x7,x8),x4),cons(x2,x5)) # label(replacement).
->_s0(ssp'(x1,0),nil) # label(replacement).
->*_s0(sub(x4,x6),x10) -> ->_s0(sub(s(x4),s(x6)),x10) # label(replacement).
->_s0(sub(x10,0),x10) # label(replacement).
->*_s0(x,x) # label(reflexivity).
->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity).
end_of_list.

formulas(goals).
(exists x14 exists x15 exists x16 exists x17 exists x18 exists x19 (->*_s0(get(x14),tp2(x15,x16)) & ->*_s0(sub(0,x15),x17) & ->*_s0(ssp'(cons(x18,x16),x17),x19))) # label(goal).
end_of_list.

============================== end of input ==========================

============================== PROCESS NON-CLAUSAL FORMULAS ==========

% Formulas that are not ordinary clauses:
1 ->_s0(x1,y) -> ->_s0(get(x1),get(y)) # label(congruence) # label(non_clause).  [assumption].
2 ->_s0(x1,y) -> ->_s0(ssp'(x1,x2),ssp'(y,x2)) # label(congruence) # label(non_clause).  [assumption].
3 ->_s0(x2,y) -> ->_s0(ssp'(x1,x2),ssp'(x1,y)) # label(congruence) # label(non_clause).  [assumption].
4 ->_s0(x1,y) -> ->_s0(sub(x1,x2),sub(y,x2)) # label(congruence) # label(non_clause).  [assumption].
5 ->_s0(x2,y) -> ->_s0(sub(x1,x2),sub(x1,y)) # label(congruence) # label(non_clause).  [assumption].
6 ->_s0(x1,y) -> ->_s0(cons(x1,x2),cons(y,x2)) # label(congruence) # label(non_clause).  [assumption].
7 ->_s0(x2,y) -> ->_s0(cons(x1,x2),cons(x1,y)) # label(congruence) # label(non_clause).  [assumption].
8 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause).  [assumption].
9 ->_s0(x1,y) -> ->_s0(tp2(x1,x2),tp2(y,x2)) # label(congruence) # label(non_clause).  [assumption].
10 ->_s0(x2,y) -> ->_s0(tp2(x1,x2),tp2(x1,y)) # label(congruence) # label(non_clause).  [assumption].
11 ->*_s0(get(x8),tp2(x11,x9)) -> ->_s0(get(cons(x7,x8)),tp2(x11,cons(x7,x9))) # label(replacement) # label(non_clause).  [assumption].
12 ->*_s0(sub(x4,x2),x6) & ->*_s0(ssp'(x3,x6),x5) -> ->_s0(ssp'(cons(x2,x3),x4),cons(x2,x5)) # label(replacement) # label(non_clause).  [assumption].
13 ->*_s0(get(x8),tp2(x2,x9)) & ->*_s0(sub(x4,x2),x6) & ->*_s0(ssp'(cons(x7,x9),x6),x5) -> ->_s0(ssp'(cons(x7,x8),x4),cons(x2,x5)) # label(replacement) # label(non_clause).  [assumption].
14 ->*_s0(sub(x4,x6),x10) -> ->_s0(sub(s(x4),s(x6)),x10) # label(replacement) # label(non_clause).  [assumption].
15 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
16 (exists x14 exists x15 exists x16 exists x17 exists x18 exists x19 (->*_s0(get(x14),tp2(x15,x16)) & ->*_s0(sub(0,x15),x17) & ->*_s0(ssp'(cons(x18,x16),x17),x19))) # label(goal) # label(non_clause) # label(goal).  [goal].

============================== end of process non-clausal formulas ===

============================== PROCESS INITIAL CLAUSES ===============

% Clauses before input processing:

formulas(usable).
end_of_list.

formulas(sos).
-->_s0(x,y) | ->_s0(get(x),get(y)) # label(congruence).  [clausify(1)].
-->_s0(x,y) | ->_s0(ssp'(x,z),ssp'(y,z)) # label(congruence).  [clausify(2)].
-->_s0(x,y) | ->_s0(ssp'(z,x),ssp'(z,y)) # label(congruence).  [clausify(3)].
-->_s0(x,y) | ->_s0(sub(x,z),sub(y,z)) # label(congruence).  [clausify(4)].
-->_s0(x,y) | ->_s0(sub(z,x),sub(z,y)) # label(congruence).  [clausify(5)].
-->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(6)].
-->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(7)].
-->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(8)].
-->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence).  [clausify(9)].
-->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence).  [clausify(10)].
-->*_s0(get(x),tp2(y,z)) | ->_s0(get(cons(u,x)),tp2(y,cons(u,z))) # label(replacement).  [clausify(11)].
->_s0(get(cons(x,y)),tp2(x,y)) # label(replacement).  [assumption].
-->*_s0(sub(x,y),z) | -->*_s0(ssp'(u,z),w) | ->_s0(ssp'(cons(y,u),x),cons(y,w)) # label(replacement).  [clausify(12)].
-->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(u,y),w) | -->*_s0(ssp'(cons(v5,z),w),v6) | ->_s0(ssp'(cons(v5,x),u),cons(y,v6)) # label(replacement).  [clausify(13)].
->_s0(ssp'(x,0),nil) # label(replacement).  [assumption].
-->*_s0(sub(x,y),z) | ->_s0(sub(s(x),s(y)),z) # label(replacement).  [clausify(14)].
->_s0(sub(x,0),x) # label(replacement).  [assumption].
->*_s0(x,x) # label(reflexivity).  [assumption].
-->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(15)].
-->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(0,y),u) | -->*_s0(ssp'(cons(w,z),u),v5) # label(goal).  [deny(16)].
end_of_list.

formulas(demodulators).
end_of_list.

============================== PREDICATE ELIMINATION =================

No predicates eliminated.

============================== end predicate elimination =============

Auto_denials:
  % copying label goal to answer in negative clause

Term ordering decisions:
Predicate symbol precedence:  predicate_order([ ->_s0, ->*_s0 ]).
Function symbol precedence:  function_order([ 0, nil, cons, ssp', sub, tp2, get, s ]).
After inverse_order:  (no changes).
Unfolding symbols: (none).

Auto_inference settings:
  % set(neg_binary_resolution).  % (HNE depth_diff=-13)
  % clear(ordered_res).  % (HNE depth_diff=-13)
  % set(ur_resolution).  % (HNE depth_diff=-13)
    % set(ur_resolution) -> set(pos_ur_resolution).
    % set(ur_resolution) -> set(neg_ur_resolution).

Auto_process settings:
  % set(unit_deletion).  % (Horn set with negative nonunits)

kept:      17 -->_s0(x,y) | ->_s0(get(x),get(y)) # label(congruence).  [clausify(1)].
kept:      18 -->_s0(x,y) | ->_s0(ssp'(x,z),ssp'(y,z)) # label(congruence).  [clausify(2)].
kept:      19 -->_s0(x,y) | ->_s0(ssp'(z,x),ssp'(z,y)) # label(congruence).  [clausify(3)].
kept:      20 -->_s0(x,y) | ->_s0(sub(x,z),sub(y,z)) # label(congruence).  [clausify(4)].
kept:      21 -->_s0(x,y) | ->_s0(sub(z,x),sub(z,y)) # label(congruence).  [clausify(5)].
kept:      22 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(6)].
kept:      23 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(7)].
kept:      24 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(8)].
kept:      25 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence).  [clausify(9)].
kept:      26 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence).  [clausify(10)].
kept:      27 -->*_s0(get(x),tp2(y,z)) | ->_s0(get(cons(u,x)),tp2(y,cons(u,z))) # label(replacement).  [clausify(11)].
kept:      28 ->_s0(get(cons(x,y)),tp2(x,y)) # label(replacement).  [assumption].
kept:      29 -->*_s0(sub(x,y),z) | -->*_s0(ssp'(u,z),w) | ->_s0(ssp'(cons(y,u),x),cons(y,w)) # label(replacement).  [clausify(12)].
kept:      30 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(u,y),w) | -->*_s0(ssp'(cons(v5,z),w),v6) | ->_s0(ssp'(cons(v5,x),u),cons(y,v6)) # label(replacement).  [clausify(13)].
kept:      31 ->_s0(ssp'(x,0),nil) # label(replacement).  [assumption].
kept:      32 -->*_s0(sub(x,y),z) | ->_s0(sub(s(x),s(y)),z) # label(replacement).  [clausify(14)].
kept:      33 ->_s0(sub(x,0),x) # label(replacement).  [assumption].
kept:      34 ->*_s0(x,x) # label(reflexivity).  [assumption].
kept:      35 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(15)].
kept:      36 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(0,y),u) | -->*_s0(ssp'(cons(w,z),u),v5) # label(goal) # answer(goal).  [deny(16)].

============================== end of process initial clauses ========

============================== CLAUSES FOR SEARCH ====================

% Clauses after input processing:

formulas(usable).
end_of_list.

formulas(sos).
17 -->_s0(x,y) | ->_s0(get(x),get(y)) # label(congruence).  [clausify(1)].
18 -->_s0(x,y) | ->_s0(ssp'(x,z),ssp'(y,z)) # label(congruence).  [clausify(2)].
19 -->_s0(x,y) | ->_s0(ssp'(z,x),ssp'(z,y)) # label(congruence).  [clausify(3)].
20 -->_s0(x,y) | ->_s0(sub(x,z),sub(y,z)) # label(congruence).  [clausify(4)].
21 -->_s0(x,y) | ->_s0(sub(z,x),sub(z,y)) # label(congruence).  [clausify(5)].
22 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(6)].
23 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(7)].
24 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(8)].
25 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence).  [clausify(9)].
26 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence).  [clausify(10)].
27 -->*_s0(get(x),tp2(y,z)) | ->_s0(get(cons(u,x)),tp2(y,cons(u,z))) # label(replacement).  [clausify(11)].
28 ->_s0(get(cons(x,y)),tp2(x,y)) # label(replacement).  [assumption].
29 -->*_s0(sub(x,y),z) | -->*_s0(ssp'(u,z),w) | ->_s0(ssp'(cons(y,u),x),cons(y,w)) # label(replacement).  [clausify(12)].
30 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(u,y),w) | -->*_s0(ssp'(cons(v5,z),w),v6) | ->_s0(ssp'(cons(v5,x),u),cons(y,v6)) # label(replacement).  [clausify(13)].
31 ->_s0(ssp'(x,0),nil) # label(replacement).  [assumption].
32 -->*_s0(sub(x,y),z) | ->_s0(sub(s(x),s(y)),z) # label(replacement).  [clausify(14)].
33 ->_s0(sub(x,0),x) # label(replacement).  [assumption].
34 ->*_s0(x,x) # label(reflexivity).  [assumption].
35 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(15)].
36 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(0,y),u) | -->*_s0(ssp'(cons(w,z),u),v5) # label(goal) # answer(goal).  [deny(16)].
end_of_list.

formulas(demodulators).
end_of_list.

============================== end of clauses for search =============

============================== SEARCH ================================

% Starting search at 0.01 seconds.

given #1 (I,wt=8): 17 -->_s0(x,y) | ->_s0(get(x),get(y)) # label(congruence).  [clausify(1)].

given #2 (I,wt=10): 18 -->_s0(x,y) | ->_s0(ssp'(x,z),ssp'(y,z)) # label(congruence).  [clausify(2)].

given #3 (I,wt=10): 19 -->_s0(x,y) | ->_s0(ssp'(z,x),ssp'(z,y)) # label(congruence).  [clausify(3)].

given #4 (I,wt=10): 20 -->_s0(x,y) | ->_s0(sub(x,z),sub(y,z)) # label(congruence).  [clausify(4)].

given #5 (I,wt=10): 21 -->_s0(x,y) | ->_s0(sub(z,x),sub(z,y)) # label(congruence).  [clausify(5)].

given #6 (I,wt=10): 22 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(6)].

given #7 (I,wt=10): 23 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(7)].

given #8 (I,wt=8): 24 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(8)].

given #9 (I,wt=10): 25 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence).  [clausify(9)].

given #10 (I,wt=10): 26 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence).  [clausify(10)].

given #11 (I,wt=16): 27 -->*_s0(get(x),tp2(y,z)) | ->_s0(get(cons(u,x)),tp2(y,cons(u,z))) # label(replacement).  [clausify(11)].

given #12 (I,wt=8): 28 ->_s0(get(cons(x,y)),tp2(x,y)) # label(replacement).  [assumption].

given #13 (I,wt=19): 29 -->*_s0(sub(x,y),z) | -->*_s0(ssp'(u,z),w) | ->_s0(ssp'(cons(y,u),x),cons(y,w)) # label(replacement).  [clausify(12)].

given #14 (I,wt=27): 30 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(u,y),w) | -->*_s0(ssp'(cons(v5,z),w),v6) | ->_s0(ssp'(cons(v5,x),u),cons(y,v6)) # label(replacement).  [clausify(13)].

given #15 (I,wt=5): 31 ->_s0(ssp'(x,0),nil) # label(replacement).  [assumption].

given #16 (I,wt=12): 32 -->*_s0(sub(x,y),z) | ->_s0(sub(s(x),s(y)),z) # label(replacement).  [clausify(14)].

given #17 (I,wt=5): 33 ->_s0(sub(x,0),x) # label(replacement).  [assumption].

given #18 (I,wt=3): 34 ->*_s0(x,x) # label(reflexivity).  [assumption].

given #19 (I,wt=9): 35 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(15)].

given #20 (I,wt=18): 36 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(0,y),u) | -->*_s0(ssp'(cons(w,z),u),v5) # label(goal) # answer(goal).  [deny(16)].

============================== PROOF =================================

% Proof 1 at 0.01 (+ 0.00) seconds: goal.
% Length of proof is 9.
% Level of proof is 3.
% Maximum clause weight is 18.000.
% Given clauses 20.

15 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
16 (exists x14 exists x15 exists x16 exists x17 exists x18 exists x19 (->*_s0(get(x14),tp2(x15,x16)) & ->*_s0(sub(0,x15),x17) & ->*_s0(ssp'(cons(x18,x16),x17),x19))) # label(goal) # label(non_clause) # label(goal).  [goal].
28 ->_s0(get(cons(x,y)),tp2(x,y)) # label(replacement).  [assumption].
34 ->*_s0(x,x) # label(reflexivity).  [assumption].
35 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(15)].
36 -->*_s0(get(x),tp2(y,z)) | -->*_s0(sub(0,y),u) | -->*_s0(ssp'(cons(w,z),u),v5) # label(goal) # answer(goal).  [deny(16)].
71 ->*_s0(get(cons(x,y)),tp2(x,y)).  [ur(35,a,28,a,b,34,a)].
77 -->*_s0(get(x),tp2(y,z)) # answer(goal).  [ur(36,b,34,a,c,34,a)].
78 $F # answer(goal).  [resolve(77,a,71,a)].

============================== end of proof ==========================

============================== STATISTICS ============================

Given=20. Generated=62. Kept=61. proofs=1.
Usable=20. Sos=35. Demods=0. Limbo=5, Disabled=20. Hints=0.
Kept_by_rule=0, Deleted_by_rule=0.
Forward_subsumed=1. Back_subsumed=0.
Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0.
New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0.
Demod_attempts=0. Demod_rewrites=0.
Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0.
Nonunit_fsub_feature_tests=11. Nonunit_bsub_feature_tests=27.
Megabytes=0.20.
User_CPU=0.01, System_CPU=0.00, Wall_clock=0.

============================== end of statistics =====================

============================== end of search =========================

THEOREM PROVED

Exiting with 1 proof.

Process 3284377 exit (max_proofs) Tue Jul 30 09:09:55 2024


The problem is feasible.