(ignored inputs)COMMENT addition + commutative law
Rewrite Rules:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)),
+(?x,?y) -> +(?y,?x) ]
Apply Direct Methods...
Inner CPs:
[ ]
Outer CPs:
[ ?x = +(0,?x),
s(+(?x_1,?y_1)) = +(s(?y_1),?x_1) ]
Overlay, check Innermost Termination...
unknown Innermost Terminating
unknown Knuth&Bendix
Linear
unknown Development Closed
unknown Strongly Closed
unknown Upside-Parallel-Closed/Outside-Closed
(inner) Parallel CPs: (not computed)
unknown Toyama (Parallel CPs)
Simultaneous CPs:
[ s(+(?x,?y_2)) = +(s(?y_2),?x),
?x = +(0,?x),
+(s(?y),?x) = s(+(?x,?y)),
+(0,?x) = ?x ]
unknown Okui (Simultaneous CPs)
unknown Strongly Depth-Preserving & Non-E-Overlapping
check Locally Decreasing Diagrams by Rule Labelling...
Critical Pair <+(0,?x_2), ?x_2> by Rules <2, 0> preceded by []
joinable by a reduction of rules <[([],2),([],0)], []>
Critical Pair <+(s(?y_1),?x_2), s(+(?x_2,?y_1))> by Rules <2, 1> preceded by []
joinable by a reduction of rules <[([],2),([],1)], []>
unknown Diagram Decreasing
check by Reduction-Preserving Completion...
STEP: 1 (parallel)
S:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)) ]
P:
[ +(?x,?y) -> +(?y,?x) ]
S: terminating
CP(S,S):
PCP_in(symP,S):
CP(S,symP):
--> => no
~~ --> ~~~~ => no
check joinability condition:
check modulo reachablity from ?x to +(0,?x): maybe not reachable
check modulo reachablity from s(+(?x,?y)) to +(s(?y),?x): maybe not reachable
failed
failure(Step 1)
[ +(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
Added S-Rules:
[ +(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
Added P-Rules:
[ ]
replace: +(?x,s(?y)) -> s(+(?x,?y)) => +(?x,s(?y)) -> s(+(?y,?x))
STEP: 2 (linear)
S:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)) ]
P:
[ +(?x,?y) -> +(?y,?x) ]
S: terminating
CP(S,S):
CP_in(symP,S):
CP(S,symP):
--> => no
~~~~ --> ~~~~ => no
check joinability condition:
check modulo reachablity from ?x to +(0,?x): maybe not reachable
check modulo reachablity from s(+(?x,?y)) to +(s(?y),?x): maybe not reachable
failed
failure(Step 2)
[ +(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
Added S-Rules:
[ +(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
Added P-Rules:
[ ]
replace: +(?x,s(?y)) -> s(+(?x,?y)) => +(?x,s(?y)) -> s(+(?y,?x))
STEP: 3 (relative)
S:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)) ]
P:
[ +(?x,?y) -> +(?y,?x) ]
Check relative termination:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)) ]
[ +(?x,?y) -> +(?y,?x) ]
Polynomial Interpretation:
+:= (1)+(2)*x1*x1+(1)*x1*x2+(2)*x2*x2
0:= (8)
s:= (1)*x1
retract +(?x,0) -> ?x
Polynomial Interpretation:
+:= (2)*x1*x1+(1)*x1*x2+(2)*x2*x2
0:= 0
s:= (4)+(1)*x1
relatively terminating
S/P: relatively terminating
check CP condition:
failed
failure(Step 3)
STEP: 4 (parallel)
S:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)),
+(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
P:
[ +(?x,?y) -> +(?y,?x) ]
S: terminating
CP(S,S):
~~~~ --> ~~~~ => yes
<0, 0> --> <0, 0> => yes
~~~~ --> ~~~~ => yes
~~~~ --> ~~~~ => yes
PCP_in(symP,S):
CP(S,symP):
--> => yes
~~~~ --> ~~~~ => yes
~~~~ --> ~~~~ => yes
--> => yes
S:
[ +(?x,0) -> ?x,
+(?x,s(?y)) -> s(+(?x,?y)),
+(s(?y),?x) -> s(+(?x,?y)),
+(0,?x) -> ?x ]
P:
[ +(?x,?y) -> +(?y,?x) ]
Success
Reduction-Preserving Completion
Direct Methods: CR
Final result: CR
/local-scratch/hzankl/2012/cops2012/106.trs: Success(CR)
(118 msec.)
~~