YES (ignored inputs)COMMENT translated from Cops 105 *** Computating Strongly Quasi-Reducible Parts *** TRS: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Constructors: {0,s} Defined function symbols: {+} Constructor subsystem: [ ] Rule part & Conj Part: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] *** Ground Confluence Check by Rewriting Induction *** Sort: {Nat} Signature: [ + : Nat,Nat -> Nat, 0 : Nat, s : Nat -> Nat ] Rule Part: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)) ] Conjecture Part: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), +(?x,?y) = +(?y,?x) ] Precedence (by weight): {(+,3),(0,2),(s,0)} Rule part is confluent. R0 is ground confluent. Check conj part consists of inductive theorems of R0. Rules: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)) ] Conjectures: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), +(?x,?y) = +(?y,?x) ] STEP 0 ES: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), +(?x,?y) = +(?y,?x) ] HS: [ ] ES0: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), +(?x,?y) = +(?y,?x) ] HS0: [ ] ES1: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), +(?x,?y) = +(?y,?x) ] HS1: [ ] Expand +(?x,?y) = +(?y,?x) [ ?x_1 = +(0,?x_1), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2) ] ES2: [ ?x_1 = +(0,?x_1), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS2: [ +(?x,?y) -> +(?y,?x) ] STEP 1 ES: [ ?x_1 = +(0,?x_1), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS: [ +(?x,?y) -> +(?y,?x) ] ES0: [ ?x_1 = +(0,?x_1), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS0: [ +(?x,?y) -> +(?y,?x) ] ES1: [ ?x_1 = +(0,?x_1), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS1: [ +(?x,?y) -> +(?y,?x) ] Expand +(0,?x_1) = ?x_1 [ 0 = 0, s(+(0,?y_2)) = s(?y_2) ] ES2: [ 0 = 0, s(+(0,?y_2)) = s(?y_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2) ] HS2: [ +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] STEP 2 ES: [ 0 = 0, s(+(0,?y_2)) = s(?y_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2) ] HS: [ +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES0: [ 0 = 0, s(?y_2) = s(?y_2), +(+(?x,?y),?z) = +(?x,+(?y,?z)), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2) ] HS0: [ +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES1: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)), s(+(?x_2,?y_2)) = +(s(?y_2),?x_2) ] HS1: [ +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] Expand +(s(?y_2),?x_2) = s(+(?x_2,?y_2)) [ s(?y) = s(+(0,?y)), s(+(s(?y),?y_2)) = s(+(s(?y_2),?y)) ] ES2: [ s(?y) = s(+(0,?y)), s(+(s(?y),?y_2)) = s(+(s(?y_2),?y)), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS2: [ +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] STEP 3 ES: [ s(?y) = s(+(0,?y)), s(+(s(?y),?y_2)) = s(+(s(?y_2),?y)), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS: [ +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES0: [ s(?y) = s(?y), s(s(+(?y_2,?y))) = s(s(+(?y,?y_2))), +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS0: [ +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES1: [ +(+(?x,?y),?z) = +(?x,+(?y,?z)) ] HS1: [ +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] Expand +(+(?x,?y),?z) = +(?x,+(?y,?z)) [ +(?x_1,?z) = +(?x_1,+(0,?z)), +(s(+(?x_2,?y_2)),?z) = +(?x_2,+(s(?y_2),?z)) ] ES2: [ +(?x_1,?z) = +(?x_1,+(0,?z)), s(+(?z,+(?x_2,?y_2))) = +(?x_2,+(s(?y_2),?z)) ] HS2: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] STEP 4 ES: [ +(?x_1,?z) = +(?x_1,+(0,?z)), s(+(?z,+(?x_2,?y_2))) = +(?x_2,+(s(?y_2),?z)) ] HS: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES0: [ +(?x_1,?z) = +(?x_1,?z), s(+(?z,+(?x_2,?y_2))) = s(+(?x_2,+(?z,?y_2))) ] HS0: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES1: [ s(+(?z,+(?x_2,?y_2))) = s(+(?x_2,+(?z,?y_2))) ] HS1: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] Expand s(+(?z,+(?x_2,?y_2))) = s(+(?x_2,+(?z,?y_2))) [ s(+(?z,?x_3)) = s(+(?x_3,+(?z,0))), s(+(?z,s(+(?x_4,?y_4)))) = s(+(?x_4,+(?z,s(?y_4)))) ] ES2: [ s(+(?z,?x_3)) = s(+(?x_3,+(?z,0))), s(s(+(?z,+(?x_4,?y_4)))) = s(+(?x_4,+(?z,s(?y_4)))) ] HS2: [ s(+(?z,+(?x_2,?y_2))) -> s(+(?x_2,+(?z,?y_2))), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] STEP 5 ES: [ s(+(?z,?x_3)) = s(+(?x_3,+(?z,0))), s(s(+(?z,+(?x_4,?y_4)))) = s(+(?x_4,+(?z,s(?y_4)))) ] HS: [ s(+(?z,+(?x_2,?y_2))) -> s(+(?x_2,+(?z,?y_2))), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES0: [ s(+(?z,?x_3)) = s(+(?x_3,?z)), s(s(+(?z,+(?x_4,?y_4)))) = s(s(+(?x_4,+(?z,?y_4)))) ] HS0: [ s(+(?z,+(?x_2,?y_2))) -> s(+(?x_2,+(?z,?y_2))), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] ES1: [ ] HS1: [ s(+(?z,+(?x_2,?y_2))) -> s(+(?x_2,+(?z,?y_2))), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(s(?y_2),?x_2) -> s(+(?x_2,?y_2)), +(0,?x_1) -> ?x_1, +(?x,?y) -> +(?y,?x) ] Conj part consisits of inductive theorems of R0. examples/fromCops/cr/105.trs: Success(GCR) (8 msec.)