/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: a(a(append(),nil()),ys) -> ys a(a(append(),a(a(cons(),x),xs)),ys) -> a(a(cons(),x),a(a(append(),xs),ys)) a(a(filter(),f),nil()) -> nil() a(a(filter(),f),a(a(cons(),x),xs)) -> a(a(a(if(),a(f,x)),x),a(a(filter(),f),xs)) a(a(le(),0()),y) -> true() a(a(le(),a(s(),x)),0()) -> false() a(a(le(),a(s(),x)),a(s(),y)) -> a(a(le(),x),y) a(a(a(if(),true()),x),xs) -> a(a(cons(),x),xs) a(a(a(if(),false()),x),xs) -> xs a(a(not(),f),b) -> a(not2(),a(f,b)) a(not2(),true()) -> false() a(not2(),false()) -> true() a(qs(),nil()) -> nil() a(qs(),a(a(cons(),x),xs)) -> a(a(append(),a(qs(),a(a(filter(),a(le(),x)),xs))),a(a(cons(),x),a(qs(), a( a(filter(),a(not(),a(le(),x))), xs)))) Proof: Extended Uncurrying Processor: application symbol: a symbol table: qs ==> qs0/0 qs1/1 not2 ==> not20/0 not21/1 not ==> not0/0 not1/1 not2/2 false ==> false0/0 s ==> s0/0 s1/1 true ==> true0/0 0 ==> 00/0 le ==> le0/0 le1/1 le2/2 if ==> if0/0 if1/1 if2/2 if3/3 filter ==> filter0/0 filter1/1 filter2/2 cons ==> cons0/0 cons1/1 cons2/2 nil ==> nil0/0 append ==> append0/0 append1/1 append2/2 uncurry-rules: a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) eta-rules: problem: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) DP Processor: DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) not{2,#}(f,b) -> a#(f,b) not{2,#}(f,b) -> not2{1,#}(a(f,b)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a#(append1(x6),x7) -> append{2,#}(x6,x7) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) a#(if2(x16,x17),x18) -> if{3,#}(x16,x17,x18) a#(le1(x20),x21) -> le{2,#}(x20,x21) a#(not1(x28),x29) -> not{2,#}(x28,x29) a#(not20(),x31) -> not2{1,#}(x31) a#(qs0(),x33) -> qs{1,#}(x33) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) TDG Processor: DPs: append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) not{2,#}(f,b) -> a#(f,b) not{2,#}(f,b) -> not2{1,#}(a(f,b)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a#(append1(x6),x7) -> append{2,#}(x6,x7) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) a#(if2(x16,x17),x18) -> if{3,#}(x16,x17,x18) a#(le1(x20),x21) -> le{2,#}(x20,x21) a#(not1(x28),x29) -> not{2,#}(x28,x29) a#(not20(),x31) -> not2{1,#}(x31) a#(qs0(),x33) -> qs{1,#}(x33) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) graph: qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) -> qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) -> qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) -> filter{2,#}(f,cons2(x,xs)) -> a#(f,x) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) -> filter{2,#}(f,cons2(x,xs)) -> a#(f,x) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) not{2,#}(f,b) -> a#(f,b) -> a#(qs0(),x33) -> qs{1,#}(x33) not{2,#}(f,b) -> a#(f,b) -> a#(not20(),x31) -> not2{1,#}(x31) not{2,#}(f,b) -> a#(f,b) -> a#(not1(x28),x29) -> not{2,#}(x28,x29) not{2,#}(f,b) -> a#(f,b) -> a#(le1(x20),x21) -> le{2,#}(x20,x21) not{2,#}(f,b) -> a#(f,b) -> a#(if2(x16,x17),x18) -> if{3,#}(x16,x17,x18) not{2,#}(f,b) -> a#(f,b) -> a#(filter1(x13),x14) -> filter{2,#}(x13,x14) not{2,#}(f,b) -> a#(f,b) -> a#(append1(x6),x7) -> append{2,#}(x6,x7) le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) -> le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) a#(qs0(),x33) -> qs{1,#}(x33) -> qs{1,#}(cons2(x,xs)) -> append{2,#}(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a#(qs0(),x33) -> qs{1,#}(x33) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) a#(qs0(),x33) -> qs{1,#}(x33) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) a#(qs0(),x33) -> qs{1,#}(x33) -> qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) a#(qs0(),x33) -> qs{1,#}(x33) -> qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) a#(not1(x28),x29) -> not{2,#}(x28,x29) -> not{2,#}(f,b) -> not2{1,#}(a(f,b)) a#(not1(x28),x29) -> not{2,#}(x28,x29) -> not{2,#}(f,b) -> a#(f,b) a#(le1(x20),x21) -> le{2,#}(x20,x21) -> le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) -> filter{2,#}(f,cons2(x,xs)) -> a#(f,x) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) a#(append1(x6),x7) -> append{2,#}(x6,x7) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(qs0(),x33) -> qs{1,#}(x33) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(not20(),x31) -> not2{1,#}(x31) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(not1(x28),x29) -> not{2,#}(x28,x29) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(le1(x20),x21) -> le{2,#}(x20,x21) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(if2(x16,x17),x18) -> if{3,#}(x16,x17,x18) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(filter1(x13),x14) -> filter{2,#}(x13,x14) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) -> a#(append1(x6),x7) -> append{2,#}(x6,x7) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> if{3,#}(a(f,x),x,filter2(f,xs)) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> a#(f,x) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) -> filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) -> append{2,#}(cons2(x,xs),ys) -> append{2,#}(xs,ys) SCC Processor: #sccs: 3 #rules: 12 #arcs: 48/361 DPs: qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(not1(le1(x)),xs)) qs{1,#}(cons2(x,xs)) -> filter{2,#}(not1(le1(x)),xs) filter{2,#}(f,cons2(x,xs)) -> filter{2,#}(f,xs) filter{2,#}(f,cons2(x,xs)) -> a#(f,x) a#(filter1(x13),x14) -> filter{2,#}(x13,x14) a#(not1(x28),x29) -> not{2,#}(x28,x29) not{2,#}(f,b) -> a#(f,b) a#(qs0(),x33) -> qs{1,#}(x33) qs{1,#}(cons2(x,xs)) -> filter{2,#}(le1(x),xs) qs{1,#}(cons2(x,xs)) -> qs{1,#}(filter2(le1(x),xs)) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) Subterm Criterion Processor: simple projection: pi(append1) = [0,0] pi(cons2) = [0,0,1,1] pi(filter1) = 0 pi(filter2) = [1,1] pi(if2) = [1,1] pi(if3) = [1,1,2,2] pi(filter{2,#}) = [1,1] pi(a#) = [1,1] pi(not{2,#}) = [1,1] pi(qs{1,#}) = 0 problem: DPs: a#(filter1(x13),x14) -> filter{2,#}(x13,x14) a#(not1(x28),x29) -> not{2,#}(x28,x29) not{2,#}(f,b) -> a#(f,b) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) SCC Processor: #sccs: 1 #rules: 2 #arcs: 27/9 DPs: not{2,#}(f,b) -> a#(f,b) a#(not1(x28),x29) -> not{2,#}(x28,x29) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) Size-Change Termination Processor: DPs: TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) The DP: not{2,#}(f,b) -> a#(f,b) has the edges: 0 >= 0 1 >= 1 The DP: a#(not1(x28),x29) -> not{2,#}(x28,x29) has the edges: 0 > 0 1 >= 1 Qed DPs: le{2,#}(s1(x),s1(y)) -> le{2,#}(x,y) TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) Subterm Criterion Processor: simple projection: pi(le{2,#}) = 0 problem: DPs: TRS: append2(nil0(),ys) -> ys append2(cons2(x,xs),ys) -> cons2(x,append2(xs,ys)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) 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)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) 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)) filter2(f,nil0()) -> nil0() filter2(f,cons2(x,xs)) -> if3(a(f,x),x,filter2(f,xs)) le2(00(),y) -> true0() le2(s1(x),00()) -> false0() le2(s1(x),s1(y)) -> le2(x,y) if3(true0(),x,xs) -> cons2(x,xs) if3(false0(),x,xs) -> xs not2(f,b) -> not21(a(f,b)) not21(true0()) -> false0() not21(false0()) -> true0() qs1(nil0()) -> nil0() qs1(cons2(x,xs)) -> append2(qs1(filter2(le1(x),xs)),cons2(x,qs1(filter2(not1(le1(x)),xs)))) a(append1(x6),x7) -> append2(x6,x7) a(append0(),x6) -> append1(x6) a(cons1(x10),x11) -> cons2(x10,x11) a(cons0(),x10) -> cons1(x10) a(filter1(x13),x14) -> filter2(x13,x14) a(filter0(),x13) -> filter1(x13) a(if2(x16,x17),x18) -> if3(x16,x17,x18) a(if1(x16),x17) -> if2(x16,x17) a(if0(),x16) -> if1(x16) a(le1(x20),x21) -> le2(x20,x21) a(le0(),x20) -> le1(x20) a(s0(),x25) -> s1(x25) a(not1(x28),x29) -> not2(x28,x29) a(not0(),x28) -> not1(x28) a(not20(),x31) -> not21(x31) a(qs0(),x33) -> qs1(x33) Qed