/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(f(),0()) -> true() app(f(),1()) -> false() app(f(),app(s(),x)) -> app(f(),x) app(app(app(if(),true()),app(s(),x)),app(s(),y)) -> app(s(),x) app(app(app(if(),false()),app(s(),x)),app(s(),y)) -> app(s(),y) app(app(g(),x),app(c(),y)) -> app(c(),app(app(g(),x),y)) app(app(g(),x),app(c(),y)) -> app(app(g(),x),app(app(app(if(),app(f(),x)),app(c(),app(app(g(),app(s(),x)),y))),app(c(),y))) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Proof: Extended Uncurrying Processor: application symbol: app symbol table: filter2 ==> filter20/0 filter21/1 filter22/2 filter23/3 filter24/4 filter ==> filter0/0 filter1/1 filter2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 map ==> map0/0 map1/1 map2/2 c ==> c0/0 c1/1 g ==> g0/0 g1/1 g2/2 if ==> if0/0 if1/1 if2/2 if3/3 s ==> s0/0 s1/1 false ==> false0/0 1 ==> 10/0 true ==> true0/0 0 ==> 00/0 f ==> f0/0 f1/1 uncurry-rules: app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) eta-rules: problem: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) DP Processor: DPs: f{1,#}(s1(x)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) app#(f0(),x4) -> f{1,#}(x4) app#(if2(x12,x13),x14) -> if{3,#}(x12,x13,x14) app#(g1(x16),x17) -> g{2,#}(x16,x17) app#(map1(x21),x22) -> map{2,#}(x21,x22) app#(filter1(x28),x29) -> filter{2,#}(x28,x29) app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) TDG Processor: DPs: f{1,#}(s1(x)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) app#(f0(),x4) -> f{1,#}(x4) app#(if2(x12,x13),x14) -> if{3,#}(x12,x13,x14) app#(g1(x16),x17) -> g{2,#}(x16,x17) app#(map1(x21),x22) -> map{2,#}(x21,x22) app#(filter1(x28),x29) -> filter{2,#}(x28,x29) app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) graph: filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) -> filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) -> filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) -> filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) -> filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) -> filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) -> filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(filter1(x28),x29) -> filter{2,#}(x28,x29) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(map1(x21),x22) -> map{2,#}(x21,x22) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(g1(x16),x17) -> g{2,#}(x16,x17) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(if2(x12,x13),x14) -> if{3,#}(x12,x13,x14) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(f0(),x4) -> f{1,#}(x4) app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) -> filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) -> filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) app#(filter1(x28),x29) -> filter{2,#}(x28,x29) -> filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) app#(filter1(x28),x29) -> filter{2,#}(x28,x29) -> filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) app#(map1(x21),x22) -> map{2,#}(x21,x22) -> map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) app#(map1(x21),x22) -> map{2,#}(x21,x22) -> map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) app#(g1(x16),x17) -> g{2,#}(x16,x17) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) app#(g1(x16),x17) -> g{2,#}(x16,x17) -> g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) app#(g1(x16),x17) -> g{2,#}(x16,x17) -> g{2,#}(x,c1(y)) -> f{1,#}(x) app#(g1(x16),x17) -> g{2,#}(x16,x17) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) app#(g1(x16),x17) -> g{2,#}(x16,x17) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) app#(f0(),x4) -> f{1,#}(x4) -> f{1,#}(s1(x)) -> f{1,#}(x) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(filter1(x28),x29) -> filter{2,#}(x28,x29) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(map1(x21),x22) -> map{2,#}(x21,x22) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(g1(x16),x17) -> g{2,#}(x16,x17) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(if2(x12,x13),x14) -> if{3,#}(x12,x13,x14) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) -> app#(f0(),x4) -> f{1,#}(x4) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) -> map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) -> map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) -> g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) -> g{2,#}(x,c1(y)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> if{3,#}(f1(x),c1(g2(s1(x),y)),c1(y)) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> f{1,#}(x) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> f{1,#}(x) -> f{1,#}(s1(x)) -> f{1,#}(x) f{1,#}(s1(x)) -> f{1,#}(x) -> f{1,#}(s1(x)) -> f{1,#}(x) SCC Processor: #sccs: 3 #rules: 13 #arcs: 49/324 DPs: filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) app#(map1(x21),x22) -> map{2,#}(x21,x22) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) app#(filter1(x28),x29) -> filter{2,#}(x28,x29) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) app#(filter23(x31,x32,x33),x34) -> filter2{4,#}(x31,x32,x33,x34) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Subterm Criterion Processor: simple projection: pi(map{2,#}) = 0 pi(app#) = 0 pi(filter{2,#}) = 0 pi(filter2{4,#}) = 1 problem: DPs: filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) filter{2,#}(fun,cons2(x,xs)) -> app#(fun,x) map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) map{2,#}(fun,cons2(x,xs)) -> app#(fun,x) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) SCC Processor: #sccs: 2 #rules: 4 #arcs: 20/36 DPs: map{2,#}(fun,cons2(x,xs)) -> map{2,#}(fun,xs) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Subterm Criterion Processor: simple projection: pi(map{2,#}) = 1 problem: DPs: TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Qed DPs: filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) filter{2,#}(fun,cons2(x,xs)) -> filter2{4,#}(app(fun,x),fun,x,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Subterm Criterion Processor: simple projection: pi(filter{2,#}) = 1 pi(filter2{4,#}) = 3 problem: DPs: filter2{4,#}(false0(),fun,x,xs) -> filter{2,#}(fun,xs) filter2{4,#}(true0(),fun,x,xs) -> filter{2,#}(fun,xs) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) SCC Processor: #sccs: 0 #rules: 0 #arcs: 4/4 DPs: g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) EDG Processor: DPs: g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) graph: g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,y) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,y) -> g{2,#}(x,c1(y)) -> g{2,#}(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) SCC Processor: #sccs: 1 #rules: 2 #arcs: 6/9 DPs: g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) g{2,#}(x,c1(y)) -> g{2,#}(x,y) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Size-Change Termination Processor: DPs: TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) The DP: g{2,#}(x,c1(y)) -> g{2,#}(s1(x),y) has the edges: 1 > 1 The DP: g{2,#}(x,c1(y)) -> g{2,#}(x,y) has the edges: 0 >= 0 1 > 1 Qed DPs: f{1,#}(s1(x)) -> f{1,#}(x) TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Subterm Criterion Processor: simple projection: pi(f{1,#}) = 0 problem: DPs: TRS: f1(00()) -> true0() f1(10()) -> false0() f1(s1(x)) -> f1(x) if3(true0(),s1(x),s1(y)) -> s1(x) if3(false0(),s1(x),s1(y)) -> s1(y) g2(x,c1(y)) -> c1(g2(x,y)) g2(x,c1(y)) -> g2(x,if3(f1(x),c1(g2(s1(x),y)),c1(y))) map2(fun,nil0()) -> nil0() map2(fun,cons2(x,xs)) -> cons2(app(fun,x),map2(fun,xs)) filter2(fun,nil0()) -> nil0() filter2(fun,cons2(x,xs)) -> filter24(app(fun,x),fun,x,xs) filter24(true0(),fun,x,xs) -> cons2(x,filter2(fun,xs)) filter24(false0(),fun,x,xs) -> filter2(fun,xs) app(f0(),x4) -> f1(x4) app(s0(),x10) -> s1(x10) app(if2(x12,x13),x14) -> if3(x12,x13,x14) app(if1(x12),x13) -> if2(x12,x13) app(if0(),x12) -> if1(x12) app(g1(x16),x17) -> g2(x16,x17) app(g0(),x16) -> g1(x16) app(c0(),x19) -> c1(x19) app(map1(x21),x22) -> map2(x21,x22) app(map0(),x21) -> map1(x21) app(cons1(x25),x26) -> cons2(x25,x26) app(cons0(),x25) -> cons1(x25) app(filter1(x28),x29) -> filter2(x28,x29) app(filter0(),x28) -> filter1(x28) app(filter23(x31,x32,x33),x34) -> filter24(x31,x32,x33,x34) app(filter22(x31,x32),x33) -> filter23(x31,x32,x33) app(filter21(x31),x32) -> filter22(x31,x32) app(filter20(),x31) -> filter21(x31) Qed