YES Problem: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) Proof: DP Processor: DPs: ap#(ap(ff(),x),x) -> ap#(cons(),x) ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) TRS: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) EDG Processor: DPs: ap#(ap(ff(),x),x) -> ap#(cons(),x) ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) TRS: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) graph: ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) -> ap#(ap(ff(),x),x) -> ap#(cons(),x) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) -> ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) -> ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) -> ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(cons(),x) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) CDG Processor: DPs: ap#(ap(ff(),x),x) -> ap#(cons(),x) ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) TRS: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) graph: ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(ap(cons(),x),nil()) ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) -> ap#(ap(ff(),x),x) -> ap#(cons(),x) SCC Processor: #sccs: 1 #rules: 1 #arcs: 4/16 DPs: ap#(ap(ff(),x),x) -> ap#(x,ap(ff(),x)) TRS: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) Matrix Interpretation Processor: dim=2 interpretation: [ap#](x0, x1) = [1 0]x0, [0] [nil] = [0], [0] [cons] = [0], [0 1] [2 0] [ap](x0, x1) = [0 0]x0 + [0 0]x1, [0] [ff] = [1] orientation: ap#(ap(ff(),x),x) = [2 0]x + [1] >= [1 0]x = ap#(x,ap(ff(),x)) [2 0] [0] ap(ap(ff(),x),x) = [0 0]x >= [0] = ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) problem: DPs: TRS: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) Qed