| eq#( s( x ) , s( y ) ) | → | eq#( x , y ) |
| union#( edge( x , y , i ) , h ) | → | union#( i , h ) |
| reach#( x , y , edge( u , v , i ) , h ) | → | if_reach_1#( eq( x , u ) , x , y , edge( u , v , i ) , h ) |
| reach#( x , y , edge( u , v , i ) , h ) | → | eq#( x , u ) |
| if_reach_1#( true , x , y , edge( u , v , i ) , h ) | → | if_reach_2#( eq( y , v ) , x , y , edge( u , v , i ) , h ) |
| if_reach_1#( true , x , y , edge( u , v , i ) , h ) | → | eq#( y , v ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | or#( reach( x , y , i , h ) , reach( v , y , union( i , h ) , empty ) ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , h ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | reach#( v , y , union( i , h ) , empty ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | union#( i , h ) |
| if_reach_1#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , edge( u , v , h ) ) |
The dependency pairs are split into 3 component(s).
| reach#( x , y , edge( u , v , i ) , h ) | → | if_reach_1#( eq( x , u ) , x , y , edge( u , v , i ) , h ) |
| if_reach_1#( true , x , y , edge( u , v , i ) , h ) | → | if_reach_2#( eq( y , v ) , x , y , edge( u , v , i ) , h ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , h ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | reach#( v , y , union( i , h ) , empty ) |
| if_reach_1#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , edge( u , v , h ) ) |
Linear polynomial interpretation over the naturals
| [union (x1, x2) ] | = | x1 + x2 | |
| [if_reach_2 (x1, ..., x5) ] | = | 0 | |
| [if_reach_1 (x1, ..., x5) ] | = | 0 | |
| [or (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [0] | = | 0 | |
| [empty] | = | 1 | |
| [reach (x1, ..., x4) ] | = | 0 | |
| [true] | = | 0 | |
| [edge (x1, x2, x3) ] | = | x1 + 1 | |
| [if_reach_2# (x1, ..., x5) ] | = | x1 + x2 | |
| [false] | = | 0 | |
| [reach# (x1, ..., x4) ] | = | x1 + x2 | |
| [s (x1) ] | = | 0 | |
| [if_reach_1# (x1, ..., x5) ] | = | x1 + x2 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| reach#( x , y , edge( u , v , i ) , h ) | → | if_reach_1#( eq( x , u ) , x , y , edge( u , v , i ) , h ) |
| if_reach_1#( true , x , y , edge( u , v , i ) , h ) | → | if_reach_2#( eq( y , v ) , x , y , edge( u , v , i ) , h ) |
| if_reach_2#( false , x , y , edge( u , v , i ) , h ) | → | reach#( v , y , union( i , h ) , empty ) |
| if_reach_1#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , edge( u , v , h ) ) |
Linear polynomial interpretation over the naturals
| [union (x1, x2) ] | = | x1 + x2 | |
| [if_reach_2 (x1, ..., x5) ] | = | 0 | |
| [if_reach_1 (x1, ..., x5) ] | = | 0 | |
| [or (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [0] | = | 0 | |
| [empty] | = | 0 | |
| [reach (x1, ..., x4) ] | = | 0 | |
| [true] | = | 0 | |
| [edge (x1, x2, x3) ] | = | x1 + 1 | |
| [if_reach_2# (x1, ..., x5) ] | = | x1 + x2 | |
| [false] | = | 0 | |
| [reach# (x1, ..., x4) ] | = | x1 + x2 | |
| [s (x1) ] | = | 0 | |
| [if_reach_1# (x1, ..., x5) ] | = | x1 + x2 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| reach#( x , y , edge( u , v , i ) , h ) | → | if_reach_1#( eq( x , u ) , x , y , edge( u , v , i ) , h ) |
| if_reach_1#( true , x , y , edge( u , v , i ) , h ) | → | if_reach_2#( eq( y , v ) , x , y , edge( u , v , i ) , h ) |
| if_reach_1#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , edge( u , v , h ) ) |
The dependency pairs are split into 1 component(s).
| if_reach_1#( false , x , y , edge( u , v , i ) , h ) | → | reach#( x , y , i , edge( u , v , h ) ) |
| reach#( x , y , edge( u , v , i ) , h ) | → | if_reach_1#( eq( x , u ) , x , y , edge( u , v , i ) , h ) |
Linear polynomial interpretation over the naturals
| [union (x1, x2) ] | = | x1 + 2 x2 | |
| [if_reach_2 (x1, ..., x5) ] | = | 0 | |
| [if_reach_1 (x1, ..., x5) ] | = | 0 | |
| [or (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 1 | |
| [0] | = | 0 | |
| [empty] | = | 0 | |
| [reach (x1, ..., x4) ] | = | 0 | |
| [true] | = | 0 | |
| [edge (x1, x2, x3) ] | = | x1 + 1 | |
| [false] | = | 0 | |
| [reach# (x1, ..., x4) ] | = | 2 x1 + 1 | |
| [s (x1) ] | = | 0 | |
| [if_reach_1# (x1, ..., x5) ] | = | 2 x1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| eq#( s( x ) , s( y ) ) | → | eq#( x , y ) |
Linear polynomial interpretation over the naturals
| [union (x1, x2) ] | = | 2 x1 + 2 x2 | |
| [if_reach_2 (x1, ..., x5) ] | = | 0 | |
| [if_reach_1 (x1, ..., x5) ] | = | 0 | |
| [or (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 0 | |
| [0] | = | 0 | |
| [eq# (x1, x2) ] | = | x1 | |
| [empty] | = | 0 | |
| [reach (x1, ..., x4) ] | = | 0 | |
| [true] | = | 0 | |
| [edge (x1, x2, x3) ] | = | x1 | |
| [false] | = | 0 | |
| [s (x1) ] | = | 2 x1 + 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.
| union#( edge( x , y , i ) , h ) | → | union#( i , h ) |
Linear polynomial interpretation over the naturals
| [union (x1, x2) ] | = | 3 x1 + x2 | |
| [if_reach_2 (x1, ..., x5) ] | = | 0 | |
| [if_reach_1 (x1, ..., x5) ] | = | 0 | |
| [or (x1, x2) ] | = | 2 x1 | |
| [eq (x1, x2) ] | = | 3 x1 | |
| [0] | = | 0 | |
| [empty] | = | 0 | |
| [reach (x1, ..., x4) ] | = | 0 | |
| [union# (x1, x2) ] | = | 2 x1 | |
| [true] | = | 0 | |
| [edge (x1, x2, x3) ] | = | 2 x1 + 3 x2 + x3 + 2 | |
| [false] | = | 0 | |
| [s (x1) ] | = | 2 x1 + 1 | |
| [f(x1, ..., xn)] | = | x1 + ... + xn + 1 | for all other symbols f of arity n |
| none |
All dependency pairs have been removed.