/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(append(),nil()),ys) -> ys app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) app(app(flatwith(),f),app(leaf(),x)) -> app(app(cons(),app(f,x)),nil()) app(app(flatwith(),f),app(node(),xs)) -> app(app(flatwithsub(),f),xs) app(app(flatwithsub(),f),nil()) -> nil() app(app(flatwithsub(),f),app(app(cons(),x),xs)) -> app(app(append(),app(app(flatwith(),f),x)),app(app(flatwithsub(),f),xs)) Proof: Extended Uncurrying Processor: application symbol: app symbol table: flatwithsub ==> flatwithsub0/0 flatwithsub1/1 flatwithsub2/2 node ==> node0/0 node1/1 leaf ==> leaf0/0 leaf1/1 flatwith ==> flatwith0/0 flatwith1/1 flatwith2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 append ==> append0/0 append1/1 append2/2 uncurry-rules: app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) eta-rules: problem: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) DP Processor: DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) app#(append1(x4),x5) -> append{2,#}(x4,x5) app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) TDG Processor: DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) app#(append1(x4),x5) -> append{2,#}(x4,x5) app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) graph: flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) -> flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) -> flatwith{2,#}(f,leaf1(x)) -> app#(f,x) flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) -> flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) -> flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) -> flatwith{2,#}(f,leaf1(x)) -> app#(f,x) app#(append1(x4),x5) -> append{2,#}(x4,x5) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> append{2,#}(flatwith2(f,x),flatwithsub2(f,xs)) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) -> flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) -> app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) -> app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) -> app#(append1(x4),x5) -> append{2,#}(x4,x5) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) SCC Processor: #sccs: 2 #rules: 7 #arcs: 19/81 DPs: flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) app#(flatwith1(x11),x12) -> flatwith{2,#}(x11,x12) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) app#(flatwithsub1(x18),x19) -> flatwithsub{2,#}(x18,x19) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) Subterm Criterion Processor: simple projection: pi(flatwith{2,#}) = 0 pi(app#) = 0 pi(flatwithsub{2,#}) = 0 problem: DPs: flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwith{2,#}(f,leaf1(x)) -> app#(f,x) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) SCC Processor: #sccs: 1 #rules: 3 #arcs: 12/16 DPs: flatwithsub{2,#}(f,cons2(x,xs)) -> flatwithsub{2,#}(f,xs) flatwithsub{2,#}(f,cons2(x,xs)) -> flatwith{2,#}(f,x) flatwith{2,#}(f,node1(xs)) -> flatwithsub{2,#}(f,xs) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) Subterm Criterion Processor: simple projection: pi(flatwith{2,#}) = 1 pi(flatwithsub{2,#}) = 1 problem: DPs: TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) Qed DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) Subterm Criterion Processor: simple projection: pi(append{2,#}) = 0 problem: DPs: TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) flatwith2(f,leaf1(x)) -> cons2(app(f,x),nil0()) flatwith2(f,node1(xs)) -> flatwithsub2(f,xs) flatwithsub2(f,nil0()) -> nil0() flatwithsub2(f,cons2(x,xs)) -> append2(flatwith2(f,x),flatwithsub2(f,xs)) app(append1(x4),x5) -> append2(x4,x5) app(append0(),x4) -> append1(x4) app(cons1(x8),x9) -> cons2(x8,x9) app(cons0(),x8) -> cons1(x8) app(flatwith1(x11),x12) -> flatwith2(x11,x12) app(flatwith0(),x11) -> flatwith1(x11) app(leaf0(),x14) -> leaf1(x14) app(node0(),x16) -> node1(x16) app(flatwithsub1(x18),x19) -> flatwithsub2(x18,x19) app(flatwithsub0(),x18) -> flatwithsub1(x18) Qed