(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

Q is empty.

(1) AAECC Innermost (EQUIVALENT transformation)

We have applied [NOC,AAECCNOC] to switch to innermost. The TRS R 1 is

gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The TRS R 2 is

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))

The signature Sigma is {f}

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(true, x, y) → F(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
F(true, x, y) → AND(gt(x, y), gt(y, s(s(0))))
F(true, x, y) → GT(x, y)
F(true, x, y) → GT(y, s(s(0)))
F(true, x, y) → PLUS(s(0), x)
F(true, x, y) → DOUBLE(y)
GT(s(u), s(v)) → GT(u, v)
PLUS(n, s(m)) → PLUS(n, m)
DOUBLE(s(x)) → DOUBLE(x)

The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 5 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Q DP problem:
The TRS P consists of the following rules:

DOUBLE(s(x)) → DOUBLE(x)

The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(8) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


DOUBLE(s(x)) → DOUBLE(x)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
DOUBLE(x1)  =  DOUBLE(x1)
s(x1)  =  s(x1)
f(x1, x2, x3)  =  f
true  =  true
and(x1, x2)  =  and(x1, x2)
gt(x1, x2)  =  gt
0  =  0
plus(x1, x2)  =  plus(x1, x2)
double(x1)  =  double(x1)
false  =  false

Recursive path order with status [RPO].
Quasi-Precedence:
[true, gt, plus2] > and2 > [DOUBLE1, s1, f]
[true, gt, plus2] > [0, false] > [DOUBLE1, s1, f]
[true, gt, plus2] > double1 > [DOUBLE1, s1, f]

Status:
DOUBLE1: [1]
s1: [1]
f: []
true: multiset
and2: [2,1]
gt: multiset
0: multiset
plus2: [1,2]
double1: [1]
false: multiset


The following usable rules [FROCOS05] were oriented:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

(9) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(10) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(11) TRUE

(12) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PLUS(n, s(m)) → PLUS(n, m)

The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(13) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(n, s(m)) → PLUS(n, m)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
PLUS(x1, x2)  =  PLUS(x2)
s(x1)  =  s(x1)
f(x1, x2, x3)  =  f
true  =  true
and(x1, x2)  =  and(x1, x2)
gt(x1, x2)  =  gt(x2)
0  =  0
plus(x1, x2)  =  plus(x1, x2)
double(x1)  =  double(x1)
false  =  false

Recursive path order with status [RPO].
Quasi-Precedence:
[true, and2, gt1, plus2] > [PLUS1, s1, f, 0, false]
double1 > [PLUS1, s1, f, 0, false]

Status:
PLUS1: multiset
s1: multiset
f: []
true: multiset
and2: [2,1]
gt1: [1]
0: multiset
plus2: [1,2]
double1: [1]
false: multiset


The following usable rules [FROCOS05] were oriented:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

(14) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(15) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(16) TRUE

(17) Obligation:

Q DP problem:
The TRS P consists of the following rules:

GT(s(u), s(v)) → GT(u, v)

The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(18) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


GT(s(u), s(v)) → GT(u, v)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
GT(x1, x2)  =  x1
s(x1)  =  s(x1)
f(x1, x2, x3)  =  f
true  =  true
and(x1, x2)  =  and(x1, x2)
gt(x1, x2)  =  gt
0  =  0
plus(x1, x2)  =  plus(x1, x2)
double(x1)  =  double(x1)
false  =  false

Recursive path order with status [RPO].
Quasi-Precedence:
and2 > false
gt > [f, true, 0] > s1
gt > false
plus2 > s1
double1 > [f, true, 0] > s1

Status:
s1: multiset
f: multiset
true: multiset
and2: multiset
gt: []
0: multiset
plus2: [2,1]
double1: [1]
false: multiset


The following usable rules [FROCOS05] were oriented:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

(19) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.

(20) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(21) TRUE

(22) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(true, x, y) → F(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))

The TRS R consists of the following rules:

f(true, x, y) → f(and(gt(x, y), gt(y, s(s(0)))), plus(s(0), x), double(y))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
and(x, true) → x
and(x, false) → false
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
double(0) → 0
double(s(x)) → s(s(double(x)))

The set Q consists of the following terms:

f(true, x0, x1)
gt(0, x0)
gt(s(x0), 0)
gt(s(x0), s(x1))
and(x0, true)
and(x0, false)
plus(x0, 0)
plus(x0, s(x1))
double(0)
double(s(x0))

We have to consider all minimal (P,Q,R)-chains.