/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(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) Proof: Extended Uncurrying Processor: application symbol: app symbol table: append ==> append0/0 append1/1 append2/2 concat ==> concat0/0 concat1/1 node ==> node0/0 node1/1 node2/2 flatten ==> flatten0/0 flatten1/1 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 map ==> map0/0 map1/1 map2/2 uncurry-rules: app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) eta-rules: problem: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) DP Processor: DPs: map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) flatten{1,#}(node2(x,xs)) -> concat{1,#}(map2(flatten0(),xs)) concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(map1(x4),x5) -> map{2,#}(x4,x5) app#(flatten0(),x11) -> flatten{1,#}(x11) app#(concat0(),x16) -> concat{1,#}(x16) app#(append1(x18),x19) -> append{2,#}(x18,x19) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) TDG Processor: DPs: map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) flatten{1,#}(node2(x,xs)) -> concat{1,#}(map2(flatten0(),xs)) concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(map1(x4),x5) -> map{2,#}(x4,x5) app#(flatten0(),x11) -> flatten{1,#}(x11) app#(concat0(),x16) -> concat{1,#}(x16) app#(append1(x18),x19) -> append{2,#}(x18,x19) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) graph: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) -> concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) -> concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) flatten{1,#}(node2(x,xs)) -> concat{1,#}(map2(flatten0(),xs)) -> concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) flatten{1,#}(node2(x,xs)) -> concat{1,#}(map2(flatten0(),xs)) -> concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) app#(append1(x18),x19) -> append{2,#}(x18,x19) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(concat0(),x16) -> concat{1,#}(x16) -> concat{1,#}(cons2(x,xs)) -> append{2,#}(x,concat1(xs)) app#(concat0(),x16) -> concat{1,#}(x16) -> concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) app#(flatten0(),x11) -> flatten{1,#}(x11) -> flatten{1,#}(node2(x,xs)) -> concat{1,#}(map2(flatten0(),xs)) app#(flatten0(),x11) -> flatten{1,#}(x11) -> flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) app#(map1(x4),x5) -> map{2,#}(x4,x5) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) app#(map1(x4),x5) -> map{2,#}(x4,x5) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(append1(x18),x19) -> append{2,#}(x18,x19) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(concat0(),x16) -> concat{1,#}(x16) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(flatten0(),x11) -> flatten{1,#}(x11) map{2,#}(f,cons2(x,xs)) -> app#(f,x) -> app#(map1(x4),x5) -> map{2,#}(x4,x5) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) -> map{2,#}(f,cons2(x,xs)) -> app#(f,x) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) -> map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) SCC Processor: #sccs: 3 #rules: 7 #arcs: 21/121 DPs: flatten{1,#}(node2(x,xs)) -> map{2,#}(flatten0(),xs) map{2,#}(f,cons2(x,xs)) -> map{2,#}(f,xs) map{2,#}(f,cons2(x,xs)) -> app#(f,x) app#(map1(x4),x5) -> map{2,#}(x4,x5) app#(flatten0(),x11) -> flatten{1,#}(x11) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) Subterm Criterion Processor: simple projection: pi(map{2,#}) = 1 pi(app#) = 1 pi(flatten{1,#}) = 0 problem: DPs: app#(map1(x4),x5) -> map{2,#}(x4,x5) app#(flatten0(),x11) -> flatten{1,#}(x11) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) SCC Processor: #sccs: 0 #rules: 0 #arcs: 9/4 DPs: concat{1,#}(cons2(x,xs)) -> concat{1,#}(xs) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) Subterm Criterion Processor: simple projection: pi(concat{1,#}) = 0 problem: DPs: TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) Qed DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) Subterm Criterion Processor: simple projection: pi(append{2,#}) = 0 problem: DPs: TRS: map2(f,nil0()) -> nil0() map2(f,cons2(x,xs)) -> cons2(app(f,x),map2(f,xs)) flatten1(node2(x,xs)) -> cons2(x,concat1(map2(flatten0(),xs))) concat1(nil0()) -> nil0() concat1(cons2(x,xs)) -> append2(x,concat1(xs)) append2(nil0(),xs) -> xs append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) app(map1(x4),x5) -> map2(x4,x5) app(map0(),x4) -> map1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatten0(),x11) -> flatten1(x11) app(node1(x13),x14) -> node2(x13,x14) app(node0(),x13) -> node1(x13) app(concat0(),x16) -> concat1(x16) app(append1(x18),x19) -> append2(x18,x19) app(append0(),x18) -> append1(x18) Qed