/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(),true()),x),y) -> y app(app(takeWhile(),p),nil()) -> nil() app(app(takeWhile(),p),app(app(cons(),x),xs)) -> app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(takeWhile(),p),xs))),nil()) app(app(dropWhile(),p),nil()) -> nil() app(app(dropWhile(),p),app(app(cons(),x),xs)) -> app(app(app(if(),app(p,x)),app(app(dropWhile(),p),xs)),app(app(cons(),x),xs)) Proof: Extended Uncurrying Processor: application symbol: app symbol table: dropWhile ==> dropWhile0/0 dropWhile1/1 dropWhile2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 takeWhile ==> takeWhile0/0 takeWhile1/1 takeWhile2/2 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(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) eta-rules: problem: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) DP Processor: DPs: takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) takeWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) dropWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) TDG Processor: DPs: takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) takeWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) dropWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) graph: dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) -> dropWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),dropWhile2(p,xs),cons2(x,xs)) dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) -> dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) -> dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) -> dropWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) -> dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) -> dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) -> takeWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) -> takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) -> takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) -> app#(if2(x4,x5),x6) -> if{3,#}(x4,x5,x6) takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) -> takeWhile{2,#}(p,cons2(x,xs)) -> if{3,#}(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) -> takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) -> takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) SCC Processor: #sccs: 1 #rules: 6 #arcs: 18/81 DPs: dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) app#(takeWhile1(x9),x10) -> takeWhile{2,#}(x9,x10) takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) app#(dropWhile1(x16),x17) -> dropWhile{2,#}(x16,x17) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) Subterm Criterion Processor: simple projection: pi(takeWhile{2,#}) = 0 pi(app#) = 0 pi(dropWhile{2,#}) = 0 problem: DPs: dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) dropWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) takeWhile{2,#}(p,cons2(x,xs)) -> app#(p,x) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) SCC Processor: #sccs: 2 #rules: 2 #arcs: 12/16 DPs: takeWhile{2,#}(p,cons2(x,xs)) -> takeWhile{2,#}(p,xs) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) Subterm Criterion Processor: simple projection: pi(takeWhile{2,#}) = 1 problem: DPs: TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) Qed DPs: dropWhile{2,#}(p,cons2(x,xs)) -> dropWhile{2,#}(p,xs) TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) Subterm Criterion Processor: simple projection: pi(dropWhile{2,#}) = 1 problem: DPs: TRS: if3(true0(),x,y) -> x if3(true0(),x,y) -> y takeWhile2(p,nil0()) -> nil0() takeWhile2(p,cons2(x,xs)) -> if3(app(p,x),cons2(x,takeWhile2(p,xs)),nil0()) dropWhile2(p,nil0()) -> nil0() dropWhile2(p,cons2(x,xs)) -> if3(app(p,x),dropWhile2(p,xs),cons2(x,xs)) app(if2(x4,x5),x6) -> if3(x4,x5,x6) app(if1(x4),x5) -> if2(x4,x5) app(if0(),x4) -> if1(x4) app(takeWhile1(x9),x10) -> takeWhile2(x9,x10) app(takeWhile0(),x9) -> takeWhile1(x9) app(cons1(x13),x14) -> cons2(x13,x14) app(cons0(),x13) -> cons1(x13) app(dropWhile1(x16),x17) -> dropWhile2(x16,x17) app(dropWhile0(),x16) -> dropWhile1(x16) Qed