NO

Problem 1: 

Infeasibility Problem:
[(VAR vNonEmpty x n h t m pid st1 in2 st2 in3 st3 vNonEmpty x2 x4)
(STRATEGY CONTEXTSENSITIVE
(app 1 2)
(empty 1)
(fstsplit 1 2)
(head 1)
(length 1)
(leq 1 2)
(mapf 1 2)
(ring 1 2 3 4 5 6)
(sndsplit 1 2)
(tail 1)
(0)
(cons 1 2)
(f 1 2)
(fSNonEmpty)
(false)
(nil)
(s 1)
(three)
(true)
(two)
)
(RULES
app(cons(h,t),x) -> cons(h,app(t,x))
app(nil,x) -> x
empty(cons(h,t)) -> false
empty(nil) -> true
fstsplit(0,x) -> nil
fstsplit(s(n),cons(h,t)) -> cons(h,fstsplit(n,t))
fstsplit(s(n),nil) -> nil
head(cons(h,t)) -> h
length(cons(h,t)) -> s(length(t))
length(nil) -> 0
leq(0,m) -> true
leq(s(n),0) -> false
leq(s(n),s(m)) -> leq(n,m)
mapf(pid,cons(h,t)) -> app(f(pid,h),mapf(pid,t))
mapf(pid,nil) -> nil
ring(st1,in2,st2,in3,st3,m) -> ring(sndsplit(m,st1),cons(fstsplit(m,st1),in2),st2,in3,st3,m) | empty(fstsplit(m,st1)) ->* false
ring(st1,in2,st2,in3,st3,m) -> ring(st1,tail(in2),sndsplit(m,app(mapf(two,head(in2)),st2)),cons(fstsplit(m,app(mapf(two,head(in2)),st2)),in3),st3,m) | leq(m,length(st2)) ->* false, empty(fstsplit(m,app(mapf(two,head(in2)),st2))) ->* false
ring(st1,in2,st2,in3,st3,m) -> ring(st1,tail(in2),st2,in3,st3,m) | empty(mapf(two,head(in2))) ->* true
ring(st1,in2,st2,in3,st3,m) -> ring(st1,in2,sndsplit(m,st2),cons(fstsplit(m,st2),in3),st3,m) | leq(m,length(st2)) ->* true, empty(fstsplit(m,st2)) ->* false
ring(st1,in2,st2,in3,st3,m) -> ring(st1,in2,st2,tail(in3),sndsplit(m,app(mapf(three,head(in3)),st3)),m) | leq(m,length(st3)) ->* false, empty(fstsplit(m,app(mapf(three,head(in3)),st3))) ->* false
ring(st1,in2,st2,in3,st3,m) -> ring(st1,in2,st2,tail(in3),st3,m) | empty(mapf(three,head(in3))) ->* true
ring(st1,in2,st2,in3,st3,m) -> ring(st1,in2,st2,in3,sndsplit(m,st3),m) | leq(m,length(st3)) ->* true, empty(fstsplit(m,st3)) ->* false
sndsplit(0,x) -> x
sndsplit(s(n),cons(h,t)) -> sndsplit(n,t)
sndsplit(s(n),nil) -> nil
tail(cons(h,t)) -> t
)
]

Infeasibility Conditions:
empty(mapf(two,head(x2))) ->* true, empty(mapf(three,head(x4))) ->* true

Problem 1: 

Obtaining a proof using Prover9:

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

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

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

assign(max_seconds,20).

formulas(assumptions).
->_s0(x1,y) -> ->_s0(app(x1,x2),app(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(app(x1,x2),app(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(empty(x1),empty(y)) # label(congruence).
->_s0(x1,y) -> ->_s0(fstsplit(x1,x2),fstsplit(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(fstsplit(x1,x2),fstsplit(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(head(x1),head(y)) # label(congruence).
->_s0(x1,y) -> ->_s0(length(x1),length(y)) # label(congruence).
->_s0(x1,y) -> ->_s0(leq(x1,x2),leq(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(leq(x1,x2),leq(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(mapf(x1,x2),mapf(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(mapf(x1,x2),mapf(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(y,x2,x3,x4,x5,x6)) # label(congruence).
->_s0(x2,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,y,x3,x4,x5,x6)) # label(congruence).
->_s0(x3,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,y,x4,x5,x6)) # label(congruence).
->_s0(x4,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,y,x5,x6)) # label(congruence).
->_s0(x5,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,x4,y,x6)) # label(congruence).
->_s0(x6,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,x4,x5,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(sndsplit(x1,x2),sndsplit(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(sndsplit(x1,x2),sndsplit(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(tail(x1),tail(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(f(x1,x2),f(y,x2)) # label(congruence).
->_s0(x2,y) -> ->_s0(f(x1,x2),f(x1,y)) # label(congruence).
->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence).
->_s0(app(cons(x3,x4),x1),cons(x3,app(x4,x1))) # label(replacement).
->_s0(app(nil,x1),x1) # label(replacement).
->_s0(empty(cons(x3,x4)),false) # label(replacement).
->_s0(empty(nil),true) # label(replacement).
->_s0(fstsplit(0,x1),nil) # label(replacement).
->_s0(fstsplit(s(x2),cons(x3,x4)),cons(x3,fstsplit(x2,x4))) # label(replacement).
->_s0(fstsplit(s(x2),nil),nil) # label(replacement).
->_s0(head(cons(x3,x4)),x3) # label(replacement).
->_s0(length(cons(x3,x4)),s(length(x4))) # label(replacement).
->_s0(length(nil),0) # label(replacement).
->_s0(leq(0,x5),true) # label(replacement).
->_s0(leq(s(x2),0),false) # label(replacement).
->_s0(leq(s(x2),s(x5)),leq(x2,x5)) # label(replacement).
->_s0(mapf(x6,cons(x3,x4)),app(f(x6,x3),mapf(x6,x4))) # label(replacement).
->_s0(mapf(x6,nil),nil) # label(replacement).
->*_s0(empty(fstsplit(x5,x7)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(sndsplit(x5,x7),cons(fstsplit(x5,x7),x8),x9,x10,x11,x5)) # label(replacement).
->*_s0(leq(x5,length(x9)),false) & ->*_s0(empty(fstsplit(x5,app(mapf(two,head(x8)),x9))),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,tail(x8),sndsplit(x5,app(mapf(two,head(x8)),x9)),cons(fstsplit(x5,app(mapf(two,head(x8)),x9)),x10),x11,x5)) # label(replacement).
->*_s0(empty(mapf(two,head(x8))),true) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,tail(x8),x9,x10,x11,x5)) # label(replacement).
->*_s0(leq(x5,length(x9)),true) & ->*_s0(empty(fstsplit(x5,x9)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,sndsplit(x5,x9),cons(fstsplit(x5,x9),x10),x11,x5)) # label(replacement).
->*_s0(leq(x5,length(x11)),false) & ->*_s0(empty(fstsplit(x5,app(mapf(three,head(x10)),x11))),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,tail(x10),sndsplit(x5,app(mapf(three,head(x10)),x11)),x5)) # label(replacement).
->*_s0(empty(mapf(three,head(x10))),true) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,tail(x10),x11,x5)) # label(replacement).
->*_s0(leq(x5,length(x11)),true) & ->*_s0(empty(fstsplit(x5,x11)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,x10,sndsplit(x5,x11),x5)) # label(replacement).
->_s0(sndsplit(0,x1),x1) # label(replacement).
->_s0(sndsplit(s(x2),cons(x3,x4)),sndsplit(x2,x4)) # label(replacement).
->_s0(sndsplit(s(x2),nil),nil) # label(replacement).
->_s0(tail(cons(x3,x4)),x4) # label(replacement).
->*_s0(x,x) # label(reflexivity).
->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity).
end_of_list.

formulas(goals).
(exists x13 exists x14 (->*_s0(empty(mapf(two,head(x13))),true) & ->*_s0(empty(mapf(three,head(x14))),true))) # label(goal).
end_of_list.

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

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

% Formulas that are not ordinary clauses:
1 ->_s0(x1,y) -> ->_s0(app(x1,x2),app(y,x2)) # label(congruence) # label(non_clause).  [assumption].
2 ->_s0(x2,y) -> ->_s0(app(x1,x2),app(x1,y)) # label(congruence) # label(non_clause).  [assumption].
3 ->_s0(x1,y) -> ->_s0(empty(x1),empty(y)) # label(congruence) # label(non_clause).  [assumption].
4 ->_s0(x1,y) -> ->_s0(fstsplit(x1,x2),fstsplit(y,x2)) # label(congruence) # label(non_clause).  [assumption].
5 ->_s0(x2,y) -> ->_s0(fstsplit(x1,x2),fstsplit(x1,y)) # label(congruence) # label(non_clause).  [assumption].
6 ->_s0(x1,y) -> ->_s0(head(x1),head(y)) # label(congruence) # label(non_clause).  [assumption].
7 ->_s0(x1,y) -> ->_s0(length(x1),length(y)) # label(congruence) # label(non_clause).  [assumption].
8 ->_s0(x1,y) -> ->_s0(leq(x1,x2),leq(y,x2)) # label(congruence) # label(non_clause).  [assumption].
9 ->_s0(x2,y) -> ->_s0(leq(x1,x2),leq(x1,y)) # label(congruence) # label(non_clause).  [assumption].
10 ->_s0(x1,y) -> ->_s0(mapf(x1,x2),mapf(y,x2)) # label(congruence) # label(non_clause).  [assumption].
11 ->_s0(x2,y) -> ->_s0(mapf(x1,x2),mapf(x1,y)) # label(congruence) # label(non_clause).  [assumption].
12 ->_s0(x1,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(y,x2,x3,x4,x5,x6)) # label(congruence) # label(non_clause).  [assumption].
13 ->_s0(x2,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,y,x3,x4,x5,x6)) # label(congruence) # label(non_clause).  [assumption].
14 ->_s0(x3,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,y,x4,x5,x6)) # label(congruence) # label(non_clause).  [assumption].
15 ->_s0(x4,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,y,x5,x6)) # label(congruence) # label(non_clause).  [assumption].
16 ->_s0(x5,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,x4,y,x6)) # label(congruence) # label(non_clause).  [assumption].
17 ->_s0(x6,y) -> ->_s0(ring(x1,x2,x3,x4,x5,x6),ring(x1,x2,x3,x4,x5,y)) # label(congruence) # label(non_clause).  [assumption].
18 ->_s0(x1,y) -> ->_s0(sndsplit(x1,x2),sndsplit(y,x2)) # label(congruence) # label(non_clause).  [assumption].
19 ->_s0(x2,y) -> ->_s0(sndsplit(x1,x2),sndsplit(x1,y)) # label(congruence) # label(non_clause).  [assumption].
20 ->_s0(x1,y) -> ->_s0(tail(x1),tail(y)) # label(congruence) # label(non_clause).  [assumption].
21 ->_s0(x1,y) -> ->_s0(cons(x1,x2),cons(y,x2)) # label(congruence) # label(non_clause).  [assumption].
22 ->_s0(x2,y) -> ->_s0(cons(x1,x2),cons(x1,y)) # label(congruence) # label(non_clause).  [assumption].
23 ->_s0(x1,y) -> ->_s0(f(x1,x2),f(y,x2)) # label(congruence) # label(non_clause).  [assumption].
24 ->_s0(x2,y) -> ->_s0(f(x1,x2),f(x1,y)) # label(congruence) # label(non_clause).  [assumption].
25 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause).  [assumption].
26 ->*_s0(empty(fstsplit(x5,x7)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(sndsplit(x5,x7),cons(fstsplit(x5,x7),x8),x9,x10,x11,x5)) # label(replacement) # label(non_clause).  [assumption].
27 ->*_s0(leq(x5,length(x9)),false) & ->*_s0(empty(fstsplit(x5,app(mapf(two,head(x8)),x9))),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,tail(x8),sndsplit(x5,app(mapf(two,head(x8)),x9)),cons(fstsplit(x5,app(mapf(two,head(x8)),x9)),x10),x11,x5)) # label(replacement) # label(non_clause).  [assumption].
28 ->*_s0(empty(mapf(two,head(x8))),true) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,tail(x8),x9,x10,x11,x5)) # label(replacement) # label(non_clause).  [assumption].
29 ->*_s0(leq(x5,length(x9)),true) & ->*_s0(empty(fstsplit(x5,x9)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,sndsplit(x5,x9),cons(fstsplit(x5,x9),x10),x11,x5)) # label(replacement) # label(non_clause).  [assumption].
30 ->*_s0(leq(x5,length(x11)),false) & ->*_s0(empty(fstsplit(x5,app(mapf(three,head(x10)),x11))),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,tail(x10),sndsplit(x5,app(mapf(three,head(x10)),x11)),x5)) # label(replacement) # label(non_clause).  [assumption].
31 ->*_s0(empty(mapf(three,head(x10))),true) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,tail(x10),x11,x5)) # label(replacement) # label(non_clause).  [assumption].
32 ->*_s0(leq(x5,length(x11)),true) & ->*_s0(empty(fstsplit(x5,x11)),false) -> ->_s0(ring(x7,x8,x9,x10,x11,x5),ring(x7,x8,x9,x10,sndsplit(x5,x11),x5)) # label(replacement) # label(non_clause).  [assumption].
33 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
34 (exists x13 exists x14 (->*_s0(empty(mapf(two,head(x13))),true) & ->*_s0(empty(mapf(three,head(x14))),true))) # 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(app(x,z),app(y,z)) # label(congruence).  [clausify(1)].
-->_s0(x,y) | ->_s0(app(z,x),app(z,y)) # label(congruence).  [clausify(2)].
-->_s0(x,y) | ->_s0(empty(x),empty(y)) # label(congruence).  [clausify(3)].
-->_s0(x,y) | ->_s0(fstsplit(x,z),fstsplit(y,z)) # label(congruence).  [clausify(4)].
-->_s0(x,y) | ->_s0(fstsplit(z,x),fstsplit(z,y)) # label(congruence).  [clausify(5)].
-->_s0(x,y) | ->_s0(head(x),head(y)) # label(congruence).  [clausify(6)].
-->_s0(x,y) | ->_s0(length(x),length(y)) # label(congruence).  [clausify(7)].
-->_s0(x,y) | ->_s0(leq(x,z),leq(y,z)) # label(congruence).  [clausify(8)].
-->_s0(x,y) | ->_s0(leq(z,x),leq(z,y)) # label(congruence).  [clausify(9)].
-->_s0(x,y) | ->_s0(mapf(x,z),mapf(y,z)) # label(congruence).  [clausify(10)].
-->_s0(x,y) | ->_s0(mapf(z,x),mapf(z,y)) # label(congruence).  [clausify(11)].
-->_s0(x,y) | ->_s0(ring(x,z,u,w,v5,v6),ring(y,z,u,w,v5,v6)) # label(congruence).  [clausify(12)].
-->_s0(x,y) | ->_s0(ring(z,x,u,w,v5,v6),ring(z,y,u,w,v5,v6)) # label(congruence).  [clausify(13)].
-->_s0(x,y) | ->_s0(ring(z,u,x,w,v5,v6),ring(z,u,y,w,v5,v6)) # label(congruence).  [clausify(14)].
-->_s0(x,y) | ->_s0(ring(z,u,w,x,v5,v6),ring(z,u,w,y,v5,v6)) # label(congruence).  [clausify(15)].
-->_s0(x,y) | ->_s0(ring(z,u,w,v5,x,v6),ring(z,u,w,v5,y,v6)) # label(congruence).  [clausify(16)].
-->_s0(x,y) | ->_s0(ring(z,u,w,v5,v6,x),ring(z,u,w,v5,v6,y)) # label(congruence).  [clausify(17)].
-->_s0(x,y) | ->_s0(sndsplit(x,z),sndsplit(y,z)) # label(congruence).  [clausify(18)].
-->_s0(x,y) | ->_s0(sndsplit(z,x),sndsplit(z,y)) # label(congruence).  [clausify(19)].
-->_s0(x,y) | ->_s0(tail(x),tail(y)) # label(congruence).  [clausify(20)].
-->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(21)].
-->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(22)].
-->_s0(x,y) | ->_s0(f(x,z),f(y,z)) # label(congruence).  [clausify(23)].
-->_s0(x,y) | ->_s0(f(z,x),f(z,y)) # label(congruence).  [clausify(24)].
-->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(25)].
->_s0(app(cons(x,y),z),cons(x,app(y,z))) # label(replacement).  [assumption].
->_s0(app(nil,x),x) # label(replacement).  [assumption].
->_s0(empty(cons(x,y)),false) # label(replacement).  [assumption].
->_s0(empty(nil),true) # label(replacement).  [assumption].
->_s0(fstsplit(0,x),nil) # label(replacement).  [assumption].
->_s0(fstsplit(s(x),cons(y,z)),cons(y,fstsplit(x,z))) # label(replacement).  [assumption].
->_s0(fstsplit(s(x),nil),nil) # label(replacement).  [assumption].
->_s0(head(cons(x,y)),x) # label(replacement).  [assumption].
->_s0(length(cons(x,y)),s(length(y))) # label(replacement).  [assumption].
->_s0(length(nil),0) # label(replacement).  [assumption].
->_s0(leq(0,x),true) # label(replacement).  [assumption].
->_s0(leq(s(x),0),false) # label(replacement).  [assumption].
->_s0(leq(s(x),s(y)),leq(x,y)) # label(replacement).  [assumption].
->_s0(mapf(x,cons(y,z)),app(f(x,y),mapf(x,z))) # label(replacement).  [assumption].
->_s0(mapf(x,nil),nil) # label(replacement).  [assumption].
-->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(y,z,u,w,v5,x),ring(sndsplit(x,y),cons(fstsplit(x,y),z),u,w,v5,x)) # label(replacement).  [clausify(26)].
-->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(two,head(z)),y))),false) | ->_s0(ring(u,z,y,w,v5,x),ring(u,tail(z),sndsplit(x,app(mapf(two,head(z)),y)),cons(fstsplit(x,app(mapf(two,head(z)),y)),w),v5,x)) # label(replacement).  [clausify(27)].
-->*_s0(empty(mapf(two,head(x))),true) | ->_s0(ring(y,x,z,u,w,v5),ring(y,tail(x),z,u,w,v5)) # label(replacement).  [clausify(28)].
-->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,y,w,v5,x),ring(z,u,sndsplit(x,y),cons(fstsplit(x,y),w),v5,x)) # label(replacement).  [clausify(29)].
-->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(three,head(z)),y))),false) | ->_s0(ring(u,w,v5,z,y,x),ring(u,w,v5,tail(z),sndsplit(x,app(mapf(three,head(z)),y)),x)) # label(replacement).  [clausify(30)].
-->*_s0(empty(mapf(three,head(x))),true) | ->_s0(ring(y,z,u,x,w,v5),ring(y,z,u,tail(x),w,v5)) # label(replacement).  [clausify(31)].
-->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,w,v5,y,x),ring(z,u,w,v5,sndsplit(x,y),x)) # label(replacement).  [clausify(32)].
->_s0(sndsplit(0,x),x) # label(replacement).  [assumption].
->_s0(sndsplit(s(x),cons(y,z)),sndsplit(x,z)) # label(replacement).  [assumption].
->_s0(sndsplit(s(x),nil),nil) # label(replacement).  [assumption].
->_s0(tail(cons(x,y)),y) # label(replacement).  [assumption].
->*_s0(x,x) # label(reflexivity).  [assumption].
-->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(33)].
-->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(mapf(three,head(y))),true) # label(goal).  [deny(34)].
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([ nil, false, true, 0, two, three, cons, fstsplit, mapf, sndsplit, app, leq, f, empty, s, head, length, tail, ring ]).
After inverse_order:  (no changes).
Unfolding symbols: (none).

Auto_inference settings:
  % set(neg_binary_resolution).  % (HNE depth_diff=-26)
  % clear(ordered_res).  % (HNE depth_diff=-26)
  % set(ur_resolution).  % (HNE depth_diff=-26)
    % 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:      35 -->_s0(x,y) | ->_s0(app(x,z),app(y,z)) # label(congruence).  [clausify(1)].
kept:      36 -->_s0(x,y) | ->_s0(app(z,x),app(z,y)) # label(congruence).  [clausify(2)].
kept:      37 -->_s0(x,y) | ->_s0(empty(x),empty(y)) # label(congruence).  [clausify(3)].
kept:      38 -->_s0(x,y) | ->_s0(fstsplit(x,z),fstsplit(y,z)) # label(congruence).  [clausify(4)].
kept:      39 -->_s0(x,y) | ->_s0(fstsplit(z,x),fstsplit(z,y)) # label(congruence).  [clausify(5)].
kept:      40 -->_s0(x,y) | ->_s0(head(x),head(y)) # label(congruence).  [clausify(6)].
kept:      41 -->_s0(x,y) | ->_s0(length(x),length(y)) # label(congruence).  [clausify(7)].
kept:      42 -->_s0(x,y) | ->_s0(leq(x,z),leq(y,z)) # label(congruence).  [clausify(8)].
kept:      43 -->_s0(x,y) | ->_s0(leq(z,x),leq(z,y)) # label(congruence).  [clausify(9)].
kept:      44 -->_s0(x,y) | ->_s0(mapf(x,z),mapf(y,z)) # label(congruence).  [clausify(10)].
kept:      45 -->_s0(x,y) | ->_s0(mapf(z,x),mapf(z,y)) # label(congruence).  [clausify(11)].
kept:      46 -->_s0(x,y) | ->_s0(ring(x,z,u,w,v5,v6),ring(y,z,u,w,v5,v6)) # label(congruence).  [clausify(12)].
kept:      47 -->_s0(x,y) | ->_s0(ring(z,x,u,w,v5,v6),ring(z,y,u,w,v5,v6)) # label(congruence).  [clausify(13)].
kept:      48 -->_s0(x,y) | ->_s0(ring(z,u,x,w,v5,v6),ring(z,u,y,w,v5,v6)) # label(congruence).  [clausify(14)].
kept:      49 -->_s0(x,y) | ->_s0(ring(z,u,w,x,v5,v6),ring(z,u,w,y,v5,v6)) # label(congruence).  [clausify(15)].
kept:      50 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,x,v6),ring(z,u,w,v5,y,v6)) # label(congruence).  [clausify(16)].
kept:      51 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,v6,x),ring(z,u,w,v5,v6,y)) # label(congruence).  [clausify(17)].
kept:      52 -->_s0(x,y) | ->_s0(sndsplit(x,z),sndsplit(y,z)) # label(congruence).  [clausify(18)].
kept:      53 -->_s0(x,y) | ->_s0(sndsplit(z,x),sndsplit(z,y)) # label(congruence).  [clausify(19)].
kept:      54 -->_s0(x,y) | ->_s0(tail(x),tail(y)) # label(congruence).  [clausify(20)].
kept:      55 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(21)].
kept:      56 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(22)].
kept:      57 -->_s0(x,y) | ->_s0(f(x,z),f(y,z)) # label(congruence).  [clausify(23)].
kept:      58 -->_s0(x,y) | ->_s0(f(z,x),f(z,y)) # label(congruence).  [clausify(24)].
kept:      59 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(25)].
kept:      60 ->_s0(app(cons(x,y),z),cons(x,app(y,z))) # label(replacement).  [assumption].
kept:      61 ->_s0(app(nil,x),x) # label(replacement).  [assumption].
kept:      62 ->_s0(empty(cons(x,y)),false) # label(replacement).  [assumption].
kept:      63 ->_s0(empty(nil),true) # label(replacement).  [assumption].
kept:      64 ->_s0(fstsplit(0,x),nil) # label(replacement).  [assumption].
kept:      65 ->_s0(fstsplit(s(x),cons(y,z)),cons(y,fstsplit(x,z))) # label(replacement).  [assumption].
kept:      66 ->_s0(fstsplit(s(x),nil),nil) # label(replacement).  [assumption].
kept:      67 ->_s0(head(cons(x,y)),x) # label(replacement).  [assumption].
kept:      68 ->_s0(length(cons(x,y)),s(length(y))) # label(replacement).  [assumption].
kept:      69 ->_s0(length(nil),0) # label(replacement).  [assumption].
kept:      70 ->_s0(leq(0,x),true) # label(replacement).  [assumption].
kept:      71 ->_s0(leq(s(x),0),false) # label(replacement).  [assumption].
kept:      72 ->_s0(leq(s(x),s(y)),leq(x,y)) # label(replacement).  [assumption].
kept:      73 ->_s0(mapf(x,cons(y,z)),app(f(x,y),mapf(x,z))) # label(replacement).  [assumption].
kept:      74 ->_s0(mapf(x,nil),nil) # label(replacement).  [assumption].
kept:      75 -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(y,z,u,w,v5,x),ring(sndsplit(x,y),cons(fstsplit(x,y),z),u,w,v5,x)) # label(replacement).  [clausify(26)].
kept:      76 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(two,head(z)),y))),false) | ->_s0(ring(u,z,y,w,v5,x),ring(u,tail(z),sndsplit(x,app(mapf(two,head(z)),y)),cons(fstsplit(x,app(mapf(two,head(z)),y)),w),v5,x)) # label(replacement).  [clausify(27)].
kept:      77 -->*_s0(empty(mapf(two,head(x))),true) | ->_s0(ring(y,x,z,u,w,v5),ring(y,tail(x),z,u,w,v5)) # label(replacement).  [clausify(28)].
kept:      78 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,y,w,v5,x),ring(z,u,sndsplit(x,y),cons(fstsplit(x,y),w),v5,x)) # label(replacement).  [clausify(29)].
kept:      79 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(three,head(z)),y))),false) | ->_s0(ring(u,w,v5,z,y,x),ring(u,w,v5,tail(z),sndsplit(x,app(mapf(three,head(z)),y)),x)) # label(replacement).  [clausify(30)].
kept:      80 -->*_s0(empty(mapf(three,head(x))),true) | ->_s0(ring(y,z,u,x,w,v5),ring(y,z,u,tail(x),w,v5)) # label(replacement).  [clausify(31)].
kept:      81 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,w,v5,y,x),ring(z,u,w,v5,sndsplit(x,y),x)) # label(replacement).  [clausify(32)].
kept:      82 ->_s0(sndsplit(0,x),x) # label(replacement).  [assumption].
kept:      83 ->_s0(sndsplit(s(x),cons(y,z)),sndsplit(x,z)) # label(replacement).  [assumption].
kept:      84 ->_s0(sndsplit(s(x),nil),nil) # label(replacement).  [assumption].
kept:      85 ->_s0(tail(cons(x,y)),y) # label(replacement).  [assumption].
kept:      86 ->*_s0(x,x) # label(reflexivity).  [assumption].
kept:      87 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(33)].
kept:      88 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(mapf(three,head(y))),true) # label(goal) # answer(goal).  [deny(34)].

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

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

% Clauses after input processing:

formulas(usable).
end_of_list.

formulas(sos).
35 -->_s0(x,y) | ->_s0(app(x,z),app(y,z)) # label(congruence).  [clausify(1)].
36 -->_s0(x,y) | ->_s0(app(z,x),app(z,y)) # label(congruence).  [clausify(2)].
37 -->_s0(x,y) | ->_s0(empty(x),empty(y)) # label(congruence).  [clausify(3)].
38 -->_s0(x,y) | ->_s0(fstsplit(x,z),fstsplit(y,z)) # label(congruence).  [clausify(4)].
39 -->_s0(x,y) | ->_s0(fstsplit(z,x),fstsplit(z,y)) # label(congruence).  [clausify(5)].
40 -->_s0(x,y) | ->_s0(head(x),head(y)) # label(congruence).  [clausify(6)].
41 -->_s0(x,y) | ->_s0(length(x),length(y)) # label(congruence).  [clausify(7)].
42 -->_s0(x,y) | ->_s0(leq(x,z),leq(y,z)) # label(congruence).  [clausify(8)].
43 -->_s0(x,y) | ->_s0(leq(z,x),leq(z,y)) # label(congruence).  [clausify(9)].
44 -->_s0(x,y) | ->_s0(mapf(x,z),mapf(y,z)) # label(congruence).  [clausify(10)].
45 -->_s0(x,y) | ->_s0(mapf(z,x),mapf(z,y)) # label(congruence).  [clausify(11)].
46 -->_s0(x,y) | ->_s0(ring(x,z,u,w,v5,v6),ring(y,z,u,w,v5,v6)) # label(congruence).  [clausify(12)].
47 -->_s0(x,y) | ->_s0(ring(z,x,u,w,v5,v6),ring(z,y,u,w,v5,v6)) # label(congruence).  [clausify(13)].
48 -->_s0(x,y) | ->_s0(ring(z,u,x,w,v5,v6),ring(z,u,y,w,v5,v6)) # label(congruence).  [clausify(14)].
49 -->_s0(x,y) | ->_s0(ring(z,u,w,x,v5,v6),ring(z,u,w,y,v5,v6)) # label(congruence).  [clausify(15)].
50 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,x,v6),ring(z,u,w,v5,y,v6)) # label(congruence).  [clausify(16)].
51 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,v6,x),ring(z,u,w,v5,v6,y)) # label(congruence).  [clausify(17)].
52 -->_s0(x,y) | ->_s0(sndsplit(x,z),sndsplit(y,z)) # label(congruence).  [clausify(18)].
53 -->_s0(x,y) | ->_s0(sndsplit(z,x),sndsplit(z,y)) # label(congruence).  [clausify(19)].
54 -->_s0(x,y) | ->_s0(tail(x),tail(y)) # label(congruence).  [clausify(20)].
55 -->_s0(x,y) | ->_s0(cons(x,z),cons(y,z)) # label(congruence).  [clausify(21)].
56 -->_s0(x,y) | ->_s0(cons(z,x),cons(z,y)) # label(congruence).  [clausify(22)].
57 -->_s0(x,y) | ->_s0(f(x,z),f(y,z)) # label(congruence).  [clausify(23)].
58 -->_s0(x,y) | ->_s0(f(z,x),f(z,y)) # label(congruence).  [clausify(24)].
59 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence).  [clausify(25)].
60 ->_s0(app(cons(x,y),z),cons(x,app(y,z))) # label(replacement).  [assumption].
61 ->_s0(app(nil,x),x) # label(replacement).  [assumption].
62 ->_s0(empty(cons(x,y)),false) # label(replacement).  [assumption].
63 ->_s0(empty(nil),true) # label(replacement).  [assumption].
64 ->_s0(fstsplit(0,x),nil) # label(replacement).  [assumption].
65 ->_s0(fstsplit(s(x),cons(y,z)),cons(y,fstsplit(x,z))) # label(replacement).  [assumption].
66 ->_s0(fstsplit(s(x),nil),nil) # label(replacement).  [assumption].
67 ->_s0(head(cons(x,y)),x) # label(replacement).  [assumption].
68 ->_s0(length(cons(x,y)),s(length(y))) # label(replacement).  [assumption].
69 ->_s0(length(nil),0) # label(replacement).  [assumption].
70 ->_s0(leq(0,x),true) # label(replacement).  [assumption].
71 ->_s0(leq(s(x),0),false) # label(replacement).  [assumption].
72 ->_s0(leq(s(x),s(y)),leq(x,y)) # label(replacement).  [assumption].
73 ->_s0(mapf(x,cons(y,z)),app(f(x,y),mapf(x,z))) # label(replacement).  [assumption].
74 ->_s0(mapf(x,nil),nil) # label(replacement).  [assumption].
75 -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(y,z,u,w,v5,x),ring(sndsplit(x,y),cons(fstsplit(x,y),z),u,w,v5,x)) # label(replacement).  [clausify(26)].
76 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(two,head(z)),y))),false) | ->_s0(ring(u,z,y,w,v5,x),ring(u,tail(z),sndsplit(x,app(mapf(two,head(z)),y)),cons(fstsplit(x,app(mapf(two,head(z)),y)),w),v5,x)) # label(replacement).  [clausify(27)].
77 -->*_s0(empty(mapf(two,head(x))),true) | ->_s0(ring(y,x,z,u,w,v5),ring(y,tail(x),z,u,w,v5)) # label(replacement).  [clausify(28)].
78 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,y,w,v5,x),ring(z,u,sndsplit(x,y),cons(fstsplit(x,y),w),v5,x)) # label(replacement).  [clausify(29)].
79 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(three,head(z)),y))),false) | ->_s0(ring(u,w,v5,z,y,x),ring(u,w,v5,tail(z),sndsplit(x,app(mapf(three,head(z)),y)),x)) # label(replacement).  [clausify(30)].
80 -->*_s0(empty(mapf(three,head(x))),true) | ->_s0(ring(y,z,u,x,w,v5),ring(y,z,u,tail(x),w,v5)) # label(replacement).  [clausify(31)].
81 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,w,v5,y,x),ring(z,u,w,v5,sndsplit(x,y),x)) # label(replacement).  [clausify(32)].
82 ->_s0(sndsplit(0,x),x) # label(replacement).  [assumption].
83 ->_s0(sndsplit(s(x),cons(y,z)),sndsplit(x,z)) # label(replacement).  [assumption].
84 ->_s0(sndsplit(s(x),nil),nil) # label(replacement).  [assumption].
85 ->_s0(tail(cons(x,y)),y) # label(replacement).  [assumption].
86 ->*_s0(x,x) # label(reflexivity).  [assumption].
87 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(33)].
88 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(mapf(three,head(y))),true) # label(goal) # answer(goal).  [deny(34)].
end_of_list.

formulas(demodulators).
end_of_list.

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

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

% Starting search at 0.02 seconds.

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

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

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

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

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

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

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

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

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

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

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

given #12 (I,wt=18): 46 -->_s0(x,y) | ->_s0(ring(x,z,u,w,v5,v6),ring(y,z,u,w,v5,v6)) # label(congruence).  [clausify(12)].

given #13 (I,wt=18): 47 -->_s0(x,y) | ->_s0(ring(z,x,u,w,v5,v6),ring(z,y,u,w,v5,v6)) # label(congruence).  [clausify(13)].

given #14 (I,wt=18): 48 -->_s0(x,y) | ->_s0(ring(z,u,x,w,v5,v6),ring(z,u,y,w,v5,v6)) # label(congruence).  [clausify(14)].

given #15 (I,wt=18): 49 -->_s0(x,y) | ->_s0(ring(z,u,w,x,v5,v6),ring(z,u,w,y,v5,v6)) # label(congruence).  [clausify(15)].

given #16 (I,wt=18): 50 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,x,v6),ring(z,u,w,v5,y,v6)) # label(congruence).  [clausify(16)].

given #17 (I,wt=18): 51 -->_s0(x,y) | ->_s0(ring(z,u,w,v5,v6,x),ring(z,u,w,v5,v6,y)) # label(congruence).  [clausify(17)].

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

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

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

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

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

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

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

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

given #26 (I,wt=11): 60 ->_s0(app(cons(x,y),z),cons(x,app(y,z))) # label(replacement).  [assumption].

given #27 (I,wt=5): 61 ->_s0(app(nil,x),x) # label(replacement).  [assumption].

given #28 (I,wt=6): 62 ->_s0(empty(cons(x,y)),false) # label(replacement).  [assumption].

given #29 (I,wt=4): 63 ->_s0(empty(nil),true) # label(replacement).  [assumption].

given #30 (I,wt=5): 64 ->_s0(fstsplit(0,x),nil) # label(replacement).  [assumption].

given #31 (I,wt=12): 65 ->_s0(fstsplit(s(x),cons(y,z)),cons(y,fstsplit(x,z))) # label(replacement).  [assumption].

given #32 (I,wt=6): 66 ->_s0(fstsplit(s(x),nil),nil) # label(replacement).  [assumption].

given #33 (I,wt=6): 67 ->_s0(head(cons(x,y)),x) # label(replacement).  [assumption].

given #34 (I,wt=8): 68 ->_s0(length(cons(x,y)),s(length(y))) # label(replacement).  [assumption].

given #35 (I,wt=4): 69 ->_s0(length(nil),0) # label(replacement).  [assumption].

given #36 (I,wt=5): 70 ->_s0(leq(0,x),true) # label(replacement).  [assumption].

given #37 (I,wt=6): 71 ->_s0(leq(s(x),0),false) # label(replacement).  [assumption].

given #38 (I,wt=9): 72 ->_s0(leq(s(x),s(y)),leq(x,y)) # label(replacement).  [assumption].

given #39 (I,wt=13): 73 ->_s0(mapf(x,cons(y,z)),app(f(x,y),mapf(x,z))) # label(replacement).  [assumption].

given #40 (I,wt=5): 74 ->_s0(mapf(x,nil),nil) # label(replacement).  [assumption].

given #41 (I,wt=27): 75 -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(y,z,u,w,v5,x),ring(sndsplit(x,y),cons(fstsplit(x,y),z),u,w,v5,x)) # label(replacement).  [clausify(26)].

given #42 (I,wt=49): 76 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(two,head(z)),y))),false) | ->_s0(ring(u,z,y,w,v5,x),ring(u,tail(z),sndsplit(x,app(mapf(two,head(z)),y)),cons(fstsplit(x,app(mapf(two,head(z)),y)),w),v5,x)) # label(replacement).  [clausify(27)].

given #43 (I,wt=23): 77 -->*_s0(empty(mapf(two,head(x))),true) | ->_s0(ring(y,x,z,u,w,v5),ring(y,tail(x),z,u,w,v5)) # label(replacement).  [clausify(28)].

given #44 (I,wt=33): 78 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,y,w,v5,x),ring(z,u,sndsplit(x,y),cons(fstsplit(x,y),w),v5,x)) # label(replacement).  [clausify(29)].

given #45 (I,wt=40): 79 -->*_s0(leq(x,length(y)),false) | -->*_s0(empty(fstsplit(x,app(mapf(three,head(z)),y))),false) | ->_s0(ring(u,w,v5,z,y,x),ring(u,w,v5,tail(z),sndsplit(x,app(mapf(three,head(z)),y)),x)) # label(replacement).  [clausify(30)].

given #46 (I,wt=23): 80 -->*_s0(empty(mapf(three,head(x))),true) | ->_s0(ring(y,z,u,x,w,v5),ring(y,z,u,tail(x),w,v5)) # label(replacement).  [clausify(31)].

given #47 (I,wt=29): 81 -->*_s0(leq(x,length(y)),true) | -->*_s0(empty(fstsplit(x,y)),false) | ->_s0(ring(z,u,w,v5,y,x),ring(z,u,w,v5,sndsplit(x,y),x)) # label(replacement).  [clausify(32)].

given #48 (I,wt=5): 82 ->_s0(sndsplit(0,x),x) # label(replacement).  [assumption].

given #49 (I,wt=10): 83 ->_s0(sndsplit(s(x),cons(y,z)),sndsplit(x,z)) # label(replacement).  [assumption].

given #50 (I,wt=6): 84 ->_s0(sndsplit(s(x),nil),nil) # label(replacement).  [assumption].

given #51 (I,wt=6): 85 ->_s0(tail(cons(x,y)),y) # label(replacement).  [assumption].

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

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

given #54 (I,wt=14): 88 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(mapf(three,head(y))),true) # label(goal) # answer(goal).  [deny(34)].

given #55 (A,wt=13): 89 ->_s0(s(app(cons(x,y),z)),s(cons(x,app(y,z)))).  [ur(59,a,60,a)].

given #56 (F,wt=17): 583 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(88,a,87,c)].

given #57 (F,wt=14): 614 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),true) # answer(goal).  [resolve(583,c,86,a)].

given #58 (F,wt=17): 584 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(88,b,87,c)].

given #59 (F,wt=14): 618 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),true) # answer(goal).  [resolve(584,c,86,a)].

given #60 (T,wt=4): 573 ->*_s0(length(nil),0).  [ur(87,a,69,a,b,86,a)].

given #61 (T,wt=4): 579 ->*_s0(empty(nil),true).  [ur(87,a,63,a,b,86,a)].

given #62 (T,wt=5): 567 ->*_s0(sndsplit(0,x),x).  [ur(87,a,82,a,b,86,a)].

given #63 (T,wt=5): 568 ->*_s0(mapf(x,nil),nil).  [ur(87,a,74,a,b,86,a)].

given #64 (A,wt=15): 90 ->_s0(f(x,app(cons(y,z),u)),f(x,cons(y,app(z,u)))).  [ur(58,a,60,a)].

given #65 (F,wt=15): 624 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),empty(nil)) # answer(goal).  [resolve(579,a,584,c)].

given #66 (F,wt=13): 668 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(mapf(three,head(y)),nil) # answer(goal).  [resolve(624,b,37,b)].

given #67 (F,wt=15): 625 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),empty(nil)) # answer(goal).  [resolve(579,a,583,c)].

given #68 (F,wt=13): 671 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(mapf(two,head(y)),nil) # answer(goal).  [resolve(625,b,37,b)].

given #69 (T,wt=5): 572 ->*_s0(leq(0,x),true).  [ur(87,a,70,a,b,86,a)].

given #70 (T,wt=5): 578 ->*_s0(fstsplit(0,x),nil).  [ur(87,a,64,a,b,86,a)].

given #71 (T,wt=5): 581 ->*_s0(app(nil,x),x).  [ur(87,a,61,a,b,86,a)].

given #72 (T,wt=6): 164 ->_s0(s(empty(nil)),s(true)).  [ur(59,a,63,a)].

given #73 (A,wt=15): 91 ->_s0(f(app(cons(x,y),z),u),f(cons(x,app(y,z)),u)).  [ur(57,a,60,a)].

given #74 (F,wt=16): 630 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),sndsplit(0,true)) # answer(goal).  [resolve(567,a,584,c)].

given #75 (F,wt=16): 631 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),sndsplit(0,true)) # answer(goal).  [resolve(567,a,583,c)].

given #76 (F,wt=16): 669 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(668,a,87,c)].

given #77 (F,wt=13): 750 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),true) # answer(goal).  [resolve(669,c,86,a)].

given #78 (T,wt=6): 169 ->_s0(tail(empty(nil)),tail(true)).  [ur(54,a,63,a)].

given #79 (T,wt=6): 182 ->_s0(length(empty(nil)),length(true)).  [ur(41,a,63,a)].

given #80 (T,wt=6): 183 ->_s0(head(empty(nil)),head(true)).  [ur(40,a,63,a)].

given #81 (T,wt=6): 186 ->_s0(empty(empty(nil)),empty(true)).  [ur(37,a,63,a)].

given #82 (A,wt=15): 92 ->_s0(cons(x,app(cons(y,z),u)),cons(x,cons(y,app(z,u)))).  [ur(56,a,60,a)].

given #83 (F,wt=14): 746 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),empty(nil)) # answer(goal).  [resolve(669,c,579,a)].

given #84 (F,wt=12): 881 -->_s0(mapf(three,head(x)),nil) | -->_s0(mapf(two,head(y)),nil) # answer(goal).  [resolve(746,b,37,b)].

given #85 (F,wt=15): 745 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),app(nil,true)) # answer(goal).  [resolve(669,c,581,a)].

given #86 (F,wt=15): 747 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),leq(0,z)) # answer(goal).  [resolve(669,c,572,a)].

given #87 (T,wt=6): 314 ->_s0(s(length(nil)),s(0)).  [ur(59,a,69,a)].

given #88 (T,wt=6): 319 ->_s0(tail(length(nil)),tail(0)).  [ur(54,a,69,a)].

given #89 (T,wt=6): 332 ->_s0(length(length(nil)),length(0)).  [ur(41,a,69,a)].

given #90 (T,wt=6): 333 ->_s0(head(length(nil)),head(0)).  [ur(40,a,69,a)].

given #91 (A,wt=15): 93 ->_s0(cons(app(cons(x,y),z),u),cons(cons(x,app(y,z)),u)).  [ur(55,a,60,a)].

given #92 (F,wt=15): 748 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),sndsplit(0,true)) # answer(goal).  [resolve(669,c,567,a)].

given #93 (F,wt=16): 672 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(671,a,87,c)].

given #94 (F,wt=13): 1018 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),true) # answer(goal).  [resolve(672,c,86,a)].

given #95 (F,wt=14): 1014 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),empty(nil)) # answer(goal).  [resolve(672,c,579,a)].

given #96 (T,wt=6): 336 ->_s0(empty(length(nil)),empty(0)).  [ur(37,a,69,a)].

given #97 (T,wt=6): 564 ->*_s0(tail(cons(x,y)),y).  [ur(87,a,85,a,b,86,a)].

given #98 (T,wt=6): 565 ->*_s0(sndsplit(s(x),nil),nil).  [ur(87,a,84,a,b,86,a)].

given #99 (T,wt=6): 571 ->*_s0(leq(s(x),0),false).  [ur(87,a,71,a,b,86,a)].

given #100 (A,wt=13): 94 ->_s0(tail(app(cons(x,y),z)),tail(cons(x,app(y,z)))).  [ur(54,a,60,a)].

given #101 (F,wt=15): 1013 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),app(nil,true)) # answer(goal).  [resolve(672,c,581,a)].

given #102 (F,wt=15): 1015 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),leq(0,z)) # answer(goal).  [resolve(672,c,572,a)].

given #103 (F,wt=15): 1016 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),sndsplit(0,true)) # answer(goal).  [resolve(672,c,567,a)].

given #104 (F,wt=16): 673 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),leq(0,z)) # answer(goal).  [resolve(572,a,584,c)].

given #105 (T,wt=6): 575 ->*_s0(head(cons(x,y)),x).  [ur(87,a,67,a,b,86,a)].

given #106 (T,wt=6): 576 ->*_s0(fstsplit(s(x),nil),nil).  [ur(87,a,66,a,b,86,a)].

given #107 (T,wt=6): 580 ->*_s0(empty(cons(x,y)),false).  [ur(87,a,62,a,b,86,a)].

given #108 (T,wt=6): 621 ->*_s0(sndsplit(0,length(nil)),0).  [ur(87,a,82,a,b,573,a)].

given #109 (A,wt=15): 95 ->_s0(sndsplit(x,app(cons(y,z),u)),sndsplit(x,cons(y,app(z,u)))).  [ur(53,a,60,a)].

given #110 (F,wt=16): 674 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),leq(0,z)) # answer(goal).  [resolve(572,a,583,c)].

given #111 (F,wt=16): 684 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),app(nil,true)) # answer(goal).  [resolve(581,a,584,c)].

given #112 (F,wt=16): 685 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),app(nil,true)) # answer(goal).  [resolve(581,a,583,c)].

given #113 (F,wt=16): 744 -->_s0(mapf(three,head(x)),nil) | -->*_s0(empty(y),true) | -->_s0(mapf(two,head(z)),y) # answer(goal).  [resolve(669,b,37,b)].

given #114 (T,wt=6): 623 ->*_s0(app(nil,length(nil)),0).  [ur(87,a,61,a,b,573,a)].

given #115 (T,wt=6): 627 ->*_s0(sndsplit(0,empty(nil)),true).  [ur(87,a,82,a,b,579,a)].

given #116 (T,wt=6): 629 ->*_s0(app(nil,empty(nil)),true).  [ur(87,a,61,a,b,579,a)].

given #117 (T,wt=6): 690 ->*_s0(s(empty(nil)),s(true)).  [ur(87,a,164,a,b,86,a)].

given #118 (A,wt=15): 96 ->_s0(sndsplit(app(cons(x,y),z),u),sndsplit(cons(x,app(y,z)),u)).  [ur(52,a,60,a)].

given #119 (F,wt=16): 1012 -->_s0(mapf(two,head(x)),nil) | -->*_s0(empty(y),true) | -->_s0(mapf(three,head(z)),y) # answer(goal).  [resolve(672,b,37,b)].

given #120 (F,wt=16): 1045 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),tail(cons(z,true))) # answer(goal).  [resolve(564,a,672,c)].

given #121 (F,wt=16): 1046 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),tail(cons(z,true))) # answer(goal).  [resolve(564,a,669,c)].

given #122 (F,wt=16): 1091 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),head(cons(true,z))) # answer(goal).  [resolve(575,a,672,c)].

given #123 (T,wt=6): 751 ->*_s0(tail(empty(nil)),tail(true)).  [ur(87,a,169,a,b,86,a)].

given #124 (T,wt=6): 777 ->*_s0(length(empty(nil)),length(true)).  [ur(87,a,182,a,b,86,a)].

given #125 (T,wt=6): 803 ->*_s0(head(empty(nil)),head(true)).  [ur(87,a,183,a,b,86,a)].

given #126 (T,wt=6): 829 ->*_s0(empty(empty(nil)),empty(true)).  [ur(87,a,186,a,b,86,a)].

given #127 (A,wt=23): 97 ->_s0(ring(x,y,z,u,w,app(cons(v5,v6),v7)),ring(x,y,z,u,w,cons(v5,app(v6,v7)))).  [ur(51,a,60,a)].

given #128 (F,wt=16): 1092 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,head(y))),head(cons(true,z))) # answer(goal).  [resolve(575,a,669,c)].

given #129 (F,wt=16): 1143 -->_s0(mapf(three,head(x)),nil) | -->*_s0(empty(mapf(two,y)),true) | -->_s0(head(z),y) # answer(goal).  [resolve(744,c,45,b)].

given #130 (F,wt=12): 1242 -->_s0(mapf(three,head(x)),nil) | -->*_s0(empty(mapf(two,y)),true) # answer(goal).  [resolve(1143,c,67,a)].

given #131 (F,wt=15): 1243 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,y)),z) | -->*_s0(z,true) # answer(goal).  [resolve(1242,b,87,c)].

given #132 (T,wt=6): 882 ->*_s0(s(length(nil)),s(0)).  [ur(87,a,314,a,b,86,a)].

given #133 (T,wt=6): 908 ->*_s0(tail(length(nil)),tail(0)).  [ur(87,a,319,a,b,86,a)].

given #134 (T,wt=6): 934 ->*_s0(length(length(nil)),length(0)).  [ur(87,a,332,a,b,86,a)].

given #135 (T,wt=6): 960 ->*_s0(head(length(nil)),head(0)).  [ur(87,a,333,a,b,86,a)].

given #136 (A,wt=23): 98 ->_s0(ring(x,y,z,u,app(cons(w,v5),v6),v7),ring(x,y,z,u,cons(w,app(v5,v6)),v7)).  [ur(50,a,60,a)].

given #137 (F,wt=12): 1254 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,y)),true) # answer(goal).  [resolve(1243,c,86,a)].

given #138 (F,wt=13): 1248 -->_s0(mapf(three,head(x)),nil) | -->_s0(empty(mapf(two,y)),empty(nil)) # answer(goal).  [resolve(1243,c,579,a)].

given #139 (F,wt=11): 1298 -->_s0(mapf(three,head(x)),nil) | -->_s0(mapf(two,y),nil) # answer(goal).  [resolve(1248,b,37,b)].

given #140 (F,wt=6): 1299 -->_s0(mapf(three,head(x)),nil) # answer(goal).  [resolve(1298,b,74,a)].

given #141 (T,wt=6): 1019 ->*_s0(empty(length(nil)),empty(0)).  [ur(87,a,336,a,b,86,a)].

given #142 (T,wt=7): 114 ->_s0(s(app(nil,x)),s(x)).  [ur(59,a,61,a)].

given #143 (T,wt=7): 119 ->_s0(tail(app(nil,x)),tail(x)).  [ur(54,a,61,a)].

given #144 (T,wt=7): 132 ->_s0(length(app(nil,x)),length(x)).  [ur(41,a,61,a)].

given #145 (A,wt=23): 99 ->_s0(ring(x,y,z,app(cons(u,w),v5),v6,v7),ring(x,y,z,cons(u,app(w,v5)),v6,v7)).  [ur(49,a,60,a)].

given #146 (F,wt=16): 1149 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),sndsplit(0,empty(nil))) # answer(goal).  [resolve(627,a,672,c)].

given #147 (F,wt=16): 1158 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,head(y))),app(nil,empty(nil))) # answer(goal).  [resolve(629,a,672,c)].

given #148 (F,wt=16): 1197 -->_s0(mapf(two,head(x)),nil) | -->*_s0(empty(mapf(three,y)),true) | -->_s0(head(z),y) # answer(goal).  [resolve(1012,c,45,b)].

given #149 (F,wt=12): 1417 -->_s0(mapf(two,head(x)),nil) | -->*_s0(empty(mapf(three,y)),true) # answer(goal).  [resolve(1197,c,67,a)].

given #150 (T,wt=6): 1363 ->*_s0(length(app(nil,nil)),0).  [ur(87,a,132,a,b,573,a)].

given #151 (T,wt=7): 133 ->_s0(head(app(nil,x)),head(x)).  [ur(40,a,61,a)].

given #152 (T,wt=7): 136 ->_s0(empty(app(nil,x)),empty(x)).  [ur(37,a,61,a)].

given #153 (T,wt=6): 1456 ->*_s0(empty(app(nil,nil)),true).  [ur(87,a,136,a,b,579,a)].

given #154 (A,wt=23): 100 ->_s0(ring(x,y,app(cons(z,u),w),v5,v6,v7),ring(x,y,cons(z,app(u,w)),v5,v6,v7)).  [ur(48,a,60,a)].

given #155 (F,wt=14): 1483 -->_s0(mapf(two,head(x)),nil) | -->_s0(mapf(three,head(y)),app(nil,nil)) # answer(goal).  [resolve(1456,a,1012,b)].

given #156 (F,wt=15): 1418 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,y)),z) | -->*_s0(z,true) # answer(goal).  [resolve(1417,b,87,c)].

given #157 (F,wt=12): 1528 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,y)),true) # answer(goal).  [resolve(1418,c,86,a)].

given #158 (F,wt=13): 1522 -->_s0(mapf(two,head(x)),nil) | -->_s0(empty(mapf(three,y)),empty(nil)) # answer(goal).  [resolve(1418,c,579,a)].

given #159 (T,wt=7): 189 ->_s0(s(fstsplit(0,x)),s(nil)).  [ur(59,a,64,a)].

given #160 (T,wt=7): 194 ->_s0(tail(fstsplit(0,x)),tail(nil)).  [ur(54,a,64,a)].

given #161 (T,wt=7): 207 ->_s0(length(fstsplit(0,x)),length(nil)).  [ur(41,a,64,a)].

given #162 (T,wt=6): 1582 ->*_s0(length(fstsplit(0,x)),0).  [ur(87,a,207,a,b,573,a)].

given #163 (A,wt=23): 101 ->_s0(ring(x,app(cons(y,z),u),w,v5,v6,v7),ring(x,cons(y,app(z,u)),w,v5,v6,v7)).  [ur(47,a,60,a)].

given #164 (F,wt=11): 1529 -->_s0(mapf(two,head(x)),nil) | -->_s0(mapf(three,y),nil) # answer(goal).  [resolve(1522,b,37,b)].

given #165 (F,wt=6): 1640 -->_s0(mapf(two,head(x)),nil) # answer(goal).  [resolve(1529,b,74,a)].

given #166 (F,wt=17): 612 -->*_s0(empty(mapf(three,head(x))),true) | -->*_s0(empty(y),true) | -->_s0(mapf(two,head(z)),y) # answer(goal).  [resolve(583,b,37,b)].

given #167 (F,wt=15): 1642 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(mapf(two,head(y)),app(nil,nil)) # answer(goal).  [resolve(612,b,1456,a)].

given #168 (T,wt=7): 208 ->_s0(head(fstsplit(0,x)),head(nil)).  [ur(40,a,64,a)].

given #169 (T,wt=7): 211 ->_s0(empty(fstsplit(0,x)),empty(nil)).  [ur(37,a,64,a)].

given #170 (T,wt=6): 1673 ->*_s0(empty(fstsplit(0,x)),true).  [ur(87,a,211,a,b,579,a)].

given #171 (T,wt=7): 339 ->_s0(s(leq(0,x)),s(true)).  [ur(59,a,70,a)].

given #172 (A,wt=23): 102 ->_s0(ring(app(cons(x,y),z),u,w,v5,v6,v7),ring(cons(x,app(y,z)),u,w,v5,v6,v7)).  [ur(46,a,60,a)].

given #173 (F,wt=15): 1700 -->*_s0(empty(mapf(three,head(x))),true) | -->_s0(mapf(two,head(y)),fstsplit(0,z)) # answer(goal).  [resolve(1673,a,612,b)].

given #174 (F,wt=17): 615 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(614,a,87,c)].

given #175 (F,wt=14): 1773 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),true) # answer(goal).  [resolve(615,c,86,a)].

given #176 (F,wt=15): 1767 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),empty(nil)) # answer(goal).  [resolve(615,c,579,a)].

given #177 (T,wt=7): 344 ->_s0(tail(leq(0,x)),tail(true)).  [ur(54,a,70,a)].

given #178 (T,wt=7): 357 ->_s0(length(leq(0,x)),length(true)).  [ur(41,a,70,a)].

given #179 (T,wt=7): 358 ->_s0(head(leq(0,x)),head(true)).  [ur(40,a,70,a)].

given #180 (T,wt=7): 361 ->_s0(empty(leq(0,x)),empty(true)).  [ur(37,a,70,a)].

given #181 (A,wt=15): 103 ->_s0(mapf(x,app(cons(y,z),u)),mapf(x,cons(y,app(z,u)))).  [ur(45,a,60,a)].

given #182 (F,wt=16): 1766 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),app(nil,true)) # answer(goal).  [resolve(615,c,581,a)].

given #183 (F,wt=16): 1769 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),leq(0,z)) # answer(goal).  [resolve(615,c,572,a)].

given #184 (F,wt=16): 1770 -->_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),sndsplit(0,true)) # answer(goal).  [resolve(615,c,567,a)].

given #185 (F,wt=17): 616 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(y),true) | -->_s0(mapf(three,head(z)),y) # answer(goal).  [resolve(584,b,37,b)].

given #186 (T,wt=7): 439 ->_s0(s(mapf(x,nil)),s(nil)).  [ur(59,a,74,a)].

given #187 (T,wt=7): 444 ->_s0(tail(mapf(x,nil)),tail(nil)).  [ur(54,a,74,a)].

given #188 (T,wt=7): 457 ->_s0(length(mapf(x,nil)),length(nil)).  [ur(41,a,74,a)].

given #189 (T,wt=6): 1962 ->*_s0(length(mapf(x,nil)),0).  [ur(87,a,457,a,b,573,a)].

given #190 (A,wt=15): 104 ->_s0(mapf(app(cons(x,y),z),u),mapf(cons(x,app(y,z)),u)).  [ur(44,a,60,a)].

given #191 (F,wt=15): 1905 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(mapf(three,head(y)),fstsplit(0,z)) # answer(goal).  [resolve(616,b,1673,a)].

given #192 (F,wt=15): 1906 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(mapf(three,head(y)),app(nil,nil)) # answer(goal).  [resolve(616,b,1456,a)].

given #193 (F,wt=17): 619 -->_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(618,a,87,c)].

given #194 (F,wt=15): 2028 -->_s0(empty(mapf(three,head(x))),true) | -->_s0(empty(mapf(two,head(y))),empty(nil)) # answer(goal).  [resolve(619,c,579,a)].

given #195 (T,wt=7): 458 ->_s0(head(mapf(x,nil)),head(nil)).  [ur(40,a,74,a)].

given #196 (T,wt=7): 461 ->_s0(empty(mapf(x,nil)),empty(nil)).  [ur(37,a,74,a)].

given #197 (T,wt=6): 2060 ->*_s0(empty(mapf(x,nil)),true).  [ur(87,a,461,a,b,579,a)].

given #198 (T,wt=7): 464 ->_s0(s(sndsplit(0,x)),s(x)).  [ur(59,a,82,a)].

given #199 (A,wt=15): 105 ->_s0(leq(x,app(cons(y,z),u)),leq(x,cons(y,app(z,u)))).  [ur(43,a,60,a)].

given #200 (F,wt=15): 2088 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(mapf(three,head(y)),mapf(z,nil)) # answer(goal).  [resolve(2060,a,616,b)].

given #201 (F,wt=11): 2153 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(head(y),nil) # answer(goal).  [resolve(2088,b,45,b)].

given #202 (F,wt=7): 2155 -->*_s0(empty(mapf(two,head(x))),true) # answer(goal).  [resolve(2153,b,67,a)].

given #203 (F,wt=7): 2168 -->_s0(empty(mapf(two,head(x))),true) # answer(goal).  [ur(87,b,86,a,c,2155,a)].

given #204 (T,wt=7): 469 ->_s0(tail(sndsplit(0,x)),tail(x)).  [ur(54,a,82,a)].

given #205 (T,wt=7): 482 ->_s0(length(sndsplit(0,x)),length(x)).  [ur(41,a,82,a)].

given #206 (T,wt=6): 2203 ->*_s0(length(sndsplit(0,nil)),0).  [ur(87,a,482,a,b,573,a)].

given #207 (T,wt=7): 483 ->_s0(head(sndsplit(0,x)),head(x)).  [ur(40,a,82,a)].

given #208 (A,wt=15): 106 ->_s0(leq(app(cons(x,y),z),u),leq(cons(x,app(y,z)),u)).  [ur(42,a,60,a)].

given #209 (F,wt=8): 2163 -->_s0(empty(mapf(two,head(x))),empty(nil)) # answer(goal).  [ur(87,b,579,a,c,2155,a)].

given #210 (F,wt=9): 2162 -->_s0(empty(mapf(two,head(x))),app(nil,true)) # answer(goal).  [ur(87,b,581,a,c,2155,a)].

given #211 (F,wt=9): 2165 -->_s0(empty(mapf(two,head(x))),leq(0,y)) # answer(goal).  [ur(87,b,572,a,c,2155,a)].

given #212 (F,wt=9): 2166 -->_s0(empty(mapf(two,head(x))),sndsplit(0,true)) # answer(goal).  [ur(87,b,567,a,c,2155,a)].

given #213 (T,wt=7): 486 ->_s0(empty(sndsplit(0,x)),empty(x)).  [ur(37,a,82,a)].

given #214 (T,wt=6): 2297 ->*_s0(empty(sndsplit(0,nil)),true).  [ur(87,a,486,a,b,579,a)].

given #215 (T,wt=7): 620 ->*_s0(tail(cons(x,length(nil))),0).  [ur(87,a,85,a,b,573,a)].

given #216 (T,wt=7): 622 ->*_s0(head(cons(length(nil),x)),0).  [ur(87,a,67,a,b,573,a)].

given #217 (A,wt=13): 107 ->_s0(length(app(cons(x,y),z)),length(cons(x,app(y,z)))).  [ur(41,a,60,a)].

given #218 (F,wt=10): 2156 -->_s0(empty(mapf(two,head(x))),y) | -->*_s0(y,true) # answer(goal).  [resolve(2155,a,87,c)].

given #219 (F,wt=10): 2157 -->_s0(empty(mapf(two,head(x))),empty(mapf(y,nil))) # answer(goal).  [ur(87,b,2060,a,c,2155,a)].

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

% Proof 1 at 0.06 (+ 0.00) seconds: goal.
% Length of proof is 24.
% Level of proof is 9.
% Maximum clause weight is 17.000.
% Given clauses 219.

3 ->_s0(x1,y) -> ->_s0(empty(x1),empty(y)) # label(congruence) # label(non_clause).  [assumption].
11 ->_s0(x2,y) -> ->_s0(mapf(x1,x2),mapf(x1,y)) # label(congruence) # label(non_clause).  [assumption].
33 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause).  [assumption].
34 (exists x13 exists x14 (->*_s0(empty(mapf(two,head(x13))),true) & ->*_s0(empty(mapf(three,head(x14))),true))) # label(goal) # label(non_clause) # label(goal).  [goal].
37 -->_s0(x,y) | ->_s0(empty(x),empty(y)) # label(congruence).  [clausify(3)].
45 -->_s0(x,y) | ->_s0(mapf(z,x),mapf(z,y)) # label(congruence).  [clausify(11)].
63 ->_s0(empty(nil),true) # label(replacement).  [assumption].
67 ->_s0(head(cons(x,y)),x) # label(replacement).  [assumption].
74 ->_s0(mapf(x,nil),nil) # label(replacement).  [assumption].
86 ->*_s0(x,x) # label(reflexivity).  [assumption].
87 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity).  [clausify(33)].
88 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(mapf(three,head(y))),true) # label(goal) # answer(goal).  [deny(34)].
278 ->_s0(mapf(x,head(cons(y,z))),mapf(x,y)).  [ur(45,a,67,a)].
461 ->_s0(empty(mapf(x,nil)),empty(nil)).  [ur(37,a,74,a)].
579 ->*_s0(empty(nil),true).  [ur(87,a,63,a,b,86,a)].
584 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(empty(mapf(three,head(y))),z) | -->*_s0(z,true) # answer(goal).  [resolve(88,b,87,c)].
616 -->*_s0(empty(mapf(two,head(x))),true) | -->*_s0(empty(y),true) | -->_s0(mapf(three,head(z)),y) # answer(goal).  [resolve(584,b,37,b)].
2060 ->*_s0(empty(mapf(x,nil)),true).  [ur(87,a,461,a,b,579,a)].
2088 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(mapf(three,head(y)),mapf(z,nil)) # answer(goal).  [resolve(2060,a,616,b)].
2153 -->*_s0(empty(mapf(two,head(x))),true) | -->_s0(head(y),nil) # answer(goal).  [resolve(2088,b,45,b)].
2155 -->*_s0(empty(mapf(two,head(x))),true) # answer(goal).  [resolve(2153,b,67,a)].
2157 -->_s0(empty(mapf(two,head(x))),empty(mapf(y,nil))) # answer(goal).  [ur(87,b,2060,a,c,2155,a)].
2372 -->_s0(mapf(two,head(x)),mapf(y,nil)) # answer(goal).  [resolve(2157,a,37,b)].
2373 $F # answer(goal).  [resolve(2372,a,278,a)].

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

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

Given=219. Generated=2386. Kept=2338. proofs=1.
Usable=155. Sos=2034. Demods=0. Limbo=0, Disabled=202. Hints=0.
Kept_by_rule=0, Deleted_by_rule=0.
Forward_subsumed=48. Back_subsumed=148.
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=300. Nonunit_bsub_feature_tests=926.
Megabytes=5.65.
User_CPU=0.06, System_CPU=0.00, Wall_clock=0.

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

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

THEOREM PROVED

Exiting with 1 proof.

Process 3174756 exit (max_proofs) Tue Jul 30 08:47:40 2024


The problem is feasible.