NO

Problem 1: 

Infeasibility Problem:
[(VAR vNonEmpty x y rest z1 z2 vNonEmpty x x1 z1 z2 x2 x4 x5)
(STRATEGY CONTEXTSENSITIVE
(cons 1 2)
(orient 1 2)
(0)
(fSNonEmpty)
(pair 1 2)
(s 1)
)
(RULES
cons(x,cons(x,rest)) -> cons(x,rest)
cons(x,cons(y,rest)) -> cons(z1,cons(z2,rest)) | orient(x,y) ->* pair(z1,z2)
orient(s(x),0) -> pair(0,s(x))
orient(s(x),s(y)) -> pair(s(z1),s(z2)) | orient(x,y) ->* pair(z1,z2)
)
]

Infeasibility Conditions:
orient(x,x1) ->* pair(z1,z2), orient(x1,x2) ->* pair(x4,x5)

Problem 1: 

Obtaining a proof using Prover9:

 -> Prover9 Output:
============================== Prover9 ===============================
Prover9 (64) version 2009-11A, November 2009.
Process 3214626 was started by sandbox on z033.star.cs.uiowa.edu,
Tue Jul 30 08:54:55 2024
The command was "./prover9 -f /tmp/prover93214619-0.in".
============================== end of head ===========================

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

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

assign(max_seconds,20).

formulas(assumptions).
->_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(orient(x1,x2),orient(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(orient(x1,x2),orient(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(pair(x1,x2),pair(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(pair(x1,x2),pair(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence).
->_s0(cons(x1,cons(x1,x3)),cons(x1,x3)) # label(replacement).
->*_s0(orient(x1,x2),pair(x4,x5)) -> ->_s0(cons(x1,cons(x2,x3)),cons(x4,cons(x5,x3))) # label(replacement).
->_s0(orient(s(x1),0),pair(0,s(x1))) # label(replacement).
->*_s0(orient(x1,x2),pair(x4,x5)) -> ->_s0(orient(s(x1),s(x2)),pair(s(x4),s(x5))) # label(replacement).
->*_s0(x,x) # label(reflexivity).
->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity).
end_of_list.

formulas(goals).
(exists x7 exists x8 exists x9 exists x10 exists x11 exists x12 exists x13 (->*_s0(orient(x7,x8),pair(x9,x10)) & ->*_s0(orient(x8,x11),pair(x12,x13)))) # label(goal).
end_of_list.

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

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

% Formulas that are not ordinary clauses:
1 ->_s0(x1,y) -> ->_s0(cons(x1,x2),cons(y,x2)) # label(congruence) # label(non_clause).  [assumption].
2 ->_s0(x2,y) -> ->_s0(cons(x1,x2),cons(x1,y)) # label(congruence) # label(non_clause).  [assumption].
3 ->_s0(x1,y) -> ->_s0(orient(x1,x2),orient(y,x2)) # label(congruence) # label(non_clause).  [assumption].
4 ->_s0(x2,y) -> ->_s0(orient(x1,x2),orient(x1,y)) # label(congruence) # label(non_clause).  [assumption].
5 ->_s0(x1,y) -> ->_s0(pair(x1,x2),pair(y,x2)) # label(congruence) # label(non_clause).  [assumption].
6 ->_s0(x2,y) -> ->_s0(pair(x1,x2),pair(x1,y)) # label(congruence) # label(non_clause).  [assumption].
7 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause).  [assumption].
8 ->*_s0(orient(x1,x2),pair(x4,x5)) -> ->_s0(cons(x1,cons(x2,x3)),cons(x4,cons(x5,x3))) # label(replacement) # label(non_clause).  [assumption].
9 ->*_s0(orient(x1,x2),pair(x4,x5)) -> ->_s0(orient(s(x1),s(x2)),pair(s(x4),s(x5))) # label(replacement) # label(non_clause).  [assumption].
10 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
11 (exists x7 exists x8 exists x9 exists x10 exists x11 exists x12 exists x13 (->*_s0(orient(x7,x8),pair(x9,x10)) & ->*_s0(orient(x8,x11),pair(x12,x13)))) # 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(cons(x,z),cons(y,z)) # label(congruence).  [clausify(1)].
-->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(2)].
-->_s0(x,y) | ->_s0(orient(x,z),orient(y,z)) # label(congruence).  [clausify(3)].
-->_s0(x,y) | ->_s0(orient(z,x),orient(z,y)) # label(congruence).  [clausify(4)].
-->_s0(x,y) | ->_s0(pair(x,z),pair(y,z)) # label(congruence).  [clausify(5)].
-->_s0(x,y) | ->_s0(pair(z,x),pair(z,y)) # label(congruence).  [clausify(6)].
-->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(7)].
->_s0(cons(x,cons(x,y)),cons(x,y)) # label(replacement).  [assumption].
-->*_s0(orient(x,y),pair(z,u)) | ->_s0(cons(x,cons(y,w)),cons(z,cons(u,w))) # label(replacement).  [clausify(8)].
->_s0(orient(s(x),0),pair(0,s(x))) # label(replacement).  [assumption].
-->*_s0(orient(x,y),pair(z,u)) | ->_s0(orient(s(x),s(y)),pair(s(z),s(u))) # label(replacement).  [clausify(9)].
->*_s0(x,x) # label(reflexivity).  [assumption].
-->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(10)].
-->*_s0(orient(x,y),pair(z,u)) | -->*_s0(orient(y,w),pair(v5,v6)) # label(goal).  [deny(11)].
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, cons, orient, pair, s ]).
After inverse_order:  (no changes).
Unfolding symbols: (none).

Auto_inference settings:
  % set(neg_binary_resolution).  % (HNE depth_diff=-9)
  % clear(ordered_res).  % (HNE depth_diff=-9)
  % set(ur_resolution).  % (HNE depth_diff=-9)
    % 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:      12 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(1)].
kept:      13 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(2)].
kept:      14 -->_s0(x,y) | ->_s0(orient(x,z),orient(y,z)) # label(congruence).  [clausify(3)].
kept:      15 -->_s0(x,y) | ->_s0(orient(z,x),orient(z,y)) # label(congruence).  [clausify(4)].
kept:      16 -->_s0(x,y) | ->_s0(pair(x,z),pair(y,z)) # label(congruence).  [clausify(5)].
kept:      17 -->_s0(x,y) | ->_s0(pair(z,x),pair(z,y)) # label(congruence).  [clausify(6)].
kept:      18 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(7)].
kept:      19 ->_s0(cons(x,cons(x,y)),cons(x,y)) # label(replacement).  [assumption].
kept:      20 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(cons(x,cons(y,w)),cons(z,cons(u,w))) # label(replacement).  [clausify(8)].
kept:      21 ->_s0(orient(s(x),0),pair(0,s(x))) # label(replacement).  [assumption].
kept:      22 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(orient(s(x),s(y)),pair(s(z),s(u))) # label(replacement).  [clausify(9)].
kept:      23 ->*_s0(x,x) # label(reflexivity).  [assumption].
kept:      24 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(10)].
kept:      25 -->*_s0(orient(x,y),pair(z,u)) | -->*_s0(orient(y,w),pair(v5,v6)) # label(goal) # answer(goal).  [deny(11)].

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

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

% Clauses after input processing:

formulas(usable).
end_of_list.

formulas(sos).
12 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(1)].
13 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(2)].
14 -->_s0(x,y) | ->_s0(orient(x,z),orient(y,z)) # label(congruence).  [clausify(3)].
15 -->_s0(x,y) | ->_s0(orient(z,x),orient(z,y)) # label(congruence).  [clausify(4)].
16 -->_s0(x,y) | ->_s0(pair(x,z),pair(y,z)) # label(congruence).  [clausify(5)].
17 -->_s0(x,y) | ->_s0(pair(z,x),pair(z,y)) # label(congruence).  [clausify(6)].
18 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(7)].
19 ->_s0(cons(x,cons(x,y)),cons(x,y)) # label(replacement).  [assumption].
20 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(cons(x,cons(y,w)),cons(z,cons(u,w))) # label(replacement).  [clausify(8)].
21 ->_s0(orient(s(x),0),pair(0,s(x))) # label(replacement).  [assumption].
22 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(orient(s(x),s(y)),pair(s(z),s(u))) # label(replacement).  [clausify(9)].
23 ->*_s0(x,x) # label(reflexivity).  [assumption].
24 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(10)].
25 -->*_s0(orient(x,y),pair(z,u)) | -->*_s0(orient(y,w),pair(v5,v6)) # label(goal) # answer(goal).  [deny(11)].
end_of_list.

formulas(demodulators).
end_of_list.

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

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

% Starting search at 0.01 seconds.

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

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

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

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

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

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

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

given #8 (I,wt=9): 19 ->_s0(cons(x,cons(x,y)),cons(x,y)) # label(replacement).  [assumption].

given #9 (I,wt=18): 20 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(cons(x,cons(y,w)),cons(z,cons(u,w))) # label(replacement).  [clausify(8)].

given #10 (I,wt=9): 21 ->_s0(orient(s(x),0),pair(0,s(x))) # label(replacement).  [assumption].

given #11 (I,wt=18): 22 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(orient(s(x),s(y)),pair(s(z),s(u))) # label(replacement).  [clausify(9)].

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

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

given #14 (I,wt=14): 25 -->*_s0(orient(x,y),pair(z,u)) | -->*_s0(orient(y,w),pair(v5,v6)) # label(goal) # answer(goal).  [deny(11)].

given #15 (A,wt=11): 26 ->_s0(s(cons(x,cons(x,y))),s(cons(x,y))).  [ur(18,a,19,a)].

given #16 (F,wt=17): 42 -->*_s0(orient(x,y),pair(z,u)) | -->_s0(orient(w,x),v5) | -->*_s0(v5,pair(v6,v7)) # answer(goal).  [resolve(25,a,24,c)].

given #17 (F,wt=7): 58 -->*_s0(orient(0,x),pair(y,z)) # answer(goal).  [ur(42,b,21,a,c,23,a)].

given #18 (F,wt=7): 60 -->_s0(orient(0,x),pair(y,z)) # answer(goal).  [ur(24,b,23,a,c,58,a)].

given #19 (F,wt=10): 59 -->_s0(orient(0,x),y) | -->*_s0(y,pair(z,u)) # answer(goal).  [resolve(58,a,24,c)].

given #20 (T,wt=9): 40 ->*_s0(orient(s(x),0),pair(0,s(x))).  [ur(24,a,21,a,b,23,a)].

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

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

9 ->*_s0(orient(x1,x2),pair(x4,x5)) -> ->_s0(orient(s(x1),s(x2)),pair(s(x4),s(x5))) # label(replacement) # label(non_clause).  [assumption].
10 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
11 (exists x7 exists x8 exists x9 exists x10 exists x11 exists x12 exists x13 (->*_s0(orient(x7,x8),pair(x9,x10)) & ->*_s0(orient(x8,x11),pair(x12,x13)))) # label(goal) # label(non_clause) # label(goal).  [goal].
21 ->_s0(orient(s(x),0),pair(0,s(x))) # label(replacement).  [assumption].
22 -->*_s0(orient(x,y),pair(z,u)) | ->_s0(orient(s(x),s(y)),pair(s(z),s(u))) # label(replacement).  [clausify(9)].
23 ->*_s0(x,x) # label(reflexivity).  [assumption].
24 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(10)].
25 -->*_s0(orient(x,y),pair(z,u)) | -->*_s0(orient(y,w),pair(v5,v6)) # label(goal) # answer(goal).  [deny(11)].
40 ->*_s0(orient(s(x),0),pair(0,s(x))).  [ur(24,a,21,a,b,23,a)].
42 -->*_s0(orient(x,y),pair(z,u)) | -->_s0(orient(w,x),v5) | -->*_s0(v5,pair(v6,v7)) # answer(goal).  [resolve(25,a,24,c)].
67 ->_s0(orient(s(s(x)),s(0)),pair(s(0),s(s(x)))).  [ur(22,a,40,a)].
70 -->_s0(orient(x,s(y)),pair(z,u)) # answer(goal).  [ur(42,a,40,a,c,23,a)].
71 $F # answer(goal).  [resolve(70,a,67,a)].

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

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

Given=20. Generated=66. Kept=59. proofs=1.
Usable=20. Sos=30. Demods=0. Limbo=7, Disabled=15. Hints=0.
Kept_by_rule=0, Deleted_by_rule=0.
Forward_subsumed=7. Back_subsumed=1.
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=23. Nonunit_bsub_feature_tests=47.
Megabytes=0.19.
User_CPU=0.01, System_CPU=0.00, Wall_clock=0.

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

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

THEOREM PROVED

Exiting with 1 proof.

Process 3214626 exit (max_proofs) Tue Jul 30 08:54:55 2024


The problem is feasible.