/export/starexec/sandbox/solver/bin/starexec_run_ttt2-1.17+nonreach /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem: app(app(app(if(),true()),x),y) -> x app(app(app(if(),false()),x),y) -> y app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(if(),app(f,x)),app(app(cons(),x),app(app(filter(),f),xs))),app(app(filter(),f),xs)) Proof: Extended Uncurrying Processor: application symbol: app symbol table: cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 filter ==> filter0/0 filter1/1 filter2/2 false ==> false0/0 true ==> true0/0 if ==> if0/0 if1/1 if2/2 if3/3 uncurry-rules: app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) eta-rules: problem: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) DP Processor: DPs: filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) filter{2,#}(f,cons2(x,xs)) -> if{3,#}(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) app#(filter1(x10),x11) -> filter{2,#}(x10,x11) TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) TDG Processor: DPs: filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) filter{2,#}(f,cons2(x,xs)) -> if{3,#}(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) app#(filter1(x10),x11) -> filter{2,#}(x10,x11) TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) graph: app#(filter1(x10),x11) -> filter{2,#}(x10,x11) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app#(filter1(x10),x11) -> filter{2,#}(x10,x11) -> filter{2,#}(f,cons2(x,xs)) -> app#(f,x) app#(filter1(x10),x11) -> filter{2,#}(x10,x11) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(filter1(x10),x11) -> filter{2,#}(x10,x11) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> app#(f,x) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) SCC Processor: #sccs: 1 #rules: 3 #arcs: 8/25 DPs: app#(filter1(x10),x11) -> filter{2,#}(x10,x11) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) Subterm Criterion Processor: simple projection: pi(filter{2,#}) = 0 pi(app#) = 0 problem: DPs: filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> app#(f,x) TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) SCC Processor: #sccs: 1 #rules: 1 #arcs: 5/4 DPs: filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) Subterm Criterion Processor: simple projection: pi(filter{2,#}) = 1 problem: DPs: TRS: if3(true0(),x,y) -> x if3(false0(),x,y) -> y filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(app(f,x),cons2(x,filter2(f,xs)),filter2(f,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(filter1(x10),x11) -> filter2(x10,x11) app(filter0(),x10) -> filter1(x10) app(cons1(x14),x15) -> cons2(x14,x15) app(cons0(),x14) -> cons1(x14) Qed