f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
F(x, f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
L1(f(s(s(y)), f(z, w))) → L1(f(s(0), f(y, f(s(z), w))))
L1(f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
F(x, f(s(s(y)), nil)) → F(s(0), nil)
F(x, f(s(s(y)), nil)) → F(s(x), f(y, f(s(0), nil)))
L1(f(s(s(y)), f(z, w))) → F(s(z), w)
F(x, f(s(s(y)), f(z, w))) → F(s(z), w)
F(x, f(s(s(y)), f(z, w))) → F(s(x), f(y, f(s(z), w)))
F(x, f(s(s(y)), nil)) → F(y, f(s(0), nil))
L1(f(s(s(y)), f(z, w))) → F(s(0), f(y, f(s(z), w)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
F(x, f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
L1(f(s(s(y)), f(z, w))) → L1(f(s(0), f(y, f(s(z), w))))
L1(f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
F(x, f(s(s(y)), nil)) → F(s(0), nil)
F(x, f(s(s(y)), nil)) → F(s(x), f(y, f(s(0), nil)))
L1(f(s(s(y)), f(z, w))) → F(s(z), w)
F(x, f(s(s(y)), f(z, w))) → F(s(z), w)
F(x, f(s(s(y)), f(z, w))) → F(s(x), f(y, f(s(z), w)))
F(x, f(s(s(y)), nil)) → F(y, f(s(0), nil))
L1(f(s(s(y)), f(z, w))) → F(s(0), f(y, f(s(z), w)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
F(x, f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
F(x, f(s(s(y)), nil)) → F(s(x), f(y, f(s(0), nil)))
F(x, f(s(s(y)), f(z, w))) → F(s(z), w)
F(x, f(s(s(y)), f(z, w))) → F(s(x), f(y, f(s(z), w)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
F(x, f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
F(x, f(s(s(y)), nil)) → F(s(x), f(y, f(s(0), nil)))
F(x, f(s(s(y)), f(z, w))) → F(s(x), f(y, f(s(z), w)))
F(x, f(s(s(y)), f(z, w))) → F(s(z), w)
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
F(x, f(s(s(y)), f(z, w))) → F(y, f(s(z), w))
F(x, f(s(s(y)), nil)) → F(s(x), f(y, f(s(0), nil)))
F(x, f(s(s(y)), f(z, w))) → F(s(x), f(y, f(s(z), w)))
F(x, f(s(s(y)), f(z, w))) → F(s(z), w)
POL(0) = 0
POL(F(x1, x2)) = x1 + x2
POL(f(x1, x2)) = 2·x1 + x2
POL(nil) = 2
POL(s(x1)) = 1 + x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ PisEmptyProof
↳ QDP
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
L1(f(s(s(y)), f(z, w))) → L1(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L(f(s(s(y)), f(z, w))) → L(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
L1(f(s(s(y)), f(z, w))) → L1(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
L1(f(s(s(x0)), f(s(x1), f(x2, x3)))) → L1(f(s(0), f(s(x0), f(x1, f(s(x2), x3)))))
L1(f(s(s(x0)), f(s(x1), nil))) → L1(f(s(0), f(s(x0), f(x1, f(s(0), nil)))))
L1(f(s(s(y0)), f(y1, f(s(s(x1)), f(x2, x3))))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(x2), x3))))))
L1(f(s(s(s(s(x1)))), f(y1, x3))) → L1(f(s(s(0)), f(x1, f(s(s(y1)), x3))))
L1(f(s(s(y0)), f(y1, f(s(s(x1)), nil)))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(0), nil))))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
L1(f(s(s(x0)), f(s(x1), nil))) → L1(f(s(0), f(s(x0), f(x1, f(s(0), nil)))))
L1(f(s(s(y0)), f(y1, f(s(s(x1)), f(x2, x3))))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(x2), x3))))))
L1(f(s(s(s(s(x1)))), f(y1, x3))) → L1(f(s(s(0)), f(x1, f(s(s(y1)), x3))))
L1(f(s(s(x0)), f(s(x1), f(x2, x3)))) → L1(f(s(0), f(s(x0), f(x1, f(s(x2), x3)))))
L1(f(s(s(y0)), f(y1, f(s(s(x1)), nil)))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(0), nil))))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ UsableRulesProof
L1(f(s(s(y0)), f(y1, f(s(s(x1)), f(x2, x3))))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(x2), x3))))))
L1(f(s(s(s(s(x1)))), f(y1, x3))) → L1(f(s(s(0)), f(x1, f(s(s(y1)), x3))))
L1(f(s(s(x0)), f(s(x1), f(x2, x3)))) → L1(f(s(0), f(s(x0), f(x1, f(s(x2), x3)))))
L1(f(s(s(y0)), f(y1, f(s(s(x1)), nil)))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(0), nil))))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
L1(f(s(s(y0)), f(y1, f(s(s(x1)), nil)))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(0), nil))))))
Used ordering: Polynomial interpretation [25,35]:
L1(f(s(s(y0)), f(y1, f(s(s(x1)), f(x2, x3))))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(x2), x3))))))
L1(f(s(s(s(s(x1)))), f(y1, x3))) → L1(f(s(s(0)), f(x1, f(s(s(y1)), x3))))
L1(f(s(s(x0)), f(s(x1), f(x2, x3)))) → L1(f(s(0), f(s(x0), f(x1, f(s(x2), x3)))))
The value of delta used in the strict ordering is 675/16384.
POL(L1(x1)) = (3/4)x_1
POL(f(x1, x2)) = (1/4)x_2
POL(s(x1)) = 11/4
POL(0) = 15/4
POL(nil) = 15/4
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ UsableRulesProof
L1(f(s(s(y0)), f(y1, f(s(s(x1)), f(x2, x3))))) → L1(f(s(0), f(y0, f(s(s(y1)), f(x1, f(s(x2), x3))))))
L1(f(s(s(s(s(x1)))), f(y1, x3))) → L1(f(s(s(0)), f(x1, f(s(s(y1)), x3))))
L1(f(s(s(x0)), f(s(x1), f(x2, x3)))) → L1(f(s(0), f(s(x0), f(x1, f(s(x2), x3)))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
L1(f(s(s(y)), f(z, w))) → L1(f(s(0), f(y, f(s(z), w))))
f(x, f(s(s(y)), nil)) → f(s(x), f(y, f(s(0), nil)))
f(x, f(s(s(y)), f(z, w))) → f(s(x), f(y, f(s(z), w)))