/export/starexec/sandbox2/solver/bin/starexec_run_ttt2-1.17+nonreach /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Problem: app(app(app(if(),true()),xs),ys) -> xs app(app(app(if(),false()),xs),ys) -> ys app(app(sub(),x),0()) -> x app(app(sub(),app(s(),x)),app(s(),y)) -> app(app(sub(),x),y) app(app(gtr(),0()),y) -> false() app(app(gtr(),app(s(),x)),0()) -> true() app(app(gtr(),app(s(),x)),app(s(),y)) -> app(app(gtr(),x),y) app(app(d(),x),0()) -> true() app(app(d(),app(s(),x)),app(s(),y)) -> app(app(app(if(),app(app(gtr(),x),y)),false()),app(app(d(),app(s(),x)),app(app(sub(),y),x))) app(len(),nil()) -> 0() app(len(),app(app(cons(),x),xs)) -> app(s(),app(len(),xs)) app(app(filter(),p),nil()) -> nil() app(app(filter(),p),app(app(cons(),x),xs)) -> app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(filter(),p),xs))),app(app(filter(),p),xs)) Proof: Extended Uncurrying Processor: application symbol: app symbol table: filter ==> filter0/0 filter1/1 filter2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 len ==> len0/0 len1/1 d ==> d0/0 d1/1 d2/2 gtr ==> gtr0/0 gtr1/1 gtr2/2 s ==> s0/0 s1/1 0 ==> 00/0 sub ==> sub0/0 sub1/1 sub2/2 false ==> false0/0 true ==> true0/0 if ==> if0/0 if1/1 if2/2 if3/3 uncurry-rules: app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) eta-rules: problem: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) DP Processor: DPs: sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> sub{2,#}(y,x) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) d{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> if{3,#}(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len{1,#}(cons2(x,xs)) -> len{1,#}(xs) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) filter{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app#(if2(x5,x6),x7) -> if{3,#}(x5,x6,x7) app#(sub1(x11),x12) -> sub{2,#}(x11,x12) app#(gtr1(x17),x18) -> gtr{2,#}(x17,x18) app#(d1(x20),x21) -> d{2,#}(x20,x21) app#(len0(),x23) -> len{1,#}(x23) app#(filter1(x29),x30) -> filter{2,#}(x29,x30) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) TDG Processor: DPs: sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> sub{2,#}(y,x) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) d{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> if{3,#}(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len{1,#}(cons2(x,xs)) -> len{1,#}(xs) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) filter{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app#(if2(x5,x6),x7) -> if{3,#}(x5,x6,x7) app#(sub1(x11),x12) -> sub{2,#}(x11,x12) app#(gtr1(x17),x18) -> gtr{2,#}(x17,x18) app#(d1(x20),x21) -> d{2,#}(x20,x21) app#(len0(),x23) -> len{1,#}(x23) app#(filter1(x29),x30) -> filter{2,#}(x29,x30) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) graph: app#(filter1(x29),x30) -> filter{2,#}(x29,x30) -> filter{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app#(filter1(x29),x30) -> filter{2,#}(x29,x30) -> filter{2,#}(p,cons2(x,xs)) -> app#(p,x) app#(filter1(x29),x30) -> filter{2,#}(x29,x30) -> filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) app#(len0(),x23) -> len{1,#}(x23) -> len{1,#}(cons2(x,xs)) -> len{1,#}(xs) app#(d1(x20),x21) -> d{2,#}(x20,x21) -> d{2,#}(s1(x),s1(y)) -> if{3,#}(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) app#(d1(x20),x21) -> d{2,#}(x20,x21) -> d{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) app#(d1(x20),x21) -> d{2,#}(x20,x21) -> d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) app#(d1(x20),x21) -> d{2,#}(x20,x21) -> d{2,#}(s1(x),s1(y)) -> sub{2,#}(y,x) app#(gtr1(x17),x18) -> gtr{2,#}(x17,x18) -> gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) app#(sub1(x11),x12) -> sub{2,#}(x11,x12) -> sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(filter1(x29),x30) -> filter{2,#}(x29,x30) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(len0(),x23) -> len{1,#}(x23) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(d1(x20),x21) -> d{2,#}(x20,x21) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(gtr1(x17),x18) -> gtr{2,#}(x17,x18) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(sub1(x11),x12) -> sub{2,#}(x11,x12) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(if2(x5,x6),x7) -> if{3,#}(x5,x6,x7) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) -> filter{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) -> filter{2,#}(p,cons2(x,xs)) -> app#(p,x) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) -> filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) len{1,#}(cons2(x,xs)) -> len{1,#}(xs) -> len{1,#}(cons2(x,xs)) -> len{1,#}(xs) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) -> d{2,#}(s1(x),s1(y)) -> if{3,#}(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) -> d{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) -> d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) -> d{2,#}(s1(x),s1(y)) -> sub{2,#}(y,x) d{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) -> gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) d{2,#}(s1(x),s1(y)) -> sub{2,#}(y,x) -> sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) -> gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) -> sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) SCC Processor: #sccs: 5 #rules: 7 #arcs: 28/256 DPs: app#(filter1(x29),x30) -> filter{2,#}(x29,x30) filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(filter{2,#}) = 0 pi(app#) = 0 problem: DPs: filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) filter{2,#}(p,cons2(x,xs)) -> app#(p,x) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) SCC Processor: #sccs: 1 #rules: 1 #arcs: 5/4 DPs: filter{2,#}(p,cons2(x,xs)) -> filter{2,#}(p,xs) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(filter{2,#}) = 1 problem: DPs: TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Qed DPs: len{1,#}(cons2(x,xs)) -> len{1,#}(xs) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(len{1,#}) = 0 problem: DPs: TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Qed DPs: d{2,#}(s1(x),s1(y)) -> d{2,#}(s1(x),sub2(y,x)) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(sub2) = 0 pi(d{2,#}) = 1 problem: DPs: TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Qed DPs: gtr{2,#}(s1(x),s1(y)) -> gtr{2,#}(x,y) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(gtr{2,#}) = 0 problem: DPs: TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Qed DPs: sub{2,#}(s1(x),s1(y)) -> sub{2,#}(x,y) TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Subterm Criterion Processor: simple projection: pi(sub{2,#}) = 0 problem: DPs: TRS: if3(true0(),xs,ys) -> xs if3(false0(),xs,ys) -> ys sub2(x,00()) -> x sub2(s1(x),s1(y)) -> sub2(x,y) gtr2(00(),y) -> false0() gtr2(s1(x),00()) -> true0() gtr2(s1(x),s1(y)) -> gtr2(x,y) d2(x,00()) -> true0() d2(s1(x),s1(y)) -> if3(gtr2(x,y),false0(),d2(s1(x),sub2(y,x))) len1(nil0()) -> 00() len1(cons2(x,xs)) -> s1(len1(xs)) filter2(p,nil0()) -> nil0() filter2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,filter2(p,xs)),filter2(p,xs)) app(if2(x5,x6),x7) -> if3(x5,x6,x7) app(if1(x5),x6) -> if2(x5,x6) app(if0(),x5) -> if1(x5) app(sub1(x11),x12) -> sub2(x11,x12) app(sub0(),x11) -> sub1(x11) app(s0(),x15) -> s1(x15) app(gtr1(x17),x18) -> gtr2(x17,x18) app(gtr0(),x17) -> gtr1(x17) app(d1(x20),x21) -> d2(x20,x21) app(d0(),x20) -> d1(x20) app(len0(),x23) -> len1(x23) app(cons1(x26),x27) -> cons2(x26,x27) app(cons0(),x26) -> cons1(x26) app(filter1(x29),x30) -> filter2(x29,x30) app(filter0(),x29) -> filter1(x29) Qed